1 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 10:48:30 ] 最強のLL=軽量プログラム言語は、どれよ? エントリーは、 Perl、PHP、Python、Ruby、JavaScript・・・ さあ、死ぬまで語りやがれ!!! ■LLとは? 軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、 コードの作成や修正が容易と見なされるプログラミング言語のことを指す。 ここでいう「軽さ」はプログラマの負担の軽重を指し、 実行速度に優れているという意味ではない。 現在の水準では ・インタプリタ ・動的型 ・正規表現 ・関数オブジェクト などを利用できるものがLLと呼ばれることが多い。(Wikipediaより) ■過去スレ 【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】 pc12.2ch.net/test/read.cgi/tech/1238720336/ 【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】 pc12.2ch.net/test/read.cgi/tech/1234635513/ 【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1215319832/ 【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1209289408/ 【Perl,PHP】LLバトルロワイヤル【Ruby,Python】 pc11.2ch.net/test/read.cgi/tech/1188997302/
809 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 01:29:20 ] 安定しているからだよ。 言語仕様も、埋め込みや拡張に使うCのAPIも、Pythonは Rubyよりもバージョン間の互換性に気を遣っているし、 バージョン間で動作が異なる場合もできるだけ以降を支援する。 書くときの気持ちよさはRubyが上でも、書きやすさは大して差が無く、 読みやすさ・メンテのしやすさ・バージョンアップへの対応しやすさは 圧倒的にPythonが上だもん。 書くときの気持ちよさも、PythonがあえてRubyのような書き方を採用しない 合理主義を理解するとRubyがアホらしくなるし。
810 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 01:55:30 ] >>809 なんか、今までの中で一番納得
811 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 02:19:53 ] ウェブの発達って、何も変わってないジャン。HTTPもHTMLも10年前も今も変わってないんだから。 Ruby(=Rails)が一時期流行ったのは、Web2.0とかのしょうもないドットコムバブルの再来願望に乗っかっただけだろ。
812 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 02:23:30 ] なんもわかってないな
813 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 02:23:35 ] HTML ver5も出るし、何も変わってないわけじゃーないけどね Ajaxもあるし、
814 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 02:42:14 ] HTML5だろうがXHTMLだろうが、サーバ側の言語から見れば何の違いもないから。Ajaxは最後のアウトプットがHTMLからJSONだとかXMLだとかに変わっただけ。
815 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 02:49:02 ] つまり、開発側も変わってるし ユーザー側が見るものも変わってるって言ってるんだろそれ?
816 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 04:21:34 ] >>804 $ cat test01.py class MyClass: def __len__(self): return 'Hello' obj = MyClass() print obj.__len__() print len(obj) $ python test01.py Hello Traceback (most recent call last): File "test02.py", line 6, in <module> print len(obj) TypeError: __len__() should return an int
817 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 06:56:43 ] >>809 >書くときの気持ちよさはRubyが上でも、書きやすさは大して差が無く、 >読みやすさ・メンテのしやすさ・バージョンアップへの対応しやすさは >圧倒的にPythonが上だもん。 そんなことないけどなあ。両方使った素直な感想として。 おまえ、Pythonしかろくに使ったことないだろ。 Pythonのほうが読みやすくてメンテのしやすいという具体的な例を出してみな。
818 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 07:21:32 ] Pythonを使ってる人にとって、Perlの亜流は不要という。
819 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 07:38:44 ] >>817 Pythonの方が、メソッドチェーンみたいな一行にゴチャゴチャ詰め込む文を 誰も使わない。a = b は必ず a に b を代入しているのでbが関数かどうか 調べなくて良い。名前空間が大事にされているので、何かの require したら 勝手に既存の型にメソッドが追加されてしかもそのメソッドがどのrequireから 持ち込まれたのか判らないって事がない。 Rubyでも判りやすく書けるとかじゃなくて、Pythonは判りやすく書く方法が 文化として定着しているため、ワザと読みにくくされていない限り誰のコード でも読みやすい。
820 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 07:43:30 ] => が嫌い
821 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 08:17:18 ] Rubyからすると self.__ のせいでどうしても長くなりがち メソッドチェーンを使わないんじゃなくて長くなるので使えないと見えてしまう 最後の2行は、Rubyもそうだと思うが 「○○でも判りやすく書ける」なんて言葉、Perlでぐらいしか聞かない
822 名前:デフォルトの名無しさん [2009/07/22(水) 08:23:34 ] おまいら、Lispを忘れてませんか?
823 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 12:09:37 ] LispはLispで需要があるからいいの。 新たなパラダイムが生まれても、自分で実装できるし
824 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 13:04:43 ] Lispはなんか別格だよね
825 名前:デフォルトの名無しさん [2009/07/22(水) 13:16:00 ] 別格はforth
826 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 13:23:54 ] Lispネタは前も出たけど、あまり盛り上がらなかった。
827 名前:デフォルトの名無しさん [2009/07/22(水) 13:35:24 ] Lisp系言語が活用されてるのって、Emacs Lispくらいしか思いつかない。 Lisp製の有名アプリなんてとんと聞かないし。 あとは研究用の教材くらいかなあ。
828 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 13:36:44 ] AutoCAD を知らんのか
829 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 13:45:56 ] マイクロソフトのエイジオブエンパイアは NPCの作成言語にlispを使っていたと思ったが
830 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 14:00:38 ] 一方Civilization4はPythonを使った ・・・いやあれはまあUI絡みの部分が多いがな
831 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 14:46:48 ] LLがLispのLか
832 名前:デフォルトの名無しさん [2009/07/22(水) 14:57:39 ] >>827 GIMPのAddinはLispでは?
833 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 16:01:15 ] 単に 827 の無知でした (^-^)
834 名前:デフォルトの名無しさん [2009/07/22(水) 16:25:30 ] まあ、応用例がしょぼいのは否めないが。 PHP -> ウェブデファクトスタンダード Python -> Google 社内デフォルト Ruby -> Ruby on Rails Perl -> CGI の権威 Lisp -> AoE の NPC 作成言語
835 名前:デフォルトの名無しさん [2009/07/22(水) 16:30:01 ] >>834 恥ずかしくないか?
836 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 16:35:41 ] むしろ俺の中でPerl/CGIは Perlの印象もCGIの印象も悪くしたイメージしかない
837 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 16:37:19 ] I think so.
838 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 16:40:05 ] WebでのJavaScriptと同じ現象?
839 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 17:25:21 ] いや、どちらかというとラーメン屋に置いてある漫画本と同じ現象。
840 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 17:37:45 ] >>819 >Pythonの方が、メソッドチェーンみたいな一行にゴチャゴチャ詰め込む文を >誰も使わない。 べつに1行でもいいんじゃない?読みやすければ。 Rubyは1行で書いても十分読みやすいよ。 それにPythonだって内包表記だっけ?あれ使って1行にごちゃごちゃ書いちゃうじゃん。 > a = b は必ず a に b を代入しているのでbが関数かどうか >調べなくて良い。 これは意味分かんない。だれか解説して。 > 名前空間が大事にされているので、何かの require したら >勝手に既存の型にメソッドが追加されてしかもそのメソッドがどのrequireから >持ち込まれたのか判らないって事がない。 これは善し悪し。スタイルの違いだけ。 オープンクラスを思いっきり利用したほうが便利なことも多いことはRubyを使えばわかるんだけど、 それがわかってないみたいだからこいつはRubyをちょろっとかじっただけみたいだな。 >Rubyでも判りやすく書けるとかじゃなくて、Pythonは判りやすく書く方法が >文化として定着しているため、ワザと読みにくくされていない限り誰のコード >でも読みやすい。 べつにRubyでもほかの言語でも同じだと思うけど。なんでPythonだけが特別だと思うんだろう。
841 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 17:44:03 ] 俺を怒らせたね?
842 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:06:32 ] >>840 おそらく自前で関数を書いたり他人の書いたスクリプトのメンテやったことないのかと 全部判ってるって状態での開発?そんな楽な職場あるんだったら就職したいわぁ
843 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:11:30 ] 趣味でも仕事でも使える素敵な言語 それは ↓
844 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:11:57 ] C++
845 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:34:22 ] ウェブの場合、コンテンツが大事なんであって、どんな言語使おうとコンテンツに影響はないんだよな。 結局HTMLを吐くだけだから。 だから、PHPみたいな明らかなウンコ言語が一番普及してる。
846 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:35:19 ] RubyはPythonに比べて汚くて見づらいねって話だろ?そりゃそうだろ。
847 名前:デフォルトの名無しさん [2009/07/22(水) 18:37:39 ] スタイルだけならアセンブラが一番キレイ
848 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:45:50 ] しかし、HTMLにコードを埋め込めるのが売りだったはずのPHPで、 それを全否定するかのようなフレームワークが主流になっているのが、どうしても理解できない。 テンプレートすらPHP的な書き方じゃないのが主流になってるし。 それなら結局Webでも言語関係無くない?と思うんだけど、PHP信者の意見を聞きたいわ。
849 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:46:23 ] >>845 「○○の場合、××が大事なんであって、どんな△△使おうと××に影響はないんだよな。」 これコピペパターンに登録しとくか。
850 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:52:09 ] >>848 言語的な扱いよりも環境作りやすい、移植しやすいとかそういう用途を優先してるんじゃね?
851 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:53:17 ] >>848 HTMLにPHPコード直書きだと 触れないって怒る自称Webクリエイターがいるから だからプログラマーもそれじゃ触らせないよってことになって今の状態
852 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:54:41 ] >>848 MVC
853 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 18:57:30 ] >>849 詭弁のガイドラインですね >>845 はいいこといってるんだけどなぁ
854 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:00:43 ] RubyとPythonで読みやすさ論争やっても宗教論争にしかならないけど、 言語仕様の安定性は普及度の違いにかなり影響してそうだな。 後は英語の一次情報充実度合いとか。
855 名前:デフォルトの名無しさん [2009/07/22(水) 19:00:52 ] >>848 俺もフレワ開発してるが、ある程度の規模になると PHP のコード埋め込みなんか大して使えん というかまず使わない。ほぼ <?php の中で echo だわ。無理に埋め込み式にすると 色んな言語触ってる奴はスタイル的に違和感覚えるしそれほどメリットがあるわけでもない。 テンプレートはある程度内容を制御できるのとキャッシュとか細かい機能があるから 結局はSmartyみたいなエンジン使う。だから言語機能としてPHPである必要はない。 それでもPHPを使うのは普及度が高くてデプロイに手間がかかることが少ない、 ウェブに特化した関数やらライブラリやらが充実しててそこそこ保守されてる、 そこそこ性能も悪くない、情報もそこそこある、 など積極的にというより無難さによるところが大きい。 欠陥は多いが、かといってわざわざ乗り換えるほどのスクリプト言語もない。
856 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:01:32 ] >>853 そうか? > コンテンツが大事なんであって、どんな言語使おうとコンテンツに影響はない と > だから、PHPみたいな明らかなウンコ言語が一番普及 の間に何の論理的な繋がりもないぞ。 何が「だから、」なんだか。
857 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:02:33 ] >>849 登録してもいいと思うけど、それって単に物事の切り込み方としての定番であって、 成り立っていれば有効、成り立っていなければ無効、っていうごく普通の話だよ。
858 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:04:01 ] >>855 極端な話、Smartyを使うためにPHPを使うという逆転が起こってても不思議はないかもね。 他の言語のテンプレートエンジンって、露骨に不便なの多くね?
859 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:17:43 ] > コンテンツが大事なんであって、どんな言語使おうとコンテンツに影響はない と > だから、PHPみたいな明らかなウンコ言語が一番普及 は矛盾しないってことが言えるだけ
860 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:45:31 ] Web開発で何を選んでも同じだから、単価の安いPHPを使うってだけだな。
861 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 19:59:34 ] >>842 Rails使ってるけど、Railsなんて既存のクラスに大量のメソッドを追加している。 でもそれが便利だから、世界中のみんなが喜んで使ってるし、別に困ってない。 なんかPythonのやり方しか知らないやつが他の言語を批判してるだけじゃん。
862 名前:デフォルトの名無しさん [2009/07/22(水) 20:57:38 ] コンテンツ云々の方々は>>1 を100回読むべき >ここでいう「軽さ」はプログラマの負担の軽重を指し、
863 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:12:06 ] >>861 大量に作って、大量に捨ててるんじゃないの? >rails
864 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:19:41 ] Railsの互換性のなさは数年後、地獄を迎える
865 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:19:44 ] 最初に書くのは楽でも、山ほどテストコード書かなきゃならないのなら、 プログラマの負担が軽いとは言えないのでは?
866 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:22:34 ] >>864 そのうち収束するんじゃないの?
867 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:24:33 ] >>865 Javaで書いたからってテストコードの量が減る訳でもないんじゃないか
868 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 21:25:22 ] PHPの関数名の節操の無さも限界越えてるけどな
869 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 22:35:46 ] 実際に使ってる奴がいるからとかいう世俗的な話には興味ないな。 純粋に言語の仕様で戦って欲しい。 それが新しい言語の礎となる。
870 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 22:41:25 ] 世俗的を排除すると、究極的には 0 とかでいいじゃん。0がすべて。0以外は必要ない。 この言語が出来ること、言語の目的は、0の存在を示すこと。
871 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:00:56 ] 最近のアイちゃんは本当に賢いな
872 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:05:42 ] 言語の進化って書き手が楽になるようにとか、保守性あげようとかでしょ? 何が必要なんでしょうね
873 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 23:10:45 ] >>827 >あとは研究用の教材くらいかなあ。 Maximaとか?
874 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:24:53 ] >>863 ,864 話をそらすな。 Pythonは名前空間を大事にしているけどRubyはそうじゃないからRubyよりPythonのほうが 優れている、という主張に対する反論なんだから、Railsの互換性の話とかは今は関係ないだろ。 もとの話はこれ↓ >>840 >> 名前空間が大事にされているので、何かの require したら >>勝手に既存の型にメソッドが追加されてしかもそのメソッドがどのrequireから >>持ち込まれたのか判らないって事がない。 >これは善し悪し。スタイルの違いだけ。 >オープンクラスを思いっきり利用したほうが便利なことも多いことはRubyを使えばわかるんだけど、 >それがわかってないみたいだからこいつはRubyをちょろっとかじっただけみたいだな。
875 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:28:41 ] で、これって結局どうなった? >>840 >>Pythonの方が、メソッドチェーンみたいな一行にゴチャゴチャ詰め込む文を >>誰も使わない。 >べつに1行でもいいんじゃない?読みやすければ。 >Rubyは1行で書いても十分読みやすいよ。 >それにPythonだって内包表記だっけ?あれ使って1行にごちゃごちゃ書いちゃうじゃん。 Pythonでも内包表記つかえばRubyみたいにごちゃごちゃして読みにくい? それともPythonなら1行にごちゃごちゃかいてもRubyより読みやすい?
876 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 08:32:30 ] >オープンクラスを思いっきり利用したほうが便利なことも多いことはRubyを使えばわかるんだけど、 Railsの互換性の話とかは関係あるだろ
877 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:51:56 ] >>875 Pythonでは普通内包表記を使うことですっきり書き下せるときだけ 内包表記を使うから、複数の文に分けた方が判りやすい文を ゴチャゴチャ詰め込んでるの見たこと無いよ。 Rubyは書くときの楽しさ、Pythonはすっきりさ重視。
878 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:56:02 ] ┐(´д`)┌
879 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 09:56:28 ] >>876 Python系のバージョン間の互換性を大切にする文化は、 名前空間を大事にしているから可能って部分あるよね。 urllib がダメになったら urllib2 作ったりw で、Deprecation Warningを消せた人のみPy3kにアップグレード可能
880 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 10:28:30 ] Python++がほしいなあ。
881 名前:デフォルトの名無しさん [2009/07/23(木) 11:51:34 ] Rubyってなんで楽しいの?
882 名前:デフォルトの名無しさん [2009/07/23(木) 11:59:43 ] 楽しくはないんだけど、 言語仕様の貧弱さを「楽しさ」という曖昧な要素で補うPR戦略を取ったところ、 いつのまにか既成事実化してしまい、それに乗せられたユーザーが残って共同幻想を形成している。 というのが最新の分析。
883 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:01:04 ] 足りないものは自分で作れっていう死ね
884 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 12:39:59 ] Rubyは楽しくないと言うと 周囲に「分かっていないなぁ」と馬鹿にされるので 「楽しいです」と言ってます
885 名前:デフォルトの名無しさん [2009/07/23(木) 12:45:04 ] >>884 Rubyの「楽しい楽しい詐欺」は非常に巧妙に日本人的なユーザー心理を突くんだよね。 周りがそういってるからなんとなく、みたいな。 10人Rubyが楽しいという人がいたら、そのうち8,9人は884みたいな人だと言ってもいい。 ある意味PR戦略としては高く評価できる。
886 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 13:02:47 ] >>840 Rubyのメソッドチェーンで読みにくいと思ったことはないんだけど、具体的に どんなコードで読みにくいと思ったの?
887 名前:デフォルトの名無しさん [2009/07/23(木) 13:04:12 ] おまいら パイチョンの日本語処理はどんな具合ですか?
888 名前:デフォルトの名無しさん mailto:sage [2009/07/23(木) 13:24:54 ] 衆議院議員をめざしている人が、 本当のところどう思っているのか、 きいてみよう。 ttp://moderator.appspot.com/?hl=ja#16/e=9df89 "名前を連呼するだけの選挙宣伝カーを、「スパム認定」して禁止しませんか?" Lambda