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/
616 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:22:39 ] >>596 もうなんとか用の言語って時代じゃないだろ。もう役目を終えたよ、Perlは。
617 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:23:32 ] >>615 それは別の話ってのに異存ないが、まあ今はコンテキストの話なので、 その気持ち悪さが問題になってるんじゃね?
618 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:31:40 ] @$$#tmp
619 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:44:38 ] 使い捨て言語で君も使い捨てに!
620 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:50:10 ] >>615 >@a{keys} # ハッシュのスライス = リスト これが有効に使えるときなんかあるの?
621 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:53:09 ] >>616 DSLがどうこうという時代なんだが?
622 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:53:15 ] >>607 >$や@を使うのは、ハンガリアン記法要らずで、分かりやすく便利。 使うデータが文字列と配列とハッシュだけだった時代ならそれでもいいけど オブジェクト指向が一般的になった現在において、この仕様はクソだよ。 それがわからないPerlerが不憫でしょうがない。
623 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 08:59:08 ] >>622 しょうがないだろ。アヒルのように最初に覚えた言語をry
624 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:49:36 ] >>598 話がぜんぜん違う方向に進んだね。 もとの話は$var[]が配列の要素を返し、@var[..]は配列の範囲を返すのが、いけてないしわかりにくという話だったんだけど。 別にこんなことで@varと$varを使い分ける必要なんかなく、どっちも@var[]でできるようにすれば 誰にもわかりやすいのに、Perlはそうなってないから変だよねという話が、 いつのまになんで範囲指定の方法の話になっちゃったんだろう。
625 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:49:19 ] とりあえず、 配列の要素をスカラーとして取り出す方法と、 そのスカラー1個だけを要素とする配列を作る(スライスする)方法は 別々に用意した方が言語仕様的にはいいんじゃないのか?
626 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 10:51:58 ] Python なら、 a = range(5) # [0,1,2,3,4] b = a[3] # 3 c = a[3:4] # [3]
627 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:00:22 ] d = a[slice(3, 4)] # [3]
628 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:29:15 ] >>620 ハッシュに代入するとき役に立つ。
629 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:39:31 ] >>620 ハッシュから複数の値を取り出すときに使う
630 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 11:41:12 ] # Ruby a = (0..4).to_a # [0,1,2,3,4] a = (0...5).to_a # [0,1,2,3,4] p a[3] # 3 p a[3..3] # [3] p a[3...4] # [3] p a[3,1] # [3] p a[-2] # 3 p a[-2..-2] # [3] p a[-2...-1] # [3] p a[-2,1] # [3]
631 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:06:17 ] >>628 kwsk
632 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:20:37 ] 急に書き込みが増えたねw
633 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 13:41:07 ] >>630 なにそれこわい
634 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 14:47:45 ] どの言語であれ、配列をスライスする処理なんか、一年に一度も書かないが。
635 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:17:31 ] >>631 @names = ("Alica", "Bob", "Chris") @ages{@names} = (28, 31, 72); $ages{"Alice"} == 28
636 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:31:54 ] 何故にアリカ?
637 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 15:51:53 ] @names = ("Alica", "Bob", "Chris"); @ages{@names} = (28, 31, 72); print %ages; @ages{'Chris','Bob'} = (34, 37); print %ages; Bob31Chris72Alica28Bob37Chris34Alica28
638 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 18:30:03 ] >>637 なるほど。勉強になった。 機会はなかなかなさそうだけど、 使い道はちゃんとあるんだな。
639 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:46:22 ] >>622 どんなにオブジェクト指向を強くしたところで、プリミティブ型や配列型のないプログラミングなどあり得ない。 スカラ変数とリファレンスを分けるシジルがあればより便利だということに過ぎない。何もないよりずっといい。 >>610 の$tmp_mapは%tmp_mapの間違いだが、これはPerlであればコンパイルエラーを起こすので、未然にバグを防げる。
640 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:02:44 ] 記号の付け間違いなんてバグは、その仕様がなかったらそもそも起こらないだろ
641 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:04:26 ] 配列にアクセスしているつもりが、その変数はハッシュだったということ。誰にでもよくあるミス。
642 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:26:05 ] >637を見て、 「さすがPerl、記述性が高い」と感じるのがperler。 「滅多に書かない記述の為に文法が歪められてる」と感じるのが一般人。
643 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:32:01 ] >>642 Pythonistaは、Pythonではどうするか考える。 names = "Alica Bob Chris".split() ages = dict(zip(names, (28, 31, 72))) print ages ages.update(Chris=34, Bob=37) print ages
644 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:59:35 ] ハッシュのスライスって初めて聞いたがそんなのあったんだな。 ただ、スライスのイメージとちょっと違うな。ハッシュの範囲指定だと、キーがある正規表現にマッチする集合とかならわかるけど。
645 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:40:06 ] >>644 %h = ('hoge'=>1, 'page'=>2, 'moga'=>3, 'guge'=>4); @a = @h{grep {/ge/} keys(%h)}; まさにそういう事をしやすくするためにPerlは柔軟なリストなわけで。 まあ、高尚な原理や理論より便利(っぽ)さ上等
646 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:09:14 ] >>645 結果もハッシュで欲しいならこうかな my %h2; my @keys; @h2{@keys} = @h{@keys=grep{/ge/}keys(%h)}; まあなんだ。面白いんだが、こういったことをやりすぎると 読みにくくなるのは否めないという
647 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:13:35 ] ttp://anond.hatelabo.jp/20090617130518
648 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:27:08 ] 10 == "0x0A" がtrueで "0x0A" == 10 がfalseになるスクリプト言語はありだと思う
649 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:29:07 ] >>647 これが「コンテキスト」の上を行く「場当たり」って奴か 勉強になるな〜
650 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:34:05 ] この8進数はねぇよ・・・ でも、PHPのこのいい加減な解釈ってずいぶんお世話になってるなぁ自分
651 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:44:46 ] var_dumpで出るのは格納してる型であって、==で比較される時に自動で解釈されるんだよな
652 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:48:25 ] >>648 問題は常にそう解釈されるのでは無く PHP自身がどのようにコンパイルされたか という環境によって動作が異なることに在る
653 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:48:40 ] 不安なときは===を使えというのがPHPとJSのお約束
654 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:14:51 ] 多言語だと軽くスルーできるMap/Vectorの話でこんなに混乱してるってのは結局便利じゃねーん だろうなって思うw
655 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:34:37 ] codezine.jp/article/detail/4065
656 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:39:24 ] 配列のスライスがあるんだから、ハッシュのスライスもあるだろうと思うのは自然なことだろ。
657 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:15:49 ] >>656 似たようなことができるようになってるだけで、 根本的には概念が違う気がする。 リストの2〜3番目に、10要素を代入するとかできるからスライスってのが便利なわけで。
658 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 03:34:55 ] >>639 >どんなにオブジェクト指向を強くしたところで、プリミティブ型や配列型のないプログラミングなどあり得ない。 >スカラ変数とリファレンスを分けるシジルがあればより便利だということに過ぎない。何もないよりずっといい。 何をいいたいのかまるでわからない。プリミティブ型や配列型を排除しろとは誰も言ってないし、うーん。 @tmpがリスト、%tmpがハッシュ、で、それ以外のデータ構造を使ったら$tmp 。 べつに、ぜんぶ$tmpで統一してくれていいんだけど。 >>>610 の$tmp_mapは%tmp_mapの間違いだが、これはPerlであればコンパイルエラーを起こすので、未然にバグを防げる。 これもなにがどうエラーになるのか不明なので、解説よろしく。 つーか、もちっとわかりやすい文章書こうぜ。Perlerだから仕方ないけど。
659 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 03:38:10 ] JSON
660 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 04:49:21 ] >>657 部分集合の操作が近いかもね。 perlのハッシュスライスの書式は座標が直感的に使えるからか、 概念増やすのが面倒で配列スライスに似せたのかのどちらかのように思う。 perl my %color = (R => 0, G => 0, B => 0); @color{'R', 'G', 'B'} = (63, 127, 255); print @color{'R', 'G', 'B'}; ruby color = {'R' => 0, 'G' => 0, 'B' => 0} color.replace({'R'=>63, 'G'=>127, 'B'=>255}) p color.values_at('R', 'G', 'B')
661 名前:デフォルトの名無しさん [2009/07/16(木) 11:25:27 ] Perlerはバカにされやすいからな。がんばって難しく言おうとしちゃうんだよ
662 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 11:51:27 ] $ perl my %color = (R => 0, G => 0, B => 0); @color{'R', 'G', 'B'} = (63, 127, 255); print @color{'R', 'G', 'B'}; 63127255 $ ruby bash: ruby: command not found $ python >>> color = dict(R=0, G=0, B=0) >>> [color.__setitem__(k, v) for k, v in [('R', 63), ('G', 127), ('B', 255)]] [None, None, None] >>> print [color[k] for k in color] [255, 63, 127]
663 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 11:58:29 ] >>662 color.update( (k,v in [('R', 63), ('G', 127), ('B', 255)]) ) の方がPythonicなんじゃない?
664 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:13:22 ] NameError: name 'k' is not defined
665 名前:デフォルトの名無しさん [2009/07/16(木) 13:18:12 ] ここが言語を比較できる僕かっけースレですか
666 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:18:40 ] color.update([('R', 789), ('G', 456), ('B', 123)]) print map(lambda k: color[k], ('R', 'G', 'B'))
667 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:19:42 ] yes you does
668 名前:デフォルトの名無しさん [2009/07/16(木) 13:20:58 ] doesだってwww
669 名前:デフォルトの名無しさん [2009/07/16(木) 13:22:30 ] thestar.com.my/english/story.asp?file=/2009/3/13/lifefocus/3446185&sec=lifefocus
670 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:13:18 ] 334 :可愛い奥様:2007/06/26(火) 09:46:19 ID:raxdPvfD0 OLだった頃、会社で働いていた日本に超詳しいベルギー人が言ったことに納得してた。 日本文化は身内受けの凝り性文化だそう。 外国文化に負けまいとしているのではなく、 世に意図的にインパクトを与えようとしているのでもなく、 今ここにいる同じ価値観を共有する仲間からの喝采を浴びたいと考える。 その結果、同じものを志す者同士の「これすごいだろ、おもしろいだろ」合戦が始まり、 そこで生み出される物が自然と研ぎ澄まされていく。 でもその競争は、敵対的なものではなく、お互いを尊敬しあいながら、静かに深く進行していく。 そしてある日、偶然目撃した異文化出身の人間(外国人)から、 それがすごいものであることを知らされる。 ほとんどの日本人はその日が来るまで、自分たちが作り上げた物がすごいものとは知らない。 もろもろの伝統文化、芸能、電化製品、アニメ、他、みんな同じパターンで世界に広まっていった。 だから、日本がここまで発展してきたのも必然的なものだし、 この精神が衰えない限り、これからも日本は誰に頼まれることもなく、 知らないうちに勝手に世界にインパクトを与え続けていくだろうと。
671 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:17:34 ] 英語について 「Do」と「Does」は何を区別して、使い分けるのでしょうか? detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1320176013 「Does you play golf?」 これは間違いだとおもいます。 「Does your father play golf?」 ならあってます。 でも口語や歌詞などで She don't know. なんてのも有りなんで、流行ってるのかも知れませんね。
672 名前:デフォルトの名無しさん [2009/07/16(木) 16:20:19 ] Does youが有りだからyou doesも有りだと思ってる小学生www
673 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:20:50 ] how foolish you are
674 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:24:34 ] hows じゃね
675 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 16:33:54 ] wish you were dead
676 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 19:58:26 ] use English;
677 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 20:54:33 ] By the way, please listen to me. This doesn’t have any relevance about that. Few days before, I went to the Yoshinoya in my town. Yoshinoya. But I can't step in; because there are too many people. Then looking around, I found advertisement Curtain. It said "150 yen off" Don’t come to the Yoshinoya which you don't generally come to, just because of only 150yen off. You must be foolish or stupid! Oh! There is parent-and-child, and the Father of which is saying "I'm going to order Tokumori Are you all eat in Yoshinoya? Congratulations! I can’t stand it ever more! I'll give you 150yen and please go away! Yoshinoya should be more bloody & violent. You cannot predict when the tow man face each other in the character table of U begins to fight. Stab or be stabbed. This is the Yoshinoya. Women and Child, Go away! Don't exist in Yoshinoya. Then, I could sit on the seat, the man in next seat ordered "Ohmori Tuyudaku" That was sufficient reason to enrage me absurdly violently. Hey! You said Tuyudaku? It’s perfectly out of date. It’s old fashioned Do you really want to eat Tuyudaku? How foolish you are. I want to question you whether you really want to eat it or not. I want to question you for one hour! You just want to say Tuyudaku. In the side of expert of Yoshinoya, The newest fashion is "Negidaku" Year this is. It has more negi but less meat. And put egg on this. This has no enemy. Yes this is. But if your order this, your face must be memorized. It may be the sword of many edges. I don't recommend to bigger. Gyuhsaketeisyoku may be fit on you.
678 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 20:56:39 ] Why don't you talk about here? >$ ruby >bash: ruby: command not found
679 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:40:57 ] |リ u' } ,ノ _,!V,ハ | /´fト、_{ル{,ィ'eラ , タ人 Ты думаешь, из меня, /' ヾ|宀| {´,)⌒`/ |<ヽトiゝ я не могу сказать. ,゙ / )ヽ iLレ u' | | ヾlトハ〉 |/_/ ハ !ニ⊇ '/:} V:::::ヽ Я не знаю, // 二二二7'T'' /u' __ /:::::::/`ヽ что случилось.
680 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:42:17 ] な、何を言ってるのかわからねー(以下略
681 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:57:57 ] >676 それはツッコミかw
682 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:56:02 ] for my $x (@{$self->{'ls_ref'}}) {
683 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:32:59 ] for x in self.__ls_ref: @ls_ref.each{|x|
684 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 19:45:18 ] 334 :可愛い奥様:2007/06/26(火) 09:46:19 ID:raxdPvfD0 OLだった頃、会社で働いていた日本に超詳しいベルギー人が言ったことに納得してた。 日本文化は身内受けの凝り性文化だそう。 外国文化に負けまいとしているのではなく、 世に意図的にインパクトを与えようとしているのでもなく、 今ここにいる同じ価値観を共有する仲間からの喝采を浴びたいと考える。 その結果、同じものを志す者同士の「これすごいだろ、おもしろいだろ」合戦が始まり、 そこで生み出される物が自然と研ぎ澄まされていく。 でもその競争は、敵対的なものではなく、お互いを尊敬しあいながら、静かに深く進行していく。 そしてある日、偶然目撃した異文化出身の人間(外国人)から、 それがすごいものであることを知らされる。 ほとんどの日本人はその日が来るまで、自分たちが作り上げた物がすごいものとは知らない。 もろもろの伝統文化、芸能、電化製品、アニメ、他、みんな同じパターンで世界に広まっていった。 だから、日本がここまで発展してきたのも必然的なものだし、 この精神が衰えない限り、これからも日本は誰に頼まれることもなく、 知らないうちに勝手に世界にインパクトを与え続けていくだろうと。
685 名前:デフォルトの名無しさん [2009/07/17(金) 23:26:08 ] >>684 どう考えても褒めすぎ 今の日本は屑しかいない
686 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:50:20 ] >>658 > >>639 > >どんなにオブジェクト指向を強くしたところで、プリミティブ型や配列型のないプログラミングなどあり得ない。 > >スカラ変数とリファレンスを分けるシジルがあればより便利だということに過ぎない。何もないよりずっといい。 > > 何をいいたいのかまるでわからない。プリミティブ型や配列型を排除しろとは誰も言ってないし、うーん。 > @tmpがリスト、%tmpがハッシュ、で、それ以外のデータ構造を使ったら$tmp > 。 > べつに、ぜんぶ$tmpで統一してくれていいんだけど。 何を言ってるわけ? $tmpに統一って、$tmpしかないことは機能性の後退だろ。 Perlがシジルを使ってデータ型を表すこと、それはハンガリアン記法という広く普及してる変数命名法を言語レベルで保証しているということ。 > >>>610 の$tmp_mapは%tmp_mapの間違いだが、これはPerlであればコンパイルエラーを起こすので、未然にバグを防げる。 > これもなにがどうエラーになるのか不明なので、解説よろしく。 お前、Perl知らないだろ? > つーか、もちっとわかりやすい文章書こうぜ。Perlerだから仕方ないけど。 > お前がアホだからというか、Perlを知らないからだろ?
687 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:55:47 ] だいたい$tmpに統一なんて言い出すところからして、PHPだろ?PHPは、論外だから。
688 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:10:11 ] Ruby脳的には、せっかく動的言語なんだから 型の決定は実行時に遅延させたいなあ ・・・・というわけなのかは知らんが、$やら@はスコープの表記に使っちゃった
689 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 03:47:28 ] Ruby GJ!! www
690 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 09:11:43 ] Rubyは何でカッコの省略を認めたのか。あれは最高に見づらい。変数だかメソッドだか分からない。
691 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 09:29:21 ] 分からなくていいじゃん 問題なのは関数渡しがまんどくさい
692 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 09:45:48 ] いいわけないだろ。そのせいで、いちいちソースを追う羽目になるんだから。
693 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 10:25:16 ] 変数もメソッドも同じオブジェクトっていう発想は画期的なものなんだが。
694 名前:デフォルトの名無しさん [2009/07/18(土) 10:39:05 ] $xxx = "Subject: =?SHIFT_JIS?B?W5FLXYNUg0ODZ5NvmF6CzY2hgqqStIFggqiTvoH0?="; $xxx = mb_decode_mimeheader($subj); $xxx = mb_convert_encoding($subj,"SJIS"); echo $xxx; ↓ Subject: [?]????????????? になっちゃうんです。 どうしたらうまく変換できますか?
695 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 10:39:10 ] rubyにおいてメソッドはオブジェクトじゃないお
696 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 11:34:06 ] 関数でもメソッドでもいいが、少なくとも引数がある場合はカッコあった方が良くね? 引数ないときに()を省略できるかどうかはまた別だけど、俺はあった方がいい。
697 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:23:18 ] 引数がある場合でも括弧付けない言語なんざいくらでもあるけどな つかRubyの場合、フィールド参照もメソッド呼び出しだから 必ず括弧付けるとなると、なんだか読みにくくなりそう
698 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:27:01 ] その場合、複数行になる場合はどう書くの?
699 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:37:46 ] >>695 滅多にお目にかからないが、Methodクラスってのはある ファーストクラスかと言われると怪しい
700 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:44:15 ] Methodクラスのインスタンスはオブジェクトだから、ファーストクラスだお でもそれ自体はメソッドじゃないお
701 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:50:26 ] Rubyでメソッド呼び出しの括弧省くと、なんだかんだでパースエラーに なる事が多くて、結局格好付ける事になりがち。 で、括弧が多くなってくると、「不統一なのもかっこわるいから、 全部付けとくか」ってなる。
702 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:54:42 ] Lispも有る意味、引数に括弧はないな
703 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 12:56:39 ] >698 改行が文末として扱われる言語ならば、行を継続する場合に明示する。 例えばVBは行末に _ を書くし、Rubyでも行末にバックスラッシュを書くと文末として扱われない。 Pascalなんかは引数が無い場合には括弧を書かないが Cなどと同じくセミコロンを置くことで文末を示す言語なので、複数行でも何ら表記は変わらない。
704 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:02:54 ] >>703 そういうことか。 しかし、数学では普通関数をf(x)ってカタチに書くから、 カッコがないってのがなんか気持ち悪い。
705 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:08:25 ] >> 690 レシーバselfかつ引数なしのときは俺は()つけて書く。 func()みたいに。 もし()省略できなかったら、 require('library') include('module') みたいになって逆にキモくなるんじゃない? まあ括弧省略可でうれしいのは,print,putsだろうけどね。
706 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:17:33 ] まぁ、Rubyでも戻り値を式として使う場合には括弧付けたほうが無難だけどね。 Perlみたく @ary = sort keys %h みたいな書き方は認められてないよ。 Rubyにはsort関数もkeys関数も無いが、もしあったなら ary = sort(keys(h)) と書かないとエラーになるはず。 ただブロックなどで「最後の式の結果を返す」となってる場面でも省略できちゃうから そこは個人的にはちょっと何かないかなぁと思うけど。
707 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:37:05 ] >>706 foo = p p 1 とか普通にできるけど? ちょっと前までは、括弧が将来必要になるかも、ってwarningが出てたけど、 > 「文法を簡単にしようと思ってたんだけど、RubyConfで『括弧の省略を駆使していかに > 英語っぽいコードを書くか』という内容でまるまる1セッション使った発表があって、諦めた」 という奴だね。
708 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:38:52 ] まとめると、 文系:省略派 理系:非省略派 ってことだな。
709 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:39:58 ] >707 ま ぢ か じゃあ俺の使ってるバージョン古いんだな…
710 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:41:56 ] >>708 ガチガチの文系で理系にコンプレックスのある漏れが非省略派なのでうそ臭いです
711 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:43:50 ] 括弧の省略は ・省略した方が明らかに読みやすいと思われるケースがある puts("hello ruby") puts "hello ruby" ・言語内DSLにとっては、省略が効いたほうが有利なことがある 例えばrake(Ruby版make)だと task :default => [;test] task :test do ruby "test/unittest.rb" end などなどの事情もあるわけだから、 たぶんコーディングスタイルのレベルで対応するべき問題ではないか
712 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 13:44:50 ] rubyの場合省略不可にするとプロパティ構文とか導入しないとめんどくさそうではある
713 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:12:53 ] requireだろうがattr_accessorだろうがカッコ付きでいいじゃん、と 割り切ればいいのでは?
714 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:16:26 ] 括弧の省略が嫌いならPythonに改宗すると幸せになれるよ
715 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:17:07 ] 今度は、ブロックにカッコつけるとかなんとかで(r
716 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:24:06 ] >>711 puts( "hello ruby" )
717 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:26:53 ] 括弧論争は、シェルスクリプトの延長でRuby書いてる人と、 CやJavaの延長でRuby書いてる人との対立な気がする。
718 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:31:32 ] 文字列の出力くらい "hello ruby" だけでいいじゃない
719 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:38:39 ] Pythonの場合「関数呼び出しの括弧を省略できない」というのは 結果的にはそう見えるんだが、その中身を考えるとその表現は違う気がする まず関数にバインドされた変数/フィールドがあって 括弧を付けるのは、その関数に対して「呼び出し」を試みる操作だからね 括弧をつけると、変数/フィールドにバインドされてるのが ・関数なら、関数の処理を行い結果を返す ・クラスなら、インスタンスを生成しそれを返す ・他にも、呼び出しが可能なオブジェクトにバインドされていればそれぞれの挙動を示す ・呼び出しに対応していないオブジェクトの場合、例外を発生させる
720 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:51:19 ] ()ありの場合は 関数的に使い、かつ引数なし メソッドチェーン 引数が複数 それ以外のときは()省略。俺はこれがシンプルなルールだし、 可読性も高いと思ってる。 ちなみに俺はC→C++→Python→Rubyの順で習得したけど、結構省略派。 性格的にも学歴的にも理系。 Pythonはint()とかlen()が関数なのにダックタイピングしようとしてる所が好きじゃない。 self、インデントは全然許せるが、インスタンス変数をprivateにすると、self.__var ってなったりするのが、激しく嫌いかな。あと動的言語なのにglobal宣言とかね。 でも、()を省略したくないような人なら()以外の面でも、 RubyよりPythonの方が好みだろうね。
721 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:53:29 ] PythonとJSで呼び出し時に括弧が省略できないのは メソッドが関数の代入されたプロパティとして実装されているから,って認識でOK?
722 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:54:20 ] 括弧省略ルールは、Scalaのが明解だな。 後発だけに。
723 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 15:04:00 ] ()を省略すると、 f = hogehoge.func って書いたときに、fが何を表すのか不明になる。
724 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 15:17:14 ] そもそも、Pythonは関数・メソッドが完全にファーストクラスだから、 名前が変数名なのか関数名なのかで呼び出す・呼び出さないを 分けられない。 def foo(): pass bar = foo del foo bar()
725 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 15:17:53 ] ()なしは変数なのか関数なのか、一見でわからなくなるからやめて欲しいわ
726 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 16:33:49 ] def __call__(): でなんかなるんだっけ
727 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:32:22 ] 様は読めればいいわけですね。 省略する人は、Lisp嫌いですか?
728 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:41:02 ] 育ちによって、 hoge = func1 を「変数hogeにメソッドfunc1を呼び出した返値を代入する」と読んだり、 「変数hogeに関数func1を代入する」と読んだりするわけだ。
729 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 20:03:43 ] 「hogeはfunc1と同等」とか「hogeはfunc1と同一」もあるかも知れないぞ
730 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 20:23:53 ] Pascalは代入が := で = が同一判定だね C言語とかと一緒にやろうとすると見事にハマるw
731 名前:デフォルトの名無しさん [2009/07/18(土) 20:32:11 ] >>730 どちらかといえばそっちの方が好みだな。 一般的に = は等号という意味が定着してるんだから プログラミングにおける代入という新しい概念には新しい記法を与えるのが自然。 正直、代入を'='にしたのはCの負の遺産だと思う。
732 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 20:35:20 ] つーてもBASICとかでも = を代入に使うけどな BASICだと同一判定も = だけどさ
733 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 21:11:28 ] FORTRAN 以来の負の遺産だな。
734 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:04:17 ] >>731 その考えはある意味正しいと思う一方で、 代入操作は比較的頻繁に行われることを考えると 短いトークンを与えようとするのは実用上正しいとも思う
735 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:52:28 ] 確か、C言語で代入に短いトークンを割り当てたのは、 比較より代入のほうが多い、という判断があったからなんだけど、 サンプリングが偏ってた、って何かで読んだような。
736 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:56:54 ] Perlが出るまでは、~ とかその他記号も空いてた様な気もする イメージ的に=の要請が強かったのかなあと思う その頃から別に、代入に=で違和感なかったんじゃね?
737 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:34:02 ] !=ってのもあるんだから、比較を==にして文字数を合わせた方が収まりが良い
738 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:36:33 ] >>736 ~はbitwise not
739 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:49:53 ] 代入はSmalltalkみたいに、専用の文字(「←」とか)を用意するのがよい。 今なら、Unicodeに入れてもらえばなんとかなるだろ。
740 名前:デフォルトの名無しさん [2009/07/19(日) 00:59:00 ] いらんですよ、そんなもん
741 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:05:03 ] APLでもやってろよww
742 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:34:37 ] いや、内部コードUTF-8全盛のこの時代、決して非現実的ではないので、思考停止はいくない 単純に、欧米圏の人間にフォントを入れてもらえばいいだけさね 頑張れMicrosoftおよびその他ディストリビュータ
743 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:36:38 ] 入力が面倒
744 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:40:43 ] そろそろ欧米圏の人間にも、IMEのなんたるかを知ってもらういい機会になるかもよ 悪平等の見本みたいな意見だがなw だが、いい加減英語アルファベット+αがグローバルスタンダードと思っていられても困る
745 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:43:25 ] -> pointer <- assign
746 名前:デフォルトの名無しさん [2009/07/19(日) 01:56:01 ] すまんが、釣りは昼間にやってくれんかねw
747 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:02:33 ] 夜釣りには夜釣りの良さがあるんだぞ
748 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:09:22 ] そこでfortressですよ。
749 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:12:39 ] とりあえず代入は = でいいと思う。 = のどの言語でも、そこには不満ないw
750 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:31:45 ] ここで比較の=と代入の=と代入の:=がある恐ろしい言語が
751 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:35:23 ] 正格評価と遅延評価で代入演算子が異なる言語もあるでよ
752 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 03:26:56 ] = の一般での意味をかえてもらえば解決
753 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 04:18:37 ] define変数定義 := assign =! equals = not equals !=
754 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 02:45:04 ] 空文字列やゼロが偽って話は聞いてたけど "0"(ゼロ)って文字列が偽だなんて聞いてねえよ…
755 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 06:46:43 ] >>754 PerlとPHPかな。他にもあるんだろうか。 その二つしか使わないおれはなんかそれに慣れちゃったな。
756 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 11:03:51 ] ===
757 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 14:33:14 ] >>756 null === false #=> false なのでそいつもちょっと。 帯に短しタスキに長しと。(ちょっとちがうか)
758 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 17:29:17 ] isset(), empty(), is_numeric()
759 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 18:16:32 ] if(!isset($var) || empty($var) || !is_numeric($var)){} こうでつか?
760 名前:デフォルトの名無しさん [2009/07/20(月) 19:45:02 ] PHP、DSLとしては別に悪い言語じゃないと思うが ネームスペースとかタイプヒンティングとか大規模開発向きの機能が中途半端なのがなんとも。 タイプヒンティングなんかarrayとオブジェクトだけとかいう謎の仕様だし。 ある程度の規模を越えたところで辛くなってくるんだよなあ。 比較演算が曖昧すぎてつまらんバグ起きやすいし。
761 名前:デフォルトの名無しさん [2009/07/20(月) 19:57:14 ] >>690 関数でもどっちみちソース追うよ。 この手のは最初に入った言語の影響や慣れってのが大きいよ。
762 名前:デフォルトの名無しさん [2009/07/20(月) 20:06:37 ] >>754 真面目にそれ何ていう言語? もし俺も使ってたら気をつけないと…
763 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 20:54:16 ] perlだろ
764 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 20:55:44 ] PerlかPHPっていってるそばから… なんか無性にイラついてきた。 >>762 めー!俺は絶対にお前を許さんからな!
765 名前:762 mailto:sage [2009/07/20(月) 22:19:13 ] >>764 iヽ /ヽ | ゙ヽ、 / ゙i | ゙''─‐'''" l ,/ ゙ヽ ,i゙ / \ ゙ i! ● ● ,l そんなこと言われても ゙i,, * (__人__) ,/ わて猫やし… ヾ、,, ,/ /゙ " ヽ / i! (⌒i 丶 i ! i!., γ"⌒゙ヽ l l γ'.ヽ i i,__,,ノ i,__,,ノ_,,丿 ヽ,_,,ノ"~´ ̄  ̄
766 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 22:19:34 ] 鰻まだ売ってるところを教えてくだされ
767 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 22:20:41 ] 土用はまだじゃなかったっけ
768 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 22:24:29 ] 猫はどんなプログラム言語使ってんだよ
769 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 22:24:49 ] 今年は二回有る
770 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 22:27:11 ] >>769 おお。知らんかった。thx ttp://ja.wikipedia.org/wiki/%E5%9C%9F%E7%94%A8%E3%81%AE%E4%B8%91%E3%81%AE%E6%97%A5#2004.E5.B9.B4.EF.BD.9E2011.E5.B9.B4.E3.81.AE.E5.A4.8F.E3.81.AE.E5.9C.9F.E7.94.A8.E3.81.AE.E4.B8.91.E3.81.AE.E6.97.A5
771 名前:デフォルトの名無しさん [2009/07/21(火) 01:10:07 ] 自分はPerlとCのさわりがわかるくらいだけど、Perlの事が書いてる本をよんだりしてると 今まではPerlが最良の選択肢出会ったけど、今後はRubyにシフトするであろう みたいなことが書いてあるのを何度かみた。 Rubyってそんなにいいの? なにがいいの? 自分はWeb屋だから、Rubyがまだ選択肢に入らないんだけど、選択肢に入るようになるのであれば勉強しておきたい。 Web屋に対してのRubyの利点を教えてくれ
772 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 02:29:33 ] Python>Ruby>PHP>Perl
773 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 06:09:53 ] WebとしてのRubyも廃れつつあるんじゃないか?と思う。 ちょっと前になにがなんでもRoRってノリな時代があったのは確かだが。 日本だとやっとPythonが地味に伸びてきているし、世界的にあいかわらずPHPは多いし。
774 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 06:23:15 ] >>772 その順位は結構妥当だなと思ってしまった。 PHPを叩くPerlerが多いけど、PerlよりPHPのほうがまだましというのが正直な感想。
775 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 12:30:46 ] >>774 なんでやねん。 {Perl,Python}>Ruby>>PHP だろ。jk
776 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 12:34:43 ] Perler以外の全方位から叩かれるPerl、という感じだな。
777 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 12:36:59 ] しかしPythonが不自然なまでに叩かれないのを、Python自体の功績のみと思うべからず 知らなきゃ叩けない
778 名前:デフォルトの名無しさん [2009/07/21(火) 12:42:41 ] Pythonは微妙だなあ。 ウェブは PHP/Java, ちょっとしたツールは Java, 性能要求が厳しれば C/C++ という鉄板の中で立ち位置がよくわからない。
779 名前:デフォルトの名無しさん [2009/07/21(火) 12:44:08 ] Googleが使ってる→普及させる気満々
780 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 13:14:07 ] >>771 Web屋限定じゃないけど、単に時代遅れになってるってことじゃないの? テキストの読み書き検索なんかに特化していたため、 単純な一個の掲示板を作るのには便利だったけど、 スカラー、配列以上のデータ構造になるとリファレンスを勉強しないと使えない。 オブジェクト指向になると「blessって何?」みたいな無理矢理な増築でわけわかめになってる。
781 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 13:19:12 ] Pythonは良くも悪くも中庸だと思うよ プログラミング言語、と呼ばれるほどガチガチでもなく スクリプト言語、という言葉から連想するほどテキトーでもない >775 PHPは言語として問題があってもWeb特化っていうアドバンテージがあるし PythonはPerlとは全く別方向のスクリプトとして需要はあるだろう Rubyが名前通りPerlの進化系として使えるから、Perlの需要って過去資源だけだと思うんだが
782 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:46:31 ] Rubyの場合、松本からしてPHPを叩きまくってるだろ。
783 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:48:32 ] Rubyは明らかにRailsのブームが終了したな。そもそもウェブの開発に時間がかかる部分は、言語機能でどうにかなるようなもんじゃない。
784 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 15:50:43 ] まあ、自由に言語を選択出来る場合なら、PHPを選ぶはずはない罠。PHPは話にならない。
785 名前:デフォルトの名無しさん [2009/07/21(火) 15:53:26 ] Ruby鎮静化の責任の一旦は日本のユーザーにもあると思うけどな。 自国製の言語をまともに評価できず、海外に評価されて逆輸入の形でしか受けいれなかった。 結局、そうこうしてるうちにユーザー文化が十分に育まれず 十分勝機のあったPythonの侵食を許してしまった。
786 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 16:10:56 ] 早く……しないと間に合わない系の話に釣られない民度の高さを評価すべき
787 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 17:39:37 ] ウェブは Python, ちょっとしたツールは Python, 性能要求が厳しれば Python という立ち位置
788 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 18:05:10 ] Web - PHP 適当 - Perl 速度 - C 綺麗ならよし - Python 好き勝手やれ - Ruby お前の世界だ - Lisp 分散処理なら - Earlang とりあえず新しい - D Wolfram - Mathematica 俺は嫌い - Java Javaとくっつきすぎな - Scala なんか面白そうな - OpenCL なんじゃそりゃ - white space
789 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 18:39:35 ] >>781 >Rubyが名前通りPerlの進化系として使える 使えない。 がんばってなんとかそのように使う人も いるだろうが、そんな人ばかりではない。
790 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 18:41:52 ] >>787 s/Python/Perl/g RubyとPHPはちょっとキツいな。w
791 名前:デフォルトの名無しさん [2009/07/21(火) 18:45:26 ] Perlが普及してしまったのは歴史の誤ちだよなあ。 unixのシェルスクリプト強化版みたいなポジならよかったのに。 ウェブの普及がもう少し遅くてCGIの言語選択肢が広ければ、 いや他の言語がもう少し早く登場してくれていれば…と悔やまれてならない。
792 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 19:25:06 ] >ウェブの普及がもう少し遅くてCGIの言語選択肢が広ければ >いや他の言語がもう少し早く登場してくれていれば どっちも起こらなかったと思う Perlが糞だったからこその展開
793 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 19:27:29 ] Webの発達にperlの発達がついていけなかった。 perlの発達を待つよりも、pythonやrubyに乗り換える方が早くて楽だった。
794 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 19:32:14 ] Pythonってそんなにいいかなあ?俺はRubyのが好み。 Google言語ということもあってそこそこ勉強したが、 オブジェクト指向やり始めると途端にに気持ち悪くなるから好きになれん。 ってか、一度Rubyistになった人なら、そうそうPythonに寝返ることはないと思った。 PHPなら普通に使うけどね。
795 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 19:33:17 ] >>786 日本人は釣られる時は世界屈指に釣られまくるよ。 世界よりも国益よりも善悪よりも、周囲の顔色が一番大事な民族性だから、 一旦周囲が特定の空気に包まれたら、その集団ヒステリーたるや物凄い。 一方、今はまだ周囲に無い世界の潮流とかの話になると、お互いに対する様子見で牽制しあって なかなか動かない。 これを「釣られない」「民度の高さ」と表現すれば聞こえはいいけど、現代ではこの民族性は 国際競争における宿命的な負けフラグにもなってるな。
796 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 19:45:23 ] Pythonに寝返ったRubyistですが何か質問ありますか?
797 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 19:47:30 ] >>796 何千行、どんなコード書いた?
798 名前:794 mailto:sage [2009/07/21(火) 19:56:15 ] まじかーいw まあ実は俺はPy=>Rubyなんだが。 Pythonのどういうところが好きで、Rubyのどういうところが嫌いか聞きたい。
799 名前:デフォルトの名無しさん [2009/07/21(火) 20:32:12 ] ちょwRubyの本買ってきた俺ボコボコの予感www
800 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 21:10:11 ] 書き始めはRubyが楽なんだけど ある程度の長さになるとPythonで書こうかなって思うなぁ Perlは使い道が思いつかない
801 名前:デフォルトの名無しさん [2009/07/21(火) 21:37:24 ] Pythonはモジュールが書きやすいと思う。 でも、len()とかって未だ慣れないなぁ。
802 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 21:46:54 ] 俺も変数名を打った後に「ああlen()か…」って思いながら←キーを数回叩く Python的発想からすると戻り値が数値であることをlen()が保証してくれるってのは 素直に好きなんだけど、書く時には相変わらず慣れない
803 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 21:50:26 ] つttp://d.hatena.ne.jp/methane/20090702/1246556675
804 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 22:19:03 ] >>> s = 'python' >>> len(s) 6 >>> s.__len__() 6 >>> 'python'.__len__() 6
805 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 22:21:58 ] つーか、Blenderとか3DソフトはやけにPython。
806 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 23:22:48 ] 速度が求められてるからじゃないの
807 名前:デフォルトの名無しさん mailto:sage [2009/07/21(火) 23:30:51 ] 速度を重視するならLLは有り得ないと思う 単に拡張を取り入れる時点でpython以外に 十分に成熟している 扱いやすい 埋め込みが楽な言語 が無かっただけではないかなとか適当な事を言ってみる
808 名前:デフォルトの名無しさん mailto:sage [2009/07/22(水) 00:27:28 ] Pythonは昔のTclのように拡張言語としても使われ出してるね。 それから、Webとの親和性が高いアプリの拡張には、JavaScriptなどのECMAScript系が多い印象がある。 EmacsがLispでどんどん拡張できたように、MozillaもJavaScriptで拡張できたりしてるし。 あと、RubyもJRubyとかIronRubyとかあるから、 実は同じようなことが簡単にできるんじゃないかと思う。
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