1 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 13:14:17.03 ] 最強のLL=軽量プログラム言語は、どれよ? エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・ さあ、死ぬまで語りやがれ!!! ■LLとは? 軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、 コードの作成や修正が容易と見なされるプログラミング言語のことを指す。 ここでいう「軽さ」はプログラマの負担の軽重を指し、 実行速度に優れているという意味ではない。 現在の水準では ・インタプリタ ・動的型 ・正規表現 ・クロージャ などを利用できるものがLLと呼ばれることが多い。(Wikipediaより) 前スレ 【Perl,PHP】LLバトルロワイヤル19【Ruby,Python】 toro.2ch.net/test/read.cgi/tech/1320405770/
367 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 00:03:07.69 ] >>366 あほ?
368 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:02:11.07 ] >>360 こういう比較はやっちゃダメです、っていう見本みたいな記事だな
369 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:14:20.55 ] >>367 何があほなの?
370 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:21:24.97 ] schemeは仕様だから実装によって違うだろうなあ。 それにそもそも速そうな仕様でもないし、仕様の中にオブジェクトシステムがない。
371 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:23:56.61 ] >>370 動的言語ではあるだろ
372 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:29:58.82 ] schmeは仕様ならC++やPythonやJavaも仕様 仕様がないRubyだって処理系はひとつじゃない
373 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 01:33:55.03 ] scheme処理系で一時期話題だったstalinってやつは どこまで頑張るのかなあ? >>372 Rubyは最近、最低限の仕様がJISで規格化された
374 名前:デフォルトの名無しさん mailto:sage [2012/02/04(土) 05:09:31.26 ] KARAの日本での活動を担当するマネージャーが、在日本朝鮮人総連合会(以下、朝鮮総連)の 所属であるという主張が提起されるなか、所属事務所側が正確な事実を確認している。 所属事務所DSPメディア側は3日、「物議をかもしている男性は、KARAの日本での活動を任されて いるDSP JAPANの職員で、スケジュールマネージャーを担当している。活動に支障はないと思うが、 物議をかもしているので、事実かどうかを確認している」と説明した。 この関係者は、「韓国での活動には問題はないが、日本で主に右翼傾向の強い方々が疑惑を 提起していると見られる。最近、嫌韓流が強くなり、日本のファンの間でこのような話がさらに 大きくなっているようだ。まず該当の男性が朝鮮総連なのか確認した後、さまざまな状況と 今後の計画を検討し、立場を明らかにする」と話した。 これに先立ち、ある日本のオンラインコミュニティには、KARAの日本での活動に同行した男性が、 2006年11月に警視庁の朝鮮総連本部強制捜査を妨害した人物と同一だという疑惑が提起された。 特にネットユーザーたちはKARAの日本での活動途中のこの男性の写真と、警視庁の 朝鮮総連本部の強制捜査当時の男性の姿を比較して掲載した。 (以下略) リンク先に全文 www.kstarnews.jp/news/viewContents/entame/1304652257 engawa.2ch.net/test/read.cgi/poverty/1328289808/9 検証画像 inspire.iza.ne.jp/images/user/20120127/1696540.jpg
375 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 06:00:00.89 ] PHPが圧倒的に人気。 ソースはGoogle Trend www.google.co.jp/trends/?q=ruby,+python,+php,+perl
376 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 10:31:25.88 ] レガシーなPHPが使われたHPが、 まだ生き残っているからしょうがないな
377 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 18:40:22.92 ] PHPを使った事無い俺には お前等が何でPHPを目の敵にするのか分からん
378 名前:デフォルトの名無しさん mailto:sage [2012/02/05(日) 18:42:02.60 ] Rubyの教祖がPHPを目の敵にするから 下々の者も右へならへでPHPを目の敵にしてる
379 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 00:36:11.62 ] >>375 PHPとPerl爆下がりでどうみてもRubyst騙り乙だろw
380 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 12:58:53.83 ] >>377 PHPは悪くない。 問題は暴れるPHPer。
381 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 13:27:19.11 ] 関数の命名規則が適当だからだろ
382 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 13:31:02.59 ] >>375 ウェブ系のトレンドじゃpythonよかrubyの方が伸びてるのな 数値計算やら科学技術計算のライブラリはrubyじゃ全然なわけだが
383 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 13:46:33.49 ] PHPは初心者をいち早く実戦投入するのに最適な言語だからな 驚くぐらいレベルの低いプログラマが多い 誤解してはいけないのはプログラム言語それ自身と プログラマーの能力はまったく無関係だってことだ PHPを仕事で使っているプログラマーでも優秀なプログラマーは たくさんいるし、すごそうな言語を使っているだけの無能プログラマー もたくさんいる 「〇〇を使っている俺すごい、PHPを使っているお前より上だから」 みたいなこというバカは多いけど
384 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 14:39:29.89 ] PHPってだけで、web系だって業務の幅が分かるもんじゃないの? Matlab,Rみたく統計解析したり、関数型でパーサーみたいなもの書いたり、 そういうのと皆無で、ずらずらと手続きを並べながら、セキュリティに気配ってるだけのイメージ
385 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 14:58:16.56 ] 「そういうのと皆無で」とか言っちゃう雑魚がおナマ言ってんなよw
386 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 17:43:03.22 ] PHPやってて、なんか違うってので Ruby on Railsで作り直してて それでもなんか違うってPHPに戻ったら Ruby on Railsでの経験や考え方を学んだことにより PHPでも以前よりスマートに書けた ってブログをだいぶ昔に読んだな
387 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 17:46:02.61 ] PHP以外ならなんでもいいんだよ PHPの考え方はかなり歪んでいる 他の言語でも言えることだけれど
388 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 21:04:32.26 ] >>384 他の言語は何系の業務で使われてんの?
389 名前:デフォルトの名無しさん mailto:sage [2012/02/07(火) 05:28:38.68 ] >>377 現場をしらない趣味グラマーだらけだから
390 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 00:10:09.36 ] >>384 セキュリティに気をくばってればいいけどなあ。
391 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 00:18:41.62 ] >>389 趣味グラマーがわざわざPHPを使うわけないだろ
392 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 00:30:29.79 ] おれのPHPのソースコードは、きたなくて、ひとにみせられないよ
393 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 01:31:08.86 ] PHPの趣味グラマー hirata-create.cocolog-nifty.com/blog/
394 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 02:23:17.12 ] >>393 あーやっぱり素人が作った、しかもPHPごときではこの程度か… もうすぐこのスレでPerl,Ruby,Pythonのプロがすげーもん見せてくれるぜ
395 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 02:56:49.35 ] 知ってるか? 宣伝するのは本人だけって
396 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 02:58:53.11 ] 趣味グラマーがPHPに惹かれない理由は、単純にワクワクしないからだろう なんか初心者向けのようなチープさがあって、凄いオモチャで遊んでるという高揚感が得られないから
397 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 07:36:58.64 ] >>391 だから目の敵にしてるって意味じゃないの?
398 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 11:46:43.39 ] ActivePerlなどでインストールが簡単なら初心者向きだが、PHPのインストールは、たいへんでわ? パソコンの初心者がApache2.2いれるか? おっかなびっくり
399 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 12:07:56.52 ] 最近はXamppあるしなぁ
400 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 12:39:04.38 ] 初心者のためにPHPで作ったサーバー、ダウンロード後好きな場所にZIP解凍したら無設定で即開始できます PHPバージョンは、PHP-5.3.10 hirata-create.cocolog-nifty.com/blog/HC-LocalServer.html 初心者のためのRADツール、WindowsのGUIスタンドアロンが簡単に作れる PHPバージョンは、PHP-5.3.10 hirata-create.cocolog-nifty.com/blog/HC-wbRadStudio.html
401 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 12:44:40.08 ] 今となっては、Phalangerでいいな 原始の海は、とっくに過ぎ去った
402 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 14:06:40.22 ] LL言語童貞なボクですが、このスレをみてPythonからはじめる決意ができました。 みなさんも不毛な議論はやめてシコシコ頑張りましょうね!
403 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 16:55:54.82 ] Perlの入門書読んでるけどこのスレ的には(板もか?) 今から始めるならPythonかRubyらしいね
404 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 16:58:46.89 ] スレ的にはっつーか世の中の大部分がそう
405 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 17:14:52.56 ] なんか必死だねwww
406 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 17:17:07.66 ] PythonかRubyかは好みの問題だけど、仕事で必要じゃない限りPerlやPHPみたいな過去の異物に触れる必要はない
407 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 18:17:34.83 ] まとめるとPerl最高ってことか
408 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 18:20:06.90 ] んだな まあとりあえず全部ひととおり触ってみるといいとおもうよ
409 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 18:24:02.46 ] ぷっ、クスクス…クスクス
410 名前:デフォルトの名無しさん [2012/02/08(水) 19:16:26.75 ] >>406 >PythonかRubyかは好みの問題だけど、仕事で必要じゃない限りPerlやPHPみたいな過去の異物に触れる必要はない コレが趣味グラマーかwww
411 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:22:38.77 ] 仕事で必要なのだぁ
412 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 19:37:10.24 ] というか現在のPerlやPHPはJavaやCOBOLなんかと同じ「業務言語」だろ 趣味で使う人がCOBOL選ばないのと似たような理屈で、PerlやPHPを選ぶ理由はない プロユースだと認められてるんだから喜べばいいのに、嬉しくないなんてもしかして働いてないのか?
413 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:09:31.79 ] 仕事なら尚更Pythonにすべき
414 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:43:32.15 ] すべきと言われてもなあ.... 実際、Pythonは仕事じゃ使われていない訳で (>>40 ,41)
415 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:45:17.81 ] いや、他人がどうとか関係ないじゃん。自分が使うと決めれば使えるだろ
416 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:47:10.61 ] Python - Wikipedia Pythonはおもに欧米の企業でよく使われている。大企業ではマイクロソフトやアップルなどのパッケージソフトウェア企業をはじめ、 Google、Yahoo!、YouTube などの企業も利用している[4]。 また携帯電話メーカーのNokiaでは、S60シリーズで Python アプリケーションが動く[5]。 研究機関では、NASA[4]や日本の高エネルギー加速器研究機構[6]でPythonが使われている。 適応範囲はWebプログラミング、GUIベースのアプリケーション、CAD、3Dモデリング、数式処理など幅広い分野に及ぶ。 さらにスクリプト言語としての特性から、従来Perlやシェルスクリプトが用いられることの多かったシステム管理用のスクリプトとして 採用しているOSも複数ある。また、多くの異なる言語で書かれたモジュールをまとめるグルー言語としての利用例も多い。 実際、多くの商用アプリケーションで Python は組み込みのスクリプト言語として採用されている。
417 名前:デフォルトの名無しさん [2012/02/08(水) 20:48:52.61 ] 日本人は隣の人が使ってるのを使いたがるからPHP信者ばかりになってしまったんだろう
418 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:50:31.13 ] 自分が使うということならば、その人が好きな言語(LL)を自由に選べばいい訳で.... Pythonの「押しつけ(....すべき論)」は無用だろ
419 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:51:41.23 ] 自分が使うなら、Pythonを使うべきだと思うが
420 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:51:54.98 ] 前にも書いたがPythonさんは排他的だから
421 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:54:07.32 ] >>416 Wikipedia記事のコピペは無駄だろ、リンクだけで十分 そんなにPythonが好きなら、自分の言葉で語れやw
422 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 20:57:19.46 ] なんでそんなにイラついてるんだろう。該当箇所をコピペしてるだけだろう
423 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:16:31.84 ] まあ、少なくとも日本でPythonの求人はほぼゼロなのは確か COBOLのほうがずっとある
424 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:18:59.18 ] だからCOBOLやろうとはならんだろ
425 名前:416 mailto:sage [2012/02/08(水) 21:25:01.24 ] 自分はPHP押しだが。C言語的な言語はPHPだろ。 業界のスタンダードな言語はC言語系統だろ。 なんで文法的に昔からあるなじみのあるやつ使わないのか判らん。
426 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:27:12.13 ] pythonやrubyだって十分C言語に近いだろ
427 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:29:54.15 ] だから(いくら海外で使われていても)Python使おうとはならん、とも言えるよね Python使うべき論者は、その(技術的な)理由を具体的に書いて欲しいな 単なる押し売りは、かえって周囲の反発をまねくだけだと思う
428 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:40:55.55 ] 別に海外で使われてるからという理由でPythonを使うべきと言ってるわけじゃないだろ ただ海外で使われてる理由はCOBOLが使われてる理由よりは勧めるファクターにはなるだろうね
429 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:49:21.42 ] >>428 >ただ海外で使われてる理由はCOBOLが使われてる理由よりは勧めるファクターにはなるだろうね なぜ海外で使われていることが薦める要因になるのだろう? いわゆる日本人の特に年配者によくある「舶来信仰」みたいなものなのかね トヨタ/ニッサンよりもジャグァー/メルセデス、みたいなw
430 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:51:58.67 ] >>429 海外で使われてるという事実が、じゃないよ なんで海外がPythonを選んでるのか、それはCOBLが使われている理由より合理的なものだろ
431 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:53:49.60 ] その合理的な理由というのをkwsk
432 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:54:05.34 ] できる事に大差は無いと思う。安定性、リソース消費量での判断か。
433 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:55:30.05 ] Javascriptさんはどうなの? っていうか、誰か擬人化で例えてくれww Javascriptさんは長門有希みたいなイメージだな 控えめだけどなんでもこなすみたいなとこが 教科書にも控えめにって書いてあるしな
434 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:55:44.21 ] COBOLの仕事があってもCOBOLを使おうとはならないってことだ
435 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 21:56:59.54 ] 日本人ならRuby
436 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:00:25.95 ] むかーし、Cが流行したころ、Cなら、かきかたが自由だからすき というひとがいた(もちろん、アマチュア) ところが、Pythonでかくと、だれがかいてもにたようなソースコードになる というひとがいる(仕事なら、他人のソースコードを保守しなければなりないから よみやすくて好都合)
437 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:00:55.57 ] Rubyたんは黒髪、巨乳、ヤンデレだな
438 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:03:56.30 ] >>434 やっぱり日本人、特に年配者に特有の「精神論」でしかないみたいだねw >>435 日本人というよりも、日本語で書かれた書籍/情報が 初心者から熟練者という広い範囲で豊富に揃っているといのは、 Rubyお薦めの大きな要因になると思う
439 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:06:39.79 ] >>436 >仕事なら、他人のソースコードを保守しなければなりないからよみやすくて好都合 ところが、なぜか仕事ではPythonが使われない なんでだろねw
440 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:08:11.11 ] >>439 精神論がまかり通ってるから
441 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:08:30.67 ] リリースするときに整形ツールのオプションを統一したら何言語でも同じようになるが。
442 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:10:46.08 ] >>437 Pythonたんは、規律にばかりウルサイ逝き遅れたオールドミスの数学教師かな あれしなさい、これしなさい、いうことをききなさい、こうすべきザマス...みたいなw
443 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:12:04.75 ] ものは言い様だな。python使ったことすらないことがよく分かる
444 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:16:14.96 ] >>440 だよね Python使うべきなんて精神論だけじゃ、誰もついていこうとは思わんよな
445 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:19:51.07 ] >>444 精神論がまかり通ってるから、と言ってるだろ。さっきから何で文をちゃんと読まなないんだ?日本語出来ないのか?
446 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:29:57.96 ] >>442 PHPはアホの子だけどみんなの人気者って感じだな \\アッカリーン/
447 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:34:49.54 ] perlは関西弁だな 口達者だからなんとでも言い換えられる そしてお金$が大好き
448 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:36:16.45 ] 擬人化寒い。嫌いな言語への悪意が隠しきれてない
449 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 22:59:46.02 ] 海外で使われてるから使うってことは 別にありがたがってるわけでもないだろ 英語だって海外で一番使われるから 覚えたほうがいいし
450 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:09:51.45 ] かといって英語を押し付けるのは違う それと自分で評価できるようになるべき
451 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:12:43.69 ] 意味不明。英語が出来ない奴はカス
452 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:13:47.68 ] いや多様性を認められない奴がカス
453 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:14:32.23 ] 英語が出来ないことのメリットって何?馬鹿も休み休み言えよ
454 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:15:58.28 ] いや英語ができないとは一言も言っていない やりたくない奴に押し付けんなといってる
455 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:18:39.97 ] 良し悪しは別にグローバル化の流れを軽視して生き残れると思ってるお花畑は 確かにCOBOLくらいしか選択肢ないわな。あえて流れに取り残されるというニッチな選択も一種の多様性か 自分の好きな事だけやれば良いなんて子供みたいな主張がまかり通るわけないじゃん
456 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:18:42.78 ] >>445 だから「Python使うべき」という精神論がまかり通ってるという話だろ それを精神論と言われたくなければ、Pythonの技術的な課題を具体的に説明しないとね >>449 >英語だって海外で一番使われるから覚えたほうがいいし だから、さっきから「ナゼ海外で使われている」ことが Pythonお薦めの理由になるのかを何度も何度も質問しているのだが.... 実生活面では、海外就職/転職志望者を除くと、>>40 ,41で指摘されているように Pythonを学んでも就職/転職に優位とはならない(ムダとまでは言わんがね) 他に何か根拠があるのかな?
457 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:20:45.06 ] そもそもPythonが英語のごとく、そんなに使われているように思えんのだが
458 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:21:12.15 ] >>456 いや、その精神論は明らかにまかり通ってないだろ まかり通ってる精神論は、お前の精神論だよ
459 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:22:44.47 ] linux標準だから使わない手はないだろ。Emacs使う時Lispを覚えるのと同じ
460 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:32:26.47 ] ちなみにRubyの場合だと、>>438 下段で書いたように 日本語で書かれた書籍/情報が豊富に揃っているから 初心者卒業級くらいまでは日本語だけでも通用する でも、それより技術レベルを上げようと思ったら、英語の読解力が必要 たとえば自分が必要なライブラリを探すのも、 英語ができれば(他人に頼らず)自分で調べることができる Railsに至っては、最新版に追従していくなら英語力は必須といってもよい グローバル化の流れの中で、英語が必須なのはPythonだけじゃないんだよん まぁ、ごく当たり前で常識的な話だよね
461 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:37:16.86 ] >>459 もちろん(Pythonで書かれた)Linuxのツールは使うよ でもそれがCで書いてあろうがPerl/Pythonであろうが関係ないね 必要なのは(ツールの記述言語ではなく)ツールの機能だから また、同じ理屈であれば、Webの世界はPHPが主流でRailsも増えつつあるのが 現実の状況だから、Web利用者は(Pythonではなく)PHPやRubyを使うべきとなるのでは?
462 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:42:01.74 ] グローバル化云々でどうこういうなら今ならJavaScriptかも というかグローバル化ってw
463 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:42:49.13 ] >>458 だから、何度も書いているけど、 Python信者は具体的な理由を説明せずに(説明できずに?) 「Pythonを使うべき」ばかり主張しているよ それを精神論と言わず何と言うのだろうか?
464 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:43:27.47 ] >>463 宗教
465 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:53:46.26 ] pythonが便利だからでしょ。なんでも良いならアセンブラ使えば良いじゃん でも便利なのがあればそれを使う。それだけ
466 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:56:45.65 ] >>462 JavaScriptはデファクトスタンダード化してるアレだけど 海外で使われているものは使ってはいけないという宗教の方が怖いな
467 名前:デフォルトの名無しさん mailto:sage [2012/02/08(水) 23:59:20.80 ] 精神論(古くさい根性論)がまかり通ってるせいで (最新の)パイソンが流行らない みたいな意味でしょ
468 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:01:09.06 ] 日本のプログラミングコミュニティは可哀想なくらいショボいから 海外のコミュニティを重視すべきなのは確定的に明らか
469 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:02:48.10 ] なぜMITもUCバークレーもPythonを使うのか 下らない精神論に違いない
470 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:04:17.96 ] 全然Python薦めてる人から技術的な話が出てこない
471 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:05:19.28 ] 相手のレベルに合わせてるんだろう
472 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:06:40.60 ] PHPこそ普及率しか自慢できる所がない そして、他の言語好きから必ず馬鹿にされているのがPHP
473 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:11:25.29 ] 技術偏重の人はユーザビリティを理解していないし 多分、使い方が決まっていることを悪いことだと思ってる
474 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:24:00.86 ] >>473 例えば「オブジェクト指向」の定義をPythonで決められるなら良いけど 現実には、OOにclassは必須かどうかすら決まっていない だからOOを避けて通りやすいPHPなんかが流行るんじゃないかね
475 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:25:58.59 ] いやpythonもclassやOO必須じゃねえしw
476 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:34:06.68 ] >>465 だから(他のLLと比較して)Pythonの何が便利かをkwsk >>466 誰も使ってはいけないとは言っていないと思うけどな 日本語が不自由なお人かな? 逆に「Pythonを使うべき」と押し付けているのはPython信者だけ >>467 その(他のLLと比較して)Pythonの何が最新なのかをkwsk >>468 添削 X: 日本のプログラミングコミュニティは可哀想なくらいショボいから O: 日本のPythonコミュニティは可哀想なくらいショボいから たとえばZopeコミュニティのグダグタっぷりは有名 ちなみにRubyは日本発 >>469 年寄り臭い「舶来品信仰」ですか?
477 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:38:37.33 ] >>475 使い方が決まっていることが良いことだとするなら、むしろ必須にしないとダメだろ
478 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:39:20.80 ] MITやUCバークレーがPythonを使うのは「舶来品信仰」という理由だったのかあw さすが日本発()のRubyを一押ししてる人の意見は一味違うなあ
479 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:40:38.16 ] >>477 程度問題だろ。Pythonはそのバランスがいいというだけ 技術至上主義の人には一生理解出来ないだろうけど
480 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:48:13.62 ] 技術を理解したいのか、素人の心理を理解したいのかの違いかな
481 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:51:50.98 ] >>478 Pythonを薦める理由が「MITもUCバークレーもPythonを使う」という話だから、 それって舶来品信仰だよね、という指摘なんだけど 頭悪いのかな?
482 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:52:54.06 ] >>481 MITやUCバークレーは理屈なき精神論でPythonを選んだのかな
483 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:56:22.26 ] 勝ち馬に乗るべき 「ドマイナー言語は使うべきではない」これは正しい精神論
484 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 00:57:00.18 ] MITとかがPython選んだって何の話かと思ったら、教育用言語ってことね そんなことで使う言語決めてんの?
485 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:03:21.45 ] 教育用とはまた短絡的な言葉だな まあいいや。じゃあ、何によって使う言語を決めるの?
486 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:08:52.84 ] >>482 さて、自分はPythonに詳しくないので知りませぬ その理由を語るべきは、Python支持派ではないかと考えます >>483 レミングのように?w バブル時代の発想だね
487 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:10:08.69 ] 生産性、リソース使用量。
488 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:12:34.92 ] 今度はバブルだって。自分こそ論理性の欠片もない印象誘導だけじゃん
489 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:16:30.66 ] 「日本でPythonが流行らない」のは日本人プログラマのレベルが世界的に見てはるかに劣ってるからだろう 強いて言えば自省がない そういう人たちには言葉を尽くしても無駄
490 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:25:28.12 ] >>489 >日本人プログラマのレベルが世界的に見てはるかに劣ってるから だよねえ、自分もそう思っていた時期はあったんだ どうせRubyなんて極東の島国のそれも片田舎で生まれた超マイナー言語だし、 こんなのを好むのはかなり趣味性の強いごく一部のプログラマだけだよなぁ、なんて..... それがどういうわけか、今では世界中のプログラマに利用されているし、 中には笑っちゃうくらい熱狂的なユーザもいる 実際、Ruby関連の新しい話題は海外発であることが多いし、 るびま(Ruby Managine)も海外記事の翻訳が多くなった どうしてこんなことになっちゃったんだろ?
491 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:27:41.93 ] 開き直ったか(笑)
492 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:27:46.23 ] >>489 なんとも斜め上的な考え方だねえ
493 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:31:28.39 ] 結局技術的優位性はないんか
494 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:34:22.43 ] >>490 結局海外信者じゃん 日本が糞だから相対的に海外で盛り上がってるように見えるだけで 全体としては取り立てて言うほど凄くねえよ >>493 技術が全て横並びなら、コミュニティでぱいそんの圧勝だけどな
495 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 01:41:01.50 ] >>490 わろす
496 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:00:31.05 ] >>494 >結局海外信者じゃん なんでそんな風に認識しちゃうんだろ?w >>490 で書いた「かなり趣味性の強いごく一部のプログラマ」には、 もちろん自分も含めているよ 当時を振り返ると、現在のRubyの全世界的な展開が以外だったというだけ あとRuby本体もそうだけど、標準ライブラリを開発した作者達も日本人であり、 それらを含めてRubyが世界に認められたという事実を見落とさないでほしいな
497 名前:496 mailto:sage [2012/02/09(木) 02:01:50.97 ] 訂正 X: 以外だったというだけ O: 意外だったというだけ
498 名前:489 mailto:sage [2012/02/09(木) 02:06:28.03 ] Rubyの話なんかしてないのに
499 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:20:17.92 ] >>494 >技術が全て横並びなら、 さて、はたして技術面で横並びだろうか? たとえば前スレ(昨年の年末)で議論された関数型プログラミングの話題だけど、結論は 「RubyおよびHaskellとMLでは簡潔に書けるコードが、 Pythonでは可読性が悪いコードしか書けない(Pythonでも書ける、というレベル)」 だったよね(必要であればコピペするよ) ここだけ取り出せば「Pythonは技術的にRubyより劣る」と見なせちゃうけど、それでもいいの?
500 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:24:27.62 ] 関数型プログラミング自体に優位性がないのなら仕方ないよ それなら関数型言語は素晴らしいという結論になるが、現実問題として RubyおよびHaskellとMLはトリッキーで扱いにくい言語という烙印を押されてるだけでは
501 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:24:29.74 ] >>498 日本のプログラマが糞ばかりではない事の証明がRubyの存在なんだけど では、>>489 を添削しておこう 「日本でPythonが流行らない」のは X: 日本人プログラマのレベルが世界的に見てはるかに劣ってるからだろう O: 日本人Pythonプログラマのレベルが世界的に見てはるかに劣ってるからだろう
502 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:27:12.81 ] Rubyが流行ったのはRailsを作った外国人のおかげ >>490 でも日本人Rubyプログラマはやる気ないって言ってるじゃん
503 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:47:25.48 ] PHP厨の中にはPHPは素晴らしいと本気で思っている どうしようもないのがたくさんいるから困るよ
504 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:57:00.72 ] >>502 >Rubyが流行ったのはRailsを作った外国人のおかげ 以下の事実を忘れずに ・RubyがあったからこそRailsが生まれた ・そしてPythonからはZopeが生まれたけど盛大にズッコケタ ・そして今頃になってPythonではDjangoというRailsモドキを作っている それから、古い記事だけど ・InfoQ: Ruby「出身」2008年8月11日 www.infoq.com/jp/articles/coming-from-ruby 誰が知っていたかというと? (...前略)ですから、確信がないのであれば申し上げましょう。 Rails以前にRubyが無名であった、なんてことはありません! Railsが出る前、Rubyは日本国外でさえも未知の存在ではありませんでした。 Dave ThomasとAndy Huntによる『Programming Ruby』の初版が出版され、 英語圏(母国語、非母国語に関係なく)ではRubyへの関心が初めて急激に高まりました。 DaveとAndyは、この本が出版されるもっと前からRubyについて耳にしていたはずです。
505 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 02:59:09.85 ] これがruby信者
506 名前:489 mailto:sage [2012/02/09(木) 03:02:03.53 ] Rubyの話なんかしてないのに
507 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 03:02:32.72 ] 海外は誰が使っているのか わからんようなマイナーなやつでも 本出てたりするからな
508 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 03:04:02.15 ] ruby信者が必死なのだけは伝わって来るな
509 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 03:14:45.44 ] >>506 スレタイ嫁 ここは乱入/場外乱闘ありきのLLバトルスレだ そんなにPythonだけの話がしたいのなら、巣にお帰り
510 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 03:53:13.35 ] >>504 RubyがなかったらPython Railsができていたと思うよ
511 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 04:47:45.83 ] Python なら Pails だろ常考
512 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 05:02:59.69 ] 信者にも自覚はあるんだな ttp://python.matrix.jp/columns/column2/
513 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 07:59:35.59 ] MLもHaskellも素晴らしいが Rubyはうんこだろ
514 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 08:14:27.47 ] RubyかPythonか迷ってたけど、このスレ見てたらPythonをやりたくなってきました
515 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 08:18:59.66 ] いやっいやっいや Rubyだろ女子高生的に
516 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 08:38:05.26 ] Rubyは信者がキモイ
517 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 08:38:55.11 ] >>514 このスレ的には「両方やっとけ」じゃね?
518 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 08:40:52.35 ] 両方やるのが一番無意味
519 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 09:01:40.92 ] だが敵を知らずには戦えまい
520 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 09:05:43.90 ] 「二兎追うものは一兎をも得ず」って言うじゃん 「虻蜂取らず」って言うじゃん
521 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 09:07:09.27 ] 豚にPerl
522 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 09:13:30.89 ] 蛇(Python)に睨まれたPerl
523 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 11:45:36.66 ] >>514 沢山の人がPythonをやりたくなって始める一方、やはり沢山の人が見限って去っていく。 トレンドは去る方。
524 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 12:45:43.93 ] Pythonのユーザ数が今のRubyくらいになる頃には Rubyは消滅してそうだけどね
525 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 12:50:32.86 ] いや意味がわからない
526 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 13:06:16.03 ] Ruby信者は英語が読めない書けないで 日本語情報のあるRubyしか使えないだけ 本当に憎いのはPythonじゃなくて英語
527 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 13:39:11.30 ] pythonの方がrubyよりもライブラリ多いって話は聞くな 世界で人気なら、世界中でライブラリ開発されるんだから、そりゃそうだ。と思ったが
528 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 13:54:13.62 ] ライブラリを書いても言語のバージョンアップについて行かないといけないし、 どこからどこまでのバージョンをサポートするか、という観点もある。
529 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 14:43:08.70 ] ウェブはデパートのようなもの。もうすぐ死に絶える。 当然、ウェブ系言語も死に絶える。
530 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 15:17:22.11 ] そのまえに2ちゃんねるがなくなるべき
531 名前:デフォルトの名無しさん [2012/02/09(木) 18:54:01.60 ] 今後、リアルタイムでの処理が求められるようになると 遅いLL言語では問題な気がするのですが大丈夫なのでしょうか? 解決策はあったりしますか?
532 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 18:56:58.22 ] リアルタイムというのは速い遅いじゃない 以上
533 名前:デフォルトの名無しさん [2012/02/09(木) 19:22:40.78 ] >>532 minecraftなどのオンラインゲームのサーバーはC++が主流らしいですがLLでも可能でしょうか?
534 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 19:41:14.13 ] リアルタイムは可能だろ。 それより通信速度に左右される。 アクセスが集中したときに捌けるかは別問題。
535 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 19:47:45.30 ] wikipediaやFreeBSDなど、luaの株価はじわじわと上がっている 5年後の主流は静的片付けの関数型とlua.c/c++。 .netやjvmは死に体
536 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 20:15:24.73 ] C言語で1ms以内で終わる処理が、5〜10ms掛かったところで単独で見たら体感しては判らない。 円周率計算とかCPUを使い切るようなものでは10倍時間掛かっては遅さが体感できるが。
537 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 20:24:08.43 ] 関数型とC++はいったい何に便乗しているのか
538 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 20:26:35.32 ] 建国記念の日特番「天皇とは何か?」東浩紀×猪瀬直樹 live.nicovideo.jp/watch/lv80888861 【会場のご案内】 2012/02/11(土) 開場:19:50 開演:20:00 「建国記念の日」とは、 建国をしのび、国を愛する心を養う「国民の祝日」。 この日はかつて、 『日本書紀』が伝える初代天皇である 神武天皇即位の日とされた「紀元節」という祝日でした。 戦後、紀元節は廃止されるも、 1966(昭和41)年には国民の祝日として復活しました。 憲法では、 日本国と日本国民統合の「象徴」と規定されている「天皇」。 その地位は、主権者たる日本国民の総意に基づき、 国政に関する権能を全く有さないはずの「象徴天皇制」。 しかし、天皇をめぐる状況は、 日本人のアイデンティティーの探求とも絡み合い、 常に政治、社会、文化的な争点であり続けています。 そこで、ニコニコ生放送では、この建国記念の日に あらためて、天皇とは何かを考えます。 出演は、東京都副知事の猪瀬直樹氏と、 批評家・作家、『思想地図β』編集長の東浩紀氏。 司会進行は週刊朝日の山口一臣氏です。
539 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 21:59:14.15 ] >>510 >RubyがなかったらPython Railsができていたと思うよ 革新的な発明/発見/発想に対して、後になってから 「あんなのは俺にだってできた」と語るのは三流の証(あかし)
540 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:11:56.78 ] どこに俺に出来たなんて書いてあるんだよメクラ
541 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:15:42.57 ] >>540 文盲かよ ポイントは仮定の話なら負け犬の遠吠えはいくらでもできるってとこだろ
542 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:16:41.55 ] じゃあRuby信者が何を言ってもそれは負け犬の遠吠えになるじゃないか
543 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:25:06.06 ] >>500 前スレの関数型プログラミングの議論の中で比較対象となった例題コードは、 条件分岐と反復という極めて単純なコードだ それにもかかわらず、Pythonでは可読性の悪いコードしか書けなかったから、 「Pythonは関数型プログラミングに適していない」という結論になった 従って、トリッキーで扱いづらいという烙印を押されたのはPythonではないのかな それとも、>>500 は関数型言語/同プログラミングそのものを 「現実問題として扱いにくいパラダイムである」と否定したいのだろうか?
544 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:27:27.59 ] >>542 負け犬の遠吠えとはZopeのこと?w
545 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:31:42.01 ] >>539 RubyがなかったらDHHが作ったのはPython Railsだったと思うよ って言った方がいい?
546 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:32:44.46 ] >>543 前スレ知らんのでコード貼って
547 名前:デフォルトの名無しさん [2012/02/09(木) 22:34:54.79 ] このスレみている限りじゃ、Pythonって癖強そうだよね。 JavaとかC#使っている人だと Ruby のほうが良さそう。
548 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 22:38:44.52 ] Java、C#、C++などC言語ファミリーはPHP
549 名前:539 mailto:sage [2012/02/09(木) 22:43:52.61 ] >>540 >>539 内にある「俺」とは、別に>>540 を指している訳ではない アイデアそのものは単純であっても、それを最初に見つけることが大切であるということ
550 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:30:38.28 ] >>545 横レスだけど、Pythonってクラスがオブジェクトじゃなくて Rubyのようなメタプロはできないと理解してるんだけど違う? (まだPython勉強したことないから詳しくないんだけど) それだと、作れなくない?
551 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:31:19.34 ] >>RubyがなかったらPython Railsができていたと思うよ に対して、 >革新的な発明/発見/発想に対して、後になってから >「あんなのは俺にだってできた」と語るのは三流の証(あかし) というのはつながらないと思うんだけど。 私じゃなくてDHHがRubyではない言語でRailsを作っていただろうということを より明確にするために、 >> RubyがなかったらDHHが作ったのはPython Railsだったと思うよ って書いたんだ。 だれが、どこで 「あんなのは俺にだってできた」と語っていると思ったの? 「だれが」「どこで」の2点を明確にしてレスしてよ 誰も語っていないことを、語ったかのように偉そうに〜〜と語るのは三流の証 って言ったの?メクラカス
552 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:33:51.71 ] >>550 Rubyと同じ実装方法ではRails作れないかもね 別の実装方法を考えるだけでしょ Rubyと同じ実装方法でRailsを作らないと、 PythonでRailsを実装できないって考えた理由は?
553 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:43:40.40 ] >>545 仮定を元にした未来予測なら、のび太くんにもできる ・DHHがRailsの開発に着手した時点で、すでにPythonは存在した ・にもかかわらず、DHHはRailsの実装言語として(Pythonではなく)Rubyを選んだ、 というのが事実だ のび太くん、もっと現実見なよ(AA略
554 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:45:52.50 ] >>552 もし表層的なIFだけ似たようなものを作るということであれば、 理論的には、どんな言語でも実装可能なんだろうなぁとは思ってるんだけど、 メタプロがないと、かなり実装が大変なことになるんじゃなかと思って
555 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:51:48.99 ] >>546 お題は、二分岐/多分岐/局所宣言の3つあって、 それぞれについてRuby/Standard ML/Haskell/Pythonでコードを示す [二分岐] ==== Ruby: 前スレ>>682 (上段) ==== ys = xs.select { |x| if test if test_1 then test_1_1 else test_1_2 end else if test_2 then test_2_1 else test_2_2 end end } ==== Standard ML: 前スレ>>772 ==== val ys = filter ( fn x => if test x then ( if test_1 then test_1_1 else test_1_2 ) else ( if test_2 then test_2_1 else test_2_2 ) ) xs (続く)
556 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:52:05.07 ] PHPはCに似てるっていう奴がいるけど動作がメタメタなんだよ。 よっぽど変態文法のPerlの方がCに近く感じる。
557 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:52:14.63 ] あーらら、話をずらしちゃった 反論できないのかね >>504 の > 以下の事実を忘れずに > ・RubyがあったからこそRailsが生まれた の「Rubyがあったからこそ」はおかしいと思って、 RubyがなくてもDHHはRailsを作っていたと思うよっていうために >>545 で > RubyがなかったらDHHが作ったのはPython Railsだったと思うよ > って言った方がいい? って書いたんだけど、最後の反論が > ・DHHがRailsの開発に着手した時点で、すでにPythonは存在した > ・にもかかわらず、DHHはRailsの実装言語として(Pythonではなく)Rubyを選んだ、 これか。 「Rubyがあったからこそ」っていうのは言い過ぎだと思うよって言いたいんだけど、 反論できる?知能障害起こさず続けれる?火病起こすようなら、もう止めるよ? 自分が何を言い出したかを無視して相手を貶めようと必死ですな
558 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:52:52.67 ] (>>555 の続き) ==== Haskell: 前スレ>>767 ==== ys1 = [x | x <- xs1, if test x then if test_1 then test_1_1 else test_1_2 else if test_2 then test_2_1 else test_2_2 ] ==== Python: 前スレ>>695 (上段) ==== ys = [ x for x in xs if ( (test1_1 if test1 else test1_2) if test else (test2_1 if test2 else test2_2) ) ] (多分岐に続く)
559 名前:デフォルトの名無しさん mailto:sage [2012/02/09(木) 23:58:16.75 ] で、 だれが、どこで 「あんなのは俺にだってできた」と語っていると思ったの? 「だれが」「どこで」の2点を明確にしてレスしてよ 誰も語っていないことを、語ったかのように偉そうに〜〜と語るのは三流の証 って言ったの?メクラカス
560 名前:デフォルトの名無しさん [2012/02/10(金) 00:00:27.07 ] Pythonは書き方が普通じゃないからキモくて普及しない
561 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 00:03:34.84 ] (>>558 の続き) [多分岐] ==== Ruby: 前スレ>>719 ==== ys = xs.select { |color| case color when :green true when :yellow true when :red false else raise RuntimeError end } ==== Standard ML: 前スレ>>772 ==== datatype Color = Green | Yellow | Red val ys = filter ( fn x => case x of Green => true | Yellow => true | Red => false ) xs (続く)
562 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 00:04:56.67 ] (>>561 の続き) ==== Haskell: 前スレ>>767 ==== data Color = Green | Yellow | Red ys2 = [x | x <- xs2, case x of Green -> True Yellow -> True Red -> False ] ==== Python: 前スレ>>728 ==== ys = (x for x in xs if { 'green': True, 'yellow' : True, 'red' : False }[x] ) (局所宣言に続く)
563 名前: 忍法帖【Lv=35,xxxPT】 mailto:sage [2012/02/10(金) 00:05:30.63 ] 割り込みの術 忍忍
564 名前: 忍法帖【Lv=35,xxxPT】 mailto:sage [2012/02/10(金) 00:06:05.80 ] 忍忍
565 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 00:06:23.43 ] (>>562 の続き) [局所宣言] ==== Ruby: 前スレ>>710 ==== ys = xs.map { |x| h = if x.first_page? then generate_header else nil end b = generate_body x f = if x.last_page? then generate_footer else nil end Document.new h, b, f } ==== Standard ML: 前スレ>>772 ==== datatype 'a Option = None | Some of 'a val ys = map ( fn x => let val h = if is_first_page x then generate_header else None val b = generate_body x val f = if is_last_page x then generate_footer else None in (h, b, f) end ) xs (続く)
566 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 00:07:47.10 ] (>>565 の続き) ==== Haskell: 前スレ>>767 ==== data Option a = None | Some a ys3 = [fn x | x <- xs3] where fn x = let h = if is_first_page x then generate_header else None b = generate_body x f = if is_last_page x then generate_footer else None in (h, b, f) ==== Python: 前スレ>>714 ==== ys = (Document.new(h,b,f) for x in xs for h in [generate_header() if x.is_first_page else None] for b in [generate_body(x)] for f in [generate_footer() if x.is_last_page else None]) (これで終わり)
567 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 00:54:34.24 ] >>557 ,559 あーあ、これまでは冷静なカキコだったのに、ついには感情を爆発させちゃったのね.... >「Rubyがあったからこそ」っていうのは言い過ぎだと思うよって言いたいんだけど、 であるなら、それを>>545 で書けばよかった こちらはエスパーではないんでね >>545 の仮定を元にした主張は詭弁である、と言いたかったんだけど分かってもらえなかったようだ もちろん>>504 の「RubyがあったからこそRailsが生まれた」という意見は自分の主観であるけれど、 DHH自身はその著書の中で、 ・Rubyのウリは簡潔さであり、アイデアを自然な形で表現できる ・Rubyのパワーによって、Railsの設計哲学であるDRYを実践している と語っている いずれにせよ、「DHHが(Pythonではなく)Rubyを選んだ」という事実に変わりはない
568 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 01:02:52.71 ] 自分に都合の悪いことは見ようとしませんか >>559 は>>551 の最後をコピペしただけなんだけどね やれやれ
569 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 01:40:13.03 ] 実際にコード例出しての戦いは面白いな あんまりないけど 昔あったマルコフ連鎖の実装合戦面白かった 偉そうなこと書いてるやつがコード実際に書くとぜんぜんダメだったり
570 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 01:41:51.39 ] マルコフ連鎖がダメって高卒かよ
571 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 01:49:59.27 ] そこまでは知らん
572 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 02:03:06.89 ] デバッグの補助だと、bash,awk,sedあたり。 日常的に使わざるをえないならば、構文糖衣の多いperlがいい 下手にグルーだとかウェブ系だとかドメインを広げるとかえって使い勝手が悪い件
573 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 02:20:19.58 ] >>567 >いずれにせよ、「DHHが(Pythonではなく)Rubyを選んだ」という事実に変わりはない DHHは自分で積極的にRubyを選んだというよりは、達人プログラマーたちに 勧められたからRubyを選んだだけ。本人がそう言っている。 ただ、PythonでもRailsが生まれたかというと、そうは思わない。 1.years.ago みたいに組み込みクラスを拡張しまくるのはPythonではできないし、 PythonにはRubyのブロックがないからDSLの設計が大きく制限される。 だから自由度の高いRubyならRailsみたいな尖ったフレームワークが作れるけど、 Pythonだとおとなしいのしかできないから、世界を席巻するようなブームは起こせなかったと思うよ。 それを考えると、>>557 の > ・RubyがあったからこそRailsが生まれた は、わりと当たってる。 そういう意味では、Zopeが世界を取れずに失速したのは、RubyじゃなくてPythonだったからと言えなくもない。 という回答でいいかな?>>552
574 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 02:46:22.32 ] Pythonでメタプロ出来ないと思ってる人がいるみたいだけど なんでそう思うに至ったのかの経緯に興味あるな 池沼かもな
575 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 05:29:46.32 ] その辺の経緯は何度か紹介されてるから ぐぐれば出るはず……と思ったら出た いくつか検討したが、Rubyが一番しっくり来たという話らしい gihyo.jp/dev/serial/01/alpha-geek/0004
576 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:05:09.60 ] >>566 コピペありがとう。 ぶっちゃけ殆ど差が無い気がするけど、なんで > 条件分岐と反復という極めて単純なコードだ > それにもかかわらず、Pythonでは可読性の悪いコードしか書けなかったから、 > 「Pythonは関数型プログラミングに適していない」という結論になった って結論になったん?
577 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:29:46.36 ] >>574 おまえが池沼かもな
578 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:34:45.07 ] >>575 ただの一個人、しかも変人、の意見じゃん。しょぼ
579 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:37:48.75 ] >>576 Pythonの3項演算子ifや内包表記のfor/inは 英語が読める人には自然に読めるが、 英語に不自由でifやforをプログラミング言語でしか 使わない人には奇妙に見えるらしい
580 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:46:48.66 ] >>579 そーゆー問題じゃねえんだよあの三項演算子は… そもそも、複雑に入り組んだ文を書くと Python含めてどのプログラミング言語も 英語的になんて読み下せないワケで だったら英語的である必要性は薄い
581 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 08:49:58.26 ] そんなのばっかり書いてるから平日のこんな時間に 2chしてるんだよ。。。
582 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:09:40.28 ] pythonの三項演算子はむしろ書く時に頭を使わなくて良い Cのような書き方に慣れてる人は、単に慣れだけで批判してるんだろうけど そもそもCの三項演算子は if-then の順じゃないから不自然
583 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:16:41.40 ] いやif-thenの順と言うとおかしいか。でも特にネストして書く時はpythonの方が思考の流れ的には自然 Cは条件が先行してるから : の後ろが結果なのか条件なのか決まってなくて (結果):(結果)になったり(結果):(条件)になるのは気持ち悪い
584 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:19:24.56 ] 値が先行して、その後ろが常にその値に対する条件になってる方が分かりやすい、と言いかった
585 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:40:03.97 ] どっちも不自然だろ haskellみたいに、ifが式ならそれでいいのに
586 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:44:43.28 ] 内包表記はリスト(集合)を辿るだけだし読みやすいと思うが
587 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:49:32.59 ] >>573 >ただ、PythonでもRailsが生まれたかというと、そうは思わない。 >1.years.ago みたいに組み込みクラスを拡張しまくるのはPythonではできないし、 >PythonにはRubyのブロックがないからDSLの設計が大きく制限される。 ここは同意。Railsを作れるのは、Ruby以外ならLispかSmalltalkぐらいかな。 決まりきった書き方しか許さないPythonじゃ難しいと思う。 >だから自由度の高いRubyならRailsみたいな尖ったフレームワークが作れるけど、 >Pythonだとおとなしいのしかできないから、世界を席巻するようなブームは起こせなかったと思うよ。 RoRが世界を席巻したのは事実だけど、それは技術的な要素より偶然の要素が大きいと思うなあ。 つまりは運がよかった。 と、Zope使いが負け惜しみを言ってみる。なんでZopeは世界が取れなかったんだよクソ!
588 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:49:46.95 ] >>583 ネストして書く時はインデントだろ・・・ インデント強制までしたのに何やってんだよ
589 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 09:51:07.99 ] >>588 Cみたいなのは改行インデントしないと分かりにくいってことだろ pythonはどっちでもいい
590 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 11:58:00.93 ] 英語に不自由なRuby使い可哀想
591 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 13:28:19.02 ] 英語が不自由でも使えるに越したことはないだろ だってここは言語の使い手を比べるスレじゃなくて 言語そのものを比べるスレなんだぜ?
592 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 13:29:52.62 ] 自然言語の話を当て嵌めようとしても無理があるでしょ
593 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 13:36:28.62 ] 技術者なのに英語も読めないカスの意見など 聞くに値しない
594 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 13:56:37.57 ] 技術者なら英語くらい読めて欲しいが PythonもRubyもエンドユーザを考慮した言語だと思うぞ
595 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 14:37:40.87 ] >>574 >Pythonでメタプロ出来ないと思ってる人がいるみたいだけど だれもそんなこと言ってないと思うけど。 #Rubyと比べるとできることに限りがあるのは事実だとしても。 なんでそう思うに至ったのかの経緯に興味あるな 池沼かもな
596 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 15:04:36.43 ] >>577 その変人という評価は、彼にとっては最大限の賞賛に等しいと思われる 変人だからこそ、周囲の常識的には人々が考えもつかなかった革新的なアイデアを考案し、 それをRails実現という形で行動に移すことができた
597 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 16:21:31.32 ] >>593 それで、Pythonって日本語使えるのかい?
598 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:18:28.50 ] てめーら中学生レベルの英語もよめねーのかよ 単語がわかんなかったらググれカスども!
599 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:26:49.17 ] 勝ち馬に乗るべき マイナー単語は使うべきではない
600 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 18:44:15.30 ] >>599 つまり、英語もどきでプログラミングしろ、と。
601 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:25:23.73 ] プログラムの可読性が低いと感じるとき、 自分が英語を読めないカスだから読み難く感じるのかもしれないという 可能性を考慮した方が良いよ
602 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:27:38.65 ] よし、Pythonsitaは今後英語でカキコしよう。
603 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 19:59:59.45 ] >>602 I'm very sorry. I was completely forgetful of the fact that Ruby programmers in Japan CANNOT read English. I didn't intend to humiliate you.
604 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 22:29:37.03 ] >>603 必死だな。そんなにRubyとRubyistを貶めたいのか。 何がPython信者をそこまで必死にさせるのだろう。 PythonじゃRailsは生まれなかったと言われたことが、そんなに気に食わなかったのか。
605 名前:デフォルトの名無しさん mailto:sage [2012/02/10(金) 23:25:47.62 ] >>604 OK. I know why you hate Python so hard. You can learn a programming language only when there's detailed documentation in Japanese, but Python doesn't provide it. However, this fact implies that you can't compare programming languages in an equitable manner, because your prejudices come from your English skills. You seem to hate Python, but actually you do hate English.
606 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 00:21:11.69 ] 頭デッカチなだけのボンクラ野郎どもの会話は、くだらねーし、つまんねー
607 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 00:56:59.09 ] >>582 それはそれで英語の書き方に慣れてるからというだけでCのような書き方を批判してない?
608 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:24:15.30 ] >>607 ちゃんと後のレス読めよ
609 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:27:54.61 ] >>597 特に日本ではZope信者がRuby信者以上にキモい
610 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:29:46.44 ] >>595 くやしかったんですね わかります
611 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:32:16.31 ] pealとかrubyを好むプログラマは暗号のようなコードを美しいと思っちゃうから話にならない
612 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:33:44.73 ] 便利な言い訳だな 客観的な指標で比較しないと意味ないやん
613 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:35:45.51 ] 英語がどうのと言っている人はRSpecはいいと思ってる? 自分は、そこ頑張らんでもと思っちゃって。
614 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:38:35.67 ] いやだからさー、pythonは客観的に読みやすいって常識だろ? pythonよりperl/rubyが読みやすいって奴いるの?
615 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:42:06.24 ] >>614 心の中でそう思うのは自由だが、説得力はない
616 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:42:55.81 ] >>608 すまん読んでなかった 頭の方だけ読んで分かった気になるのは良くないね
617 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:45:51.68 ] いや、pythonが読みにくいと言ってる奴を見たことがない
618 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:50:19.97 ] >>617 例えば「いや〜Pythonは読みやすいけど、Rubyの方がもっと読みやすいよ」 っていう誰かがここに出現したらどうするんだよ オレが思うからPythonは客観的に読みやすい、なんていう主観的な主張を続けるのか?
619 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:53:56.00 ] >>618 俺の意見じゃなくて一般論の話をしてるんだけど 読みやすいとかは数値化しずらいだろうが どう見ても大多数の意見がそうなってるだろ
620 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:57:16.98 ] >>605 Pythonは日本語のドキュメントあるよ。それも十分detailedなのが。 ttp://www.python.jp/doc/release/ > but Python doesn't provide it. なんていったら、翻訳してくれた人たちに失礼すぎる。 なんでそう思うに至ったのかの経緯に興味あるな 池沼かもな
621 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:57:19.38 ] >>576 3つに分けて返答するよ [二分岐(>>555 ,558)] ・すでに指摘されているけど、Pythonのif式の構文は特異/異常なもの 自分の知る限り、<then> if <cond> else <false> という 構文を採用しているのはPythonだけ ・直感的に、Pythonの構文はフローチャートやPAD等の分岐図と一致しない 特にこのような分岐がネストする場合には、それが顕著になる コード全体の構造を見れば、Pythonだけが異質なのは明白 [多分岐(>>561 ,562)] ・Pyhtonには多分岐式が存在しないため、ハッシュを用いた 「トリッキー」なコードを書かなければならない ・もちろんRubyでもハッシュによる同様なコードを書けるが、 ・ハッシュを使わなければ書けないPythonと ・ハッシュを使っても使わなくても書けるRubyとの間には 表現力に雲泥の差があるのは明白 [局所宣言(>>565 ,566)] ・Ruby/ML/Haskellの間には それぞれメソッドチェーン/高階関数/リスト内包表記という差異はあるが、 それ以外の全体的なコード構造に関しては類似性がある ・異質なコードはPythonだけであり、 これはPythonに局所宣言(ブロック/let式/where節)が存在しないことに起因する これらから「Pythonは関数型プログラミングには適さない言語である」という 結論に至った
622 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:58:53.48 ] 関数型プログラミングに適した言語なんて一般的には全然好まれてないじゃん
623 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 01:59:07.22 ] >>619 >どう見ても大多数の意見がそうなってるだろ それが主観的ってことでしょ。 主観的でいいなら、「Pythonの内包表記よりRubyのメソッドチェーンの方がわかりやすい」と思う人は多数いるよ。
624 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:01:05.67 ] >>619 そ、そうか。カンファレンスでアンケートでも取ったのか?
625 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:01:23.67 ] >>623 だから何?pythonがrubyより読みやすいのは事実だろ。何を否定したいのか分からん rubyがpythonより読みやすいのなら、なんで「関数型プログラミング」にも適したrubyがpythonに負けてるわけ?
626 名前:621 mailto:sage [2012/02/11(土) 02:04:00.13 ] >>621 の[二分岐(>>555 ,558)]への補足として、 前スレでのPythonの異質さに関する解説をコピペする >711 名前: 682 Mail: sage 投稿日: 2011/12/29(木) 15:05:28.17 >>>695 のPythonコードが読みづらい原因はif演算子の構文にある >条件判定が式である言語に限定して、それらの構文を比較してみる > >Ruby: > if 条件式 then 式1 else 式2 end >Smalltalk: > 条件式 ifTrue: [ 式1 ] ifFalse: [ 式2 ] >Lisp: > ( if 条件式 式1 式2 ) >ML: > if 条件式 then 式1 else 式2 >Haskell: > if 条件式 then 式1 else 式2 > >Python: > 式1 if 条件式 else 式2 > >普通の言語は「条件式 -> 式1 -> 式2」と左から右へ流れる(それが自然) >それに対して「Pythonだけ」は「式1 <- 条件式 -> 式2」と >左へ右へと行ったり来たりしないとコードが読めない > >プログラミング言語界の中で「Pythonだけ」が異端な存在で、可読性の悪い構文が採用されている >これは明らかにPython開発陣の言語設計ミス、あるいは判断ミスだね
627 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:08:44.16 ] >>626 お前その711の言ってることに賛成なの? 異端という言葉を使って一生懸命印象誘導してるけど、アホにしか見えない こいつが自然と言ってるのは、それがCに似てるからに過ぎない 式に条件が後続する書き方が明らかに好都合
628 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:16:01.85 ] >>627 >式に条件が後続する書き方が明らかに好都合 個人的には理解不能 伝統的なif文(あるいはif式)に対して どういう利点があるのかさっぱり分からん
629 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:20:38.02 ] まず一番左をみて条件式があるというのが気持ち悪い hoge = 条件式〜 って条件式が長かったら右辺値がどんな値になるのか分かんねえじゃん 結局先に後ろを見てそれで条件式を見直すことになるだろ
630 名前:621 mailto:sage [2012/02/11(土) 02:20:45.94 ] Pythonは英語風だから読みやすいという意見があるけど、本当だろうか? 日本語:もし C であれば T さもなければ F。 英語:If C then T, else F. ルビー語:if C then T else F バイソン語:T if C else F
631 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:27:29.52 ] if文を読むときに ifが先頭・・・ああ、次の場合条件によって@かAのどちらかを実行しなさいってことね ifが後ろ・・・ああ、@を実行するのね―――っと思ったら例外ありかよ! みたいな感じ、個人の感覚としては
632 名前:621 mailto:sage [2012/02/11(土) 02:28:04.76 ] >>627 「世界中の皆が使っているからPythonを使うべき」という主張は、 Python信者の理屈ではなかったのかな? 同じ理屈を当てはめると、条件式に関して異端なのはPythonのほうになるけど、 違うん?
633 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:30:34.29 ] >>632 意味不明。どの理屈がどうだって?
634 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:30:58.26 ] >>631 英語全く読めないでしょ?
635 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:36:43.79 ] >>634 ああ、結局分かりやすさではなく英語に慣れてるかどうかの問題?
636 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 02:37:37.60 ] >>630 英語:T if C. Otherwise, F. python:T if C else F
637 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 03:15:57.25 ] Pythonを分かりやすいと感じる理由を自分の理屈で持って解釈して主張する人もいれば 単に俺は英語に慣れてるから英語に近いPythonは英語に慣れてる分わかりやすいんだと、 突き詰めればそういうことにしかならない人もいるらしい、と、そんな感触
638 名前:621 mailto:sage [2012/02/11(土) 03:38:05.29 ] >>631 Python信者の理屈とは「みんなが使っていれば、それは正しい」だろ >>626 のコピペを見れば、 みんなが採用しているのがif <cond> then <true> else <false> であり、 それは正しい という帰結になるのは猿でも分かるよな?
639 名前:621 mailto:sage [2012/02/11(土) 03:40:46.63 ] >>636 >>630 は二分岐に関する「Pythonは英語風」に対する疑問であったけれど、 >>636 へのレスに代えて、今度は別の切り口で疑問を提起してみる まず、英語風(=自然言語風)というよりも、これは 「数学における定義と似ている」と言い換えた方が適切だろう たとえば、[多分岐(>>561 ,562)]を数式として記述すると以下のようになる f(X) = T, if X is "Green" T, if X is "Yellow" F, otherwise 確かにこれは、Pythonの <true> if <cond> .... という構文と似ている 実際Haskell文化では、>>562 (上段)よりも以下のような数式風のコードが好まれる f x | x == "Green" = true | x == "Yellow" = true | otherwise = false では、自分はPythonに詳しくないので、>>562 (下段)のコードを書き直してみてくれ Pythonが英語風で関数型プログラミングにも適しているのなら可能なはず(他の人でもいい) 論よりコードだ
640 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 03:47:38.01 ] 後置ifは、他言語にもあるから別に変でも何でもない。 lenの方がよっぽどきもい。 __len__とか勘弁して欲しい。
641 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 03:48:02.98 ] if <cond> then <true> else <false> が判り易いなんて思い込みだろ <true> if <cond> else <false> の方がシンプルで良いじゃん っていうか何で「ただの値を返すだけの記号」だと思えないんだろう
642 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 03:50:50.25 ] >>640 同意 Python 始めて間もないとき "hoge".len() とか "hoge".length() とか 期待した結果が得られないのでめっちゃ悩んだ len("hoge") なんてインチキというか目から鱗というか C やってたら当たり前なんだろうけど Ruby しか知らない人には習得は厳しい言語かもしれないな
643 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:08:42.78 ] >>640 他言語にもあるのかよ。>>621 に騙されちゃった
644 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:13:37.65 ] lenという関数もその名前も別に不満はないが なぜ文字列やリストオブジェクトのメソッドが__len__なのかは確かに理解出来ない 結局は関数のlenしか使わない
645 名前:621 mailto:sage [2012/02/11(土) 04:21:48.61 ] >>640 >後置ifは、他言語にもあるから別に変でも何でもない。 それは話のすり替えだよ 後置if はRubyや他の言語にもあるけど、それらはすべて(式ではなく)文だ 分岐式としてのif構文が後置なのはPythonだけで、それは異端だというのが>>626 のコピペ >>__len__とか勘弁して欲しい。 だよな __init__ とか勘弁して欲しい
646 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:25:14.17 ] Cやっててもきもいよ。 ほかは、メソッドになってるのになんでこれだけ関数なんだ。 どっちかに統一してほしい。
647 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:25:25.24 ] >>639 誰が、pythonが関数型プログラミングに適してるって? なぜか、関数型プログラミングに適してるほうが勝利という前提で話を進めているけど それは初めから詭弁だし、お前の文章自体が何かごちゃごちゃしてるのも、その特殊な脳内を表しているの? よくpythonスレでもリスト内包にlambda式突っ込んでごちゃごちゃやってる人いるけど 無理せずに外に関数として定義してやれば何倍もスッキリするし、そうするべきだと俺は思ってるけど lambda式自体は使うべきだけど無理して使う必要ない。読む方にも迷惑
648 名前:621 mailto:sage [2012/02/11(土) 04:26:04.90 ] >>641 シンプルで良いのなら、>>639 で希望したように、 ぜひ極めてシンブルな多分岐処理に対する>>562 (下段)のトリッキーなPythonコードを シンプルで美しいコードに書き直してくれ 繰り返すけど、論よりコードだ
649 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:31:31.50 ] __init__や__main__は特殊な関数と明示してるから嫌いじゃない __len__は別に特殊である必要がない >>648 他のコード見ても何をやりたいのか分からん
650 名前:621 mailto:sage [2012/02/11(土) 04:36:57.63 ] >>647 >誰が、pythonが関数型プログラミングに適してるって? >なぜか、関数型プログラミングに適してるほうが勝利という前提で話を進めているけど それは「Pythonは関数型プログラミングに適していない」という意見への賛同として 解釈してよいのかな? >よくpythonスレでもリスト内包にlambda式突っ込んでごちゃごちゃやってる人いるけど >無理せずに外に関数として定義してやれば何倍もスッキリするし、 まったくそのとおりだと自分も思う 実際、>>566 (上段)のHaskellコードは、リスト内包表記内にあるごちゃごちゃしたコードを where節を使うことで無理にせずスッキリした読みやすいものになっている >>565 のRubyやMLは内包表記ではないけれど、それぞれブロックとlet式を使ってスッキリしている それに比べて、>>566 (下段)のPythonコードはなんともごちゃごちゃした汚いコードだよね え、Pythonって外で関数定義しないとスッキリさせることができないの? いったい何のためにラムダ式(無名関数)があるんだろう.....
651 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:39:30.69 ] >>650 お前がスッキリと言ってるものがどんな処理をしてるのか分からないから説明してくれよ
652 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:41:17.23 ] >>650 関数型プログラミングには適してないんじゃね。望まれてもいないし
653 名前:621 mailto:sage [2012/02/11(土) 04:56:47.53 ] >>648 >他のコード見ても何をやりたいのか分からん まあ他の言語のコードが読めない、つまりPythonしか知らないのならしかたないなぁ.... というか、他の言語の経験があって、その上でPythonがイイ!と言えるヤシはいないの? >>651 Python(>>566 下段) リスト内包表記内にごちゃごちゃしたコードを書かざるを得ない Haskell(>>566 上段) リスト内包表記内のコードを(where節で)外に追い出しているからスッキリしている
654 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:58:15.29 ] >>653 お前もpythonのこと知らないって言ってんじゃん 実際明らかにそうだし 数学的にって f(X) = T, if X is "Green" T, if X is "Yellow" F, otherwise ↓ def f(x): return True if x=="Green" \ else True if x=="Yellow" \ else False こうだろ。何をさせたいのかさっぱり分からん
655 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 04:59:50.43 ] >>645 まぁ、そういわれればpythonは異端かもなぁ。 if構文は改行しないとダメだし、演算子の方は後置を強制されるから統一感がないね。 ifをワンライナーで書けるか、演算子が前置できればいいのかも。 LLの中じゃ、pythonは嫌いじゃないけど、ところどころキモくてもどかしいところあるよ。
656 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:05:00.80 ] >>639 Prologだと、 f(X) :- 'Green'(X). f(X) :- 'Yellow'(X). これはこれで多大なコストが掛かっているけど。
657 名前:621 mailto:sage [2012/02/11(土) 05:06:52.02 ] >>652 了解した もしそれがPython支持派の総意であるなら、これ以上はバトルスレで語る事柄ではないと思う この話題は終わらせてもいいだろう
658 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:08:50.13 ] 逃げんなよ。関数型プログラミングで言語の優劣が決まるのなら 関数型言語の今の惨状は無い
659 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:11:14.38 ] >>656 if ~ then ~ else ~ の場合はカットが必要なのでは? f(X) :- 'Green'(X),!. f(X) :- 'Yellow'(X).
660 名前:621 mailto:sage [2012/02/11(土) 05:11:53.34 ] >>654 あ、スマン、>>653 のカキコ内にあるアンカが間違っていた 訂正する X: >>566 O: >>562
661 名前:621 mailto:sage [2012/02/11(土) 05:14:10.19 ] >>658 逃げる気はないよ Python信者が関数型プログラミングの議論を続けたいなら、こちらも望むところだ
662 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:17:26.60 ] 単純に学習コストだな。受け入れやすさ。 簡単に使えるようになって、やりたいことが出来るのならそれで問題ない そうやって皆が使えば資料もライブラリも充実して、さらに学習コストが下がる 関数型プログラミング必須なんて有り得ないし それで出来上がった「スッキリ」と言われるコードは意味不明だし やはり一生普及しないだろうと実感した
663 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:34:35.58 ] >>648 Pythonが特別トリッキーだとは思わないな いまどきのjavascriptっぽくて好感が持てる
664 名前:656 mailto:sage [2012/02/11(土) 05:35:19.42 ] >>659 すみません。間違えました。 f('Green'). f('Yellow'). ですね。カットを入れるかどうかは迷います。Xがどこかに行ってしまいました。 これが嫌なら、 f(X) :- 'Green'==X. f(X) :- 'Yellow'==X. かな。
665 名前:621 mailto:sage [2012/02/11(土) 05:38:05.42 ] >>654 その文末にある醜い¥記号は何? Cのマクロ定義なら分かるけど、なんでそんな記号を使わないとならんのだろ インデント強制のPythonなら、(Haskellのように)インデントで書けないの? あと、そのコードは未完成 その関数定義をラムダ式にして>>562 の(ハッシュを使った)トリッキーなコードを書き換えてほしい
666 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:43:26.06 ] javascriptで思い出したけど、 なにげに,CoffeeScriptがすごくよさそうだと個人的には思う。
667 名前:621 mailto:sage [2012/02/11(土) 05:43:37.11 ] >>663 トリッキーであることそのものは批判していないよ 最初に以下の>>621 で書いたように >・もちろんRubyでもハッシュによる同様なコードを書けるが、 > ・ハッシュを使わなければ書けないPythonと > ・ハッシュを使っても使わなくても書けるRubyとの間には > 表現力に雲泥の差があるのは明白 Pythonが(ハッシュを使った)トリッキーなコードでしか表現できないことを問題視している
668 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:49:36.48 ] (lambda x: x in ["Green", "Yellow"])で良いんじゃね
669 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:50:30.20 ] ああ、問題を解決できてもダメなのか、関数型プログラミング至上主義的には
670 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:55:27.43 ] 関数型言語とか関係なくダメだと思うよ というかPython的にすらダメじゃないの
671 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 05:56:56.45 ] なぜ?"Green"か"Yellow"なら真、それ以外なら偽じゃないの
672 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 06:06:43.50 ] トリッキーだと思わないと言っているのに >トリッキーであることそのものは批判していないよ とか論点逸らしひどす
673 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 06:08:18.97 ] 最初から詭弁による話題誘導しかしてないよ。一番最初から
674 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 06:22:32.10 ] お前ら、Scala使えよ 実用的な関数型言語だ RubyとかPythonとかどうでも良くなるよ。
675 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 06:25:34.79 ] ScalaはJava臭が残ってるから好きじゃない
676 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 06:29:27.42 ] RubyからScalaに乗り換えた15くらいの理由 ttp://wota.jp/ac/?date=20100426#p01
677 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 06:34:58.63 ] まずはスレタイに Scala 入れてからだな
678 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 06:40:43.46 ] Rubyはいらんだろ
679 名前:621 mailto:sage [2012/02/11(土) 06:46:38.64 ] >>673 詭弁であると思うのなら、その時点で(=一番最初に)指摘すればいい たとえば>>539 では、>>510 の主張が仮定を元にした詭弁であると即座に反論している 議論が進行してしまってから「一番最初から」うんぬん言うのは、 バトルスレでは自ら敗北を宣言したに等しい では、>>643 を添削しておこう X: 最初から詭弁による話題誘導しかしてないよ。一番最初から O: もうこれ以上は技術的な議論しても勝てそうにないので、印象操作しかできません(涙声
680 名前:621 mailto:sage [2012/02/11(土) 06:55:09.24 ] >>672 >トリッキーだと思わないと言っているのに あっそうか、Python(>>562 下段)しか知らない蛙さんだったのね ならばしかたないな.... Ruby(>>561 上段)/ML(>>561 下段)/Haskell(>>562 上段)のコードが読める人なら、 単純にcase...という多分岐構文を使うだけなのに、 ハッシュを使わないと書けないなんてPythonとは変というか不自由な言語だなあって思うよ
681 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:05:58.33 ] ん? 異質=トリッキー だと思ってる馬鹿?
682 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:22:44.59 ] 621は2chに長文書き込んでる暇あったら英語勉強したほうが良いよ?
683 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:26:19.43 ] キーワード引数をハッシュで代用してる Ruby使いがハッシュをキモイって言ってもなぁ……
684 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:30:17.42 ] ハッシュってキーを間違えた時 エラー出る?
685 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:37:26.32 ] >>679 > 詭弁であると思うのなら、その時点で(=一番最初に)指摘すればいい > たとえば>>539 では、>>510 の主張が仮定を元にした詭弁であると即座に反論している >>504 >・RubyがあったからこそRailsが生まれた >>510 >> RubyがなかったらPython Railsができていたと思うよ >>539 > 革新的な発明/発見/発想に対して、後になってから > 「あんなのは俺にだってできた」と語るのは三流の証(あかし) >>510 を「あんなのは俺にだってできた」と語っていると考えたのは 馬鹿の証 ただ、証(あかし)ってかっこつけて書きたかったんでしょ。 バーカ
686 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:41:31.82 ] ならない キーワード引数をハッシュで模倣するのは 間違った引数を書いてもエラーにならないという 明らかな欠点が存在する
687 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:46:02.36 ] >>665 ifが式のHaskell様の素晴らしいコード s = "begin" ++ if True then "foo" else "bar" ++ "end" 答え:s = "beginfoo" あれ?endは?
688 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:54:27.17 ] >>683 一応2.0では本物のキーワード引数が入るっぽいよ
689 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:56:04.39 ] とういかさ、なんでそういう基本的な機能を 最初に作らないの?
690 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 07:59:45.72 ] >>686 ハッシュで分岐を表現する>>562 と違って ハッシュでキーワード引数を表現するのは 本物のキーワード引数より機能的に劣るってことか 異質とかトリッキーなんて主観よりも明確だな
691 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 08:02:20.66 ] Pythonのインデント強制はなにか意味があるのかね? インデント程度でコードが読みやすくなるわけ無いし。 強制されなくてもインデントするでしょ? それよりか、スペース強制のほうがいいと思う。 たとえば × foo+bar、○ foo + bar こんな感じ。 英語文化的にこういう場合にはスペースを開けるのが普通。 そしてスペース強制と書いたけど、本当は、 「foo+bar」いう変数名として解釈される。 関数もオブジェクトという考えと同じように 記号もまた名前なんだよ。
692 名前:621 mailto:sage [2012/02/11(土) 08:03:50.40 ] >>683 トンチンカンな指摘だなあ Rubyには(Pythonの)キーワード引数に相当する構文は無いよ Pythonのディクショナリを展開して関数へ渡す方法に相当するのが、 Rubyのハッシュによる引数渡しになる >>684 (Pythonの)ディクショナリってキーを間違えた時エラー出る? >>686 ,690 上で書いたようにディクショナリに相当するのがハッシュであり、 Pythonのディクショナリ渡しで間違ったキーを書いてもエラーにはならないから、 これまたトンチンカンな指摘だ ただし、Pythonのキーワード引数そのものはRubyには無い優れた特徴だと思う
693 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 08:13:35.20 ] Rubyではキーワード引数をハッシュで代用する話をしてるのに 何でPythonで辞書で渡す話にすり替えてるの? Pythonにはキーワード引数があるんだから キーワード引数を使いたい(引数を間違えたときにエラーにしたい)なら 辞書じゃなくてキーワード引数を使うよ
694 名前:621 mailto:sage [2012/02/11(土) 08:18:15.25 ] >>693 すり替えたつもりはないよ >>692 にはPythonのキーワード引数は(Rubyには無い)優れた特徴であると 書いてあるのに、読めなかったのかな?
695 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 09:51:05.87 ] 引数の取り回しは、 オプション引数・デフォルト引数、キーワード引数、型チェック、バリデーション機能 くらいは言語仕様でどの言語も実装してほしいな
696 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 09:54:49.33 ] そうだね ブロック引数もどの言語でも実装してほしいよね
697 名前:621 mailto:sage [2012/02/11(土) 10:08:24.71 ] そうだなw でも、それを言い出すと PHP: HTML内にコードを埋め込むのはLLならできて当然だよね Javascript: 今の時代、デフォでWebブラウザ上でも動くのが常識だろ などと言う輩が続出して、収拾がつかなくなると思われ
698 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 10:11:40.70 ] まあ引数の話だし 最低要件PowerShellレベルってことで
699 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 10:45:37.43 ] オプション引数(デフォルト引数)とカリー化の相性の悪さは異常
700 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 10:57:52.50 ] >>665 ys = (x for x in xs if (lambda x : True if x == "Green" else True if x == "Yellow" else False)(x))
701 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:05:42.87 ] 実装してほしいとか言うなよ それは日本語に翻訳してほしいって言うのと同じレベルの発想だ
702 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:33:06.02 ] Rubyは書き捨てスクリプト専用言語だから キーワード引数なんて要らない あれは大きいプログラム用の機能だからね 当然トイプログラム専用言語Haskellにも要らない
703 名前:621 mailto:sage [2012/02/11(土) 12:39:48.07 ] >>700 ありがとう もしも今後関数型プログラミングの議論が再開してコードを引用する場合、 >>700 のコードも忘れずに引用します
704 名前:621 mailto:sage [2012/02/11(土) 12:43:56.75 ] >>702 だよね RedMineみたいなプロジェクト管理ツールなんてちっぽけな使い捨てスクリプトだし、 Railsみたいなフレームワークもオモチャみたいなもんだしね .... .... .... これでいいのかなw
705 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:48:39.90 ] キーワード引数ってシェルコマンドから来た発想じゃねーの?
706 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 12:57:13.47 ] >>704 その辺はRuby本来の使い道を既に外れてると思われ
707 名前:621 mailto:sage [2012/02/11(土) 12:58:20.60 ] >>699 オプション引数・デフォルト引数・キーワード引数というのは、 それらを個々にひとまとめとした直積データ構造であると考えた方が自然な気がする たとえばオプション引数は省略可能な要素から成るタプル型で、 キーワード引数はレコード型であると解釈する
708 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 13:01:24.42 ] Ruby本来の用途を外れた使い方された挙げ句 GCが遅いおそい言われてるのを見ると ちょっと可哀想ではある
709 名前:621 mailto:sage [2012/02/11(土) 13:18:32.55 ] >>706 たとえ生まれが使い捨てプログラミング用途だとしても、 可能性があり実現に望ましい性質を持つ言語であるのなら、 どんな用途に使われようと周囲がとやかく言うべきではないと思う >>706 は、子供達を無理矢理自分の枠にはめようとする 逝き遅れたオールドミス数学教師(>>442 )の発想だね Rubyたん(>>437 )は、 RailsでメタプログラミングをそしてRakeおよびRSpecで内部DSLという、 これまでにない新しい扉を開いた まだまだ潜在的な可能性がRubyには残されている 今回議論になった「Rubyによる関数型プログラミング」もそんな可能性の一つ まだまだ成長と進化を続けていくだろうと思う
710 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 13:39:24.44 ] >>709 別に使われること自体は構わないけど それを基準にするのはおかしくね?ってことだよ
711 名前:621 mailto:sage [2012/02/11(土) 13:57:29.18 ] >>710 生まれが書き捨てスクリプト言語であることを基準にする >>702 の発想はおかしくね?ってことだよん
712 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 14:30:37.38 ] まぁ、勝手に使っておいて文句ばっかり言うのは うんkだな。
713 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 14:36:27.02 ] >>711 まあそこはね 無くてもやれるが、その内ほしいな
714 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 14:52:03.72 ] 主要なものは既に存在する。 まだないのは、マイナーすぎて作れないもの。 マイノリティを肯定しないと作れない。
715 名前:621 mailto:sage [2012/02/11(土) 15:13:20.36 ] >>714 そのとおりだと思う おそらく、それには変人の発想(>>575 ,578,596)が必要になる 簡単に言うと、周囲のマジョリティーと安易に同調しない強い意志/自我を持つこと そしてRubyスレによれば、どうやらRubyにはそんな変人達を引きつける魔力があるらしいw
716 名前:621 mailto:sage [2012/02/11(土) 15:33:40.22 ] >>713 確かに>>695 の中でRubyには欠けている キーワード引数、型チェック、バリデーション機能は (欲張りかもしれないが)Rubyにもほしいところだね ただ、キーワード引数については、Ruby 1.9で順序付きハッシュが導入されたことだし、 Smalltalk(あるいはObjective-C)風のメッセージ式によるメソッド定義のほうが (Pythonのキーワード引数よりも)可読性が高くて望ましいなぁ たとえば、def put: str at: point; .... end みたいに でも、Rubyの構文に大掛かりな変更が必要になるから、採用される見込みは無いだろうw あと、型チェックとバリデーション機能についてはTestUnit風の アサーションライブラリ関数で(暫定的に)対応できないかと開発を進めているところ たとえばこんな感じ def put_at str, point ASSERT.kind_of str, String ASSERT.tuple_of point, [Float, Float] 最終的には、この型アサーション(表明)を関数アノーテーション(注釈)と見なして、 ドキュメント内に型式(あるいは自然言語風の解説)を自動生成することも視野に入れている
717 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 15:52:16.64 ] お題って621がlambda式に条件分岐が必要なものを自分で考えたんだろうなあw
718 名前:デフォルトの名無しさん [2012/02/11(土) 16:13:29.15 ] Ruby をシェルの変わりに使いたいな シェルだと、以下のような記述をして実行したとき rm -rf ${TEMP_DIR}/*.* 変数を定義しているソースの取り込み忘れや、 変数のスペルミスがあったときに悲惨な結果になるんだよな てかやっちまったんだよ……orz
719 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:20:41.47 ] まあ型チェックもバリデーションも Pythonならデコレータで簡単にできるんですがね
720 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:22:25.98 ] 621は人の話を聞かず、正反対の意味に曲解して話を進めるのをやめた方がいい
721 名前:621 mailto:sage [2012/02/11(土) 16:55:30.71 ] >>717 そうだよ、今頃気が付いたのw Ruby/ML/Haskellでは簡潔に書けるけどPythonではそうでないお題を選んでいる つまり、Pythonは「どちらが関数型プログラミングに適しているか」という勝負に 負けるべくして負け、「不適格」という烙印を押されたことになる >>720 前にも書いたけど(>>679 )、もしも悪意のある曲解があるならその時点で強引にでも止めればいい その判断が正当なものであれば、いくら強引でも止める行為を非難するヤシはいないはず 後になってから「xxすべき」を言い出すのは、敗者の泣き言(あるいは負け犬の遠吠え)だ では、>>720 を添削しておこう X: 621は人の話を聞かず、正反対の意味に曲解して話を進めるのをやめた方がいい O: 技術的な議論では自分の思い通りに話を進められないので、個人攻撃に移るよ
722 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:56:39.82 ] >>703 せっかくpythonがクールでないというお題を考えたのに残念だったね
723 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:57:07.50 ] >>721 >>700 でちゃんと出来たじゃん。残念
724 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:58:07.24 ] >>721 そういう議論の進め方が下衆だって言ってるんだよ
725 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 16:58:29.46 ] 荒らしに何を言っても無駄
726 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 17:21:47.15 ] まあバトロワスレなんて基本はこんなもんじゃね
727 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 17:43:01.03 ] QZはずっとここにいろ ここQZ隔離スレにしてよ
728 名前:621 mailto:sage [2012/02/11(土) 17:47:14.12 ] >>722 ,723 3つあるお題の内、多分岐については>>700 がコードを示してくれたので >>621 の「Pythonではハッシュを使わなければ書けない」という主張を取り下げる ただし、もし可能であったなら>>700 のコードは前スレで示すべきだった 前スレのPythonな人も難しいと言われるリスト内包表記を使いこなすだけの技量はあったけど、 >>562 (下段)のようなハッシュを使うコードしか思いつけなかった そして今レスでも誰も>>562 に対してコードで反論できずにいて、 >>639 ,665と誘導することによってようやく>>700 の「ちゃんとした」コードが完成した これは、Pythonによる多分岐のコード化が いかに難解なものであるかを示しているのではないのかな? Rubyなら簡単に書ける初歩的なお題なんだよ あと、>>621 の残る2つのお題、二分岐と局所宣言に関するPythonへの問題指摘に対しては 明解な反論が無いまま、>>650 の > それは「Pythonは関数型プログラミングに適していない」という意見への賛同として > 解釈してよいのかな? という問いかけに対して>>652 が > 関数型プログラミングには適してないんじゃね。望まれてもいないし と返答しているけど、別人さんなのかな? それともPython支持派には意見の不統一があるのかな? >>661 で書いたように逃げる気は無いので、議論の続きを再開しても自分はかまわないよ
729 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:01:41.70 ] >>728 どこが難解なんだよw お前がpythonのことを1ミリも知らなかっただけじゃねえか もう黙れ。二度と再開するな
730 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:02:57.77 ] お題が悪い pythonのlambda式が不便になることがあるのは事実だが、こういうパターンではない おそらく不便という事実だけ聞いてこの問題を作ったんだろうけど的外れもいいところ
731 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:07:32.90 ] らむだこりゃ
732 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:09:49.97 ] / ..::::::...ヾ,-┐:::::.. ヽ、 /:::::::: :::::::::::::::..ヽ|、::::::::... ヽ、 ラムだっちゃ♥ / :::::::: 、:::::::::::::::::...ヽ::::::::::::.. ヽ / ::::: 人、 | ヽ、_:::::::::::::: |:::::::::::::. | ,イ´ | :::ト、 | `'-,r‐=,、ヽ、 ::: |:::::::::::::: | rv' l´ ヽ、:.| r-、 p ヽ `l ,ヘ::::::::::::::::: | | | | ヾヽ、 ハ ヾ_ノ .| |' .|:::::::::::::::::: | ''´ ̄ ̄`ヽ、、_ | | | ヽ、l ゞ ー | レ'::::::::::::::::::: | ´ ̄ ` r-L l ', |` 、 ,' |:::::::::::::::::::::: | _rヾニ `ヽ ', ヽ、 r‐-ァ /::|::::::::::::::::::::::::.. | ヾゝイ´ ,/ .', ヽ、ゝ' _,.-;ノ:: |:::::::::::: ::::.. | ::.. ト ´ /.... 'ヽ,、_ >r' /:: /::::::::::::: ::: | : 〉 .|:::::::::::...... `ー-‐'´,-/ /::::: / `ヽ、::: | ::.... .:::::::::::| |:::::::::::::::::,、-r―'''´ ̄ ,.-‐'´:::. / |:::::.... . | :::::::::::::::::::::::::::::::::| ',:::::::::::::∧ヾ V/―/::::::::::: / |:::::::::::.......:::. | :::::::::::::::::::::::::::::::::| ',:::::::::::ト kl /三/:::::::::: / ,'::::::::::::::::::::::: | :::::::::::::::::::::::::::::::::| ',:::::::::|ヾヾ|、 /::::::::: ,イ ,'::::::::::::::::::::::::: | | :::::::::::::::::::::::::::::::::| ',/ヽ__ヾ、|:::::: ∧/ /:::::::::::::::::::::::::: |.|.| ::::::::::::::::::::::::::::::::::', ! / ヾ:: ∠__/ /:::::::::::::::::::::::::: | ||
733 名前:621 mailto:sage [2012/02/11(土) 18:37:08.10 ] >>729 いや、Pythonのことは部分的に知っているはずだよ だって、Pythonの弱点を突けるコードを意図的に選んだのだからw あと、>>658 は「逃げんなよ」と言い、>>729 は「二度と再開するな」と言う 同じ人ではないと思うので、別人さんでPython支持派内に意見の不統一があるのかな いったいぜんたい、どっちにすればいいんだろう 関数型プログラミングへの適合性について議論を再開する or しない、 Python支持派内で意見を統一した上で、どちらにするのか返答を希望する >>730 だから、もしもお題が悪いのなら、最初にお題が示された時点で(=前スレで)反論しないとね 議論が終わってから「xxが悪い」と言い出しても遅いよ もし今から反論したいのなら、Python/ML/Haskellでは簡潔に書けるけど Rubyではそうではない「単純明快な」お題を、Python/ML/Haskellのコードで示してくれ 論よりコードだよ なお、議論の再開に関しては即答しなくともかまわない たとえば次スレでバトルの第三ラウンドを始めてもいいよ 判断はそちらにあずける
734 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 18:48:23.94 ] 前スレも>>700 も書いたのは俺 あのときハッシュを使ったのはRubyのコードが例外を投げてたから 最後に関数型っぽいコード ys = filter(lambda x: x in ["Green", "Yellow"], xs)
735 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:10:15.80 ] >>733 いや、お前の主張が間違ってたのだからそこで終了だろw 結局優位性すら認められずw
736 名前:621 mailto:sage [2012/02/11(土) 19:17:12.53 ] >>734 >あのときハッシュを使ったのはRubyのコードが例外を投げてたから お題のコードは変数宣言が欠けているから例外が発生するのは明白 こちらとしては、その程度の壁なら自力で対処できるくらい「Rubyを知っている」と思っていた また、もしも例外発生を自力で解決できないかったのなら、 その時点でそれを言うべきだったと思うよ そんな機会はいくらでもあった 例外うんぬんのいい訳は、前スレ(あるいは今スレ>>621 )から>>700 のレスまで 「ちゃんとしたコード」の完成に時間を要した理由にはならない >ys = filter(lambda x: x in ["Green", "Yellow"], xs) ys = xs.select { |x| ["Green", "Yellow"].include? x }
737 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:24:56.68 ] 「Pythonを知らない」奴がなぜ偉そうなのか分からん
738 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:25:20.24 ] >>736 > お題のコードは変数宣言が欠けているから例外が発生するのは明白 そうじゃなくて、>>561 のRubyコードはgreen, yellow, red 以外なら raise RuntimeError の行で例外を投げてるだろ
739 名前:621 mailto:sage [2012/02/11(土) 19:26:17.24 ] >>735 1つの主張が崩れても全体が否定されないよう、意図的にお題は3つに分かれている 残念ながら「Pythonは関数型プログラミングには不適格」という烙印は消えていないw では、残る2つの主張を崩せる反論の準備をよろしく頼むぜ 議論の再開を待っているよ
740 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:28:30.99 ] やはりPythonの解答が「明らかに」美しいな。この問題だと
741 名前:621 mailto:sage [2012/02/11(土) 19:35:15.41 ] >>738 ML/Haskellといった静的型付け関数型言語は、green, yellow, red 以外なら型エラーになる それに合わせてRubyは動的型付けだから例外を投げるコードにしている それがお題だ(関数型言語は知っているんだよね?) ただし、Pythonでは例外を投げるコードが難しいみたいだったから、 あの時はその部分について「見逃してあげた」だけの話 もし反論があるなら、>>700 のコードについて、例外処理を含めて再実装してくれ
742 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:38:43.73 ] >>741 >>562 のPythonのコードも green, yellow, red 以外なら例外投げる 見逃してもらう必要は無い
743 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:40:32.46 ] 非現実的な馬鹿らしいお題だな
744 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 19:48:13.07 ] >>737 同意するわ。 こいつPythonのプログラム読めて無いじゃん。 可読性を議論するレベルに達してない。
745 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:06:42.60 ] PHP最強ということで結論が出たようだな。
746 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:13:32.23 ] >>561 >>562 ML,Haskell,Pyhtonは似てるけどRubyだけ異質で浮いてる。 はっきり言ってRubyだけキモい。
747 名前:621 mailto:sage [2012/02/11(土) 20:13:33.28 ] >>742 あっそうなんだ、>>562 でもハッシュを投げるんだね 失礼した、謝罪する では、型エラーまたは例外発生をお題に含めるものとして、 >>621 の「Pythonではハッシュを使わなければ書けない」という主張を崩すために、 >>700 (あるいは>>734 )のコードについて例外処理の実装を追加してみて欲しい こちらで試したところ、>>700 ,734とも例外は発生してない
748 名前:621 mailto:sage [2012/02/11(土) 20:17:06.28 ] >>740 ,746 そういった意見は、主観であり客観的な判定材料にならないことは すでに結論付けられている だから>>621 では具体的で客観的な問題指摘を示した したがって、同様なレベルの意見を希望する
749 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:31:40.61 ] いまをときめくFacebookも、ブログシステムてして他の追随を許さないWordPressも CMSとして最強の呼声高いDrupalも、みんなPHPで作られているんですね。 すごいよなぁ。
750 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:35:29.04 ] PHP遅すぎてC++に変換したり 苦労しているみたいだけど
751 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:38:45.64 ] え? ここLLのスレだよね?
752 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:46:39.95 ] >>748 >>621 は間違ってただろwさっさと訂正しろよ
753 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:48:52.46 ] >>748 「ハッシュは異質・トリッキー」が主観で無くて何なんだ? 客観的と言うなら、ハッシュで分岐するのが キーワード引数の例(>>690 )のように 機能的に劣った点があることを示せ
754 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 20:54:05.79 ] 621が自分の主観を客観的を言ってるんだけど、何なの
755 名前:621 mailto:sage [2012/02/11(土) 20:58:47.63 ] >>752 >>742 から再実装されたコードが提示されたら、まとめて訂正するつもりだよん 今のままだと>>700 のコードは例外を投げないから仕様不整合であり、 >>621 の「ハッシュを使わなければ書けない」という主張は崩れていない >>742 が(仕様不整合を)見逃してもらう必要は無いと、明確に意志を示してくれたので、 それを尊重してコードの提示を待っているところ
756 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:07:28.71 ] >>755 お前はコードの提示を待つ前に>>753 に答えるべき
757 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:09:31.44 ] 長文=客観的
758 名前:621 mailto:sage [2012/02/11(土) 21:35:08.04 ] >>756 では、>>753 に答えよう(>>753 は見落としていたので、指摘ありがとう) まず、お題の題名が多分岐なのだから、Ruby/ML/Haskellのように 言語仕様に多分岐式を含む言語であれば、多分岐式を用いてコードを実装するのが当たり前 でもPythonは言語仕様に多分岐式を含まないから、 それをハッシュで「代用」しなければならない 次にハッシュで代用することの問題点を述べる ・Ruby/ML/Haskell 予約語 case によってコードが多分岐処理の実装である事は一目で判断できる ・Haskell コードをじっくり眺めなければ、それが多分岐処理なのか、それとも 本質的にハッシュを用いる処理なのかを判断できない つまり、Pythonのハッシュによる「代用」は、可読性の悪化という影響をもたらす
759 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:39:05.26 ] おおむねRubyしか使ってないけど (趣味プログラマです) 他の言語を知るにつれて Rubyってメタプログラミング力が弱いような気がしてくる ちょうどいい感じに使いやすくメタプログラミングできるようになってるだけで なんか、深い事しようとすると出来ないようなきがする 実際にはそこまでのメタプログラミング能力は要らないのだけど ブログなどのネタなんかだと、他言語の方がダイナミックなこと出来るなぁ などと思ってしまう 例えば、Rubyではスクリプトのパース時に細工したりは出来ないし かといって他の言語に移ろうとかいう気は起こらないけど
760 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:43:08.35 ] >>758 > 本質的にハッシュを用いる処理なのかを判断できない これを主観という
761 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:46:44.47 ] Rubyがプチヒットしたのは 主にRailsのおかげなんだろうけど たまたま備わっていた ・完全なオブジェクト指向&オープンクラス ・DSLに向いてたブロック構文 ・同メソッド呼び出し括弧の省略 ・適度なメタプログラミング力 がマニアにうけたのかなぁ 島根県の公式サイト程度ならまだしも イギリスの公式サイトがRuby製で製作中なんて 無茶しやがってとか思うけど よくは知らんがクックパッドとか、そこそこ大きそうなサイトも運営されてるので 大丈夫なんだろうか GitHubもRailsらしいが
762 名前:621 mailto:sage [2012/02/11(土) 21:52:05.58 ] まだ時間があるようなので、>>758 を続ける 次にハッシュを用いる事それ自身の問題点を示す Pythonのハッシュは、そのキーとして用いれるのは不変なデータ型(数値/文字列/タプル)だけ これは、このお題の入力値が「たまたま」文字列であったから何の問題も無いが、 課題をより一般化して、任意のレコード(オブジェクト/ハッシュ)が渡されたと「仮定」する この場合、Pythonだと多分岐処理をハッシュでは実装できなくなる これは「Pythonは拡張性に劣る」という欠点となる また、Rubyではハッシュのキーとして任意のオブジェクトを用いることができるから、 多分岐処理をcase式とハッシュのどちらでも実装が可能になる これは「Pythonは表現力に劣る」あるいは「ハッシュの機能性が劣る」という欠点となる 以上
763 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 21:53:21.33 ] >>758 ハッシュで代用するというか、Visitorパターンだな じっくり眺めなければ判断できないという批判は、全てのデザパタに当てはまる
764 名前:名無し~3.EXE mailto:sage [2012/02/11(土) 22:02:05.48 ] ざっと流し読みしたら、一人で頑張ってるのがいるようだけど 大好きなRubyたんのシェアが伸びるどころか落ち込んでるのが 余程気に食わなかったのかね Railsがありながらシェアが伸びないのは何故なんだろうね
765 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:04:17.12 ] >>755 def Raise(e): raise e ys = (x for x in xs if (lambda x : True if x == "Green" else True if x == "Yellow" else False if x == "Red" else Raise(KeyError))(x))
766 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:04:40.85 ] 藪をつついてデザパタ全否定
767 名前:621 mailto:sage [2012/02/11(土) 22:10:36.90 ] >>760 その判断が一目で(瞬時に)できるか、じっくり眺めなければならないかは、 プログラマの能力に依存する話 そして全世界のあらゆるPythonプログラマが優れた能力を備えていると仮定すれば、 瞬間的な判断の可否は主観と言えるだろう でも現実は、そうではないハズだ(それとも、これすら主観であると決めつけるのかな?) 経験豊かなプログラマもいれば、ビギナーもいる 従って、これを主観と決めつけることはできないと判断する また、可読性という評価基準そのものが主観性を含むものだ 「予約語caseがあれば分岐処理の始まりであると一目で分かる」と考える人は多いと思うが、 中には「caseを見落とすかもしれない」と屁理屈をごねる変な人もいるかもしれない でも、これらはそれぞれの人達の主観であるから客観性は存在しない では、本当に「可読性」を完全に無視していいのか?という話になる Pythonの優れた特徴である可読性の良さという利点も無視されるけど、 それでもいいの?という意味だ 判断は>>760 に委ねたい
768 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:18:04.10 ] うんこ
769 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:18:37.53 ] >>762 > Pythonのハッシュは、そのキーとして用いれるのは不変なデータ型(数値/文字列/タプル)だけ > これは、このお題の入力値が「たまたま」文字列であったから何の問題も無いが、 いるよな。都合が悪くなると後から条件変えてくる奴。 不変なデータ型ってことにケチつけるなら、 まずHaskellでmutableなデータ型が入力値のときのコードを出せよ
770 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:18:39.79 ] >>702 >Rubyは書き捨てスクリプト専用言語だから >キーワード引数なんて要らない 冗談じゃない。 Rubyにも本物のキーワード引数が欲しいし、Matzもそう言っている。だからこそ2.0で導入される予定。 >あれは大きいプログラム用の機能だからね 冗談じゃない。キーワード引数は小さいプログラムでも実に役に立つ。 こんなこというのは、Pythonをまともに使ったことないんだろう。 キーワード引数は、Python使って嬉しかったことの筆頭。 しかしlambdaが文をとれないなど残念な面も多い。RubyのブロックがPythonにも欲しい。
771 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:18:43.40 ] 関数型言語のコードを一見して分かる優れたプログラマばかりなら 621の理屈は通るけどね
772 名前:621 mailto:sage [2012/02/11(土) 22:18:56.77 ] >>765 コードありがとう でも、このコードは外でRaise(e)という関数を定義しているよね ここまで提示されたすべてのコードには、外部定義は一つもなかった このままだと「Pythonは外部定義が無ければ書けない」という 批判材料を敵に与えてしまうことになるけど、それでもいいのかな? もし可能であれば、外部定義の無いコードに書き直して欲しい
773 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:19:55.73 ] >>772 外部定義をしてはいけない理由はなに? 明らかに全てのコードの中で一番スッキリしてるだろ
774 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:20:40.61 ] >>772 Raise() は一度定義すれば何度でも使えるけど? つまり一切のライブラリの使用を禁止ってこと?何の縛りプレイ?
775 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:20:43.38 ] 敵なんてどこにいるんだと思ったが、バトロワスレだからべつにいいか。
776 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:23:53.83 ] >>775 敵はあなたの心の中に潜んでいるのだよ。
777 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:24:51.58 ] たしかに うんこ と 言わざるを得ない
778 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:25:30.92 ] 今にして見れば、Rubyのコードが終わってる
779 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:26:24.86 ] うんこーど
780 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:26:33.28 ] Perlの話もしろよ
781 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:28:45.39 ] >>772 SML の datatype や Haskell の data も外部定義
782 名前:621 mailto:sage [2012/02/11(土) 22:29:09.41 ] >>763 >じっくり眺めなければ判断できないという批判は、全てのデザパタに当てはまる 「じっくり眺めなければ判断できない」ことが全ての言語に当てはまるのなら批判はしない Ruby/ML/Haskellであれば予約語caseがあるから一目で判断できるのに、 Pythonは「じっくり眺めなければ判断できない」から批判されている 分かるかな?
783 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:32:49.01 ] 今にして見れば、Rubyのコードが一番終わってる
784 名前:621 mailto:sage [2012/02/11(土) 22:35:01.27 ] >>769 では、バトル第三ラウンドでは、Haskellでも書ける(imutableな)レコード型を入力値とする お題を準備することにしよう もし不満であれば、>>769 が別のPythonに有利なお題を準備すればいい
785 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:35:27.55 ] >>782 予約語 if と True/False を見ても一目で判断できないなら終わっとる ていうかお前以外誰も「一目で判断できない」と言ってない お前しか批判してないんだから > Pythonは「じっくり眺めなければ判断できない」から批判されている みたいに伝聞のような書き方をするな
786 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:35:51.72 ] >>784 お前お題の作り方下手糞すぎるからやめとけよw
787 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:36:39.12 ] >>785 長文だから許されるらしいよw
788 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:36:56.74 ] >>784 何でHaskellに合わせてルール決めるんだよ
789 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:39:45.44 ] Haskellを巻き込むのはやめて欲しいなぁ。 LL同士で勝手にやってほしい。
790 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:41:56.22 ] >>789 やってるのはRuby信者兼Haskell信者だけどな
791 名前:621 mailto:sage [2012/02/11(土) 22:43:17.39 ] >>773 ,774 Ruby/ML/Haskellのような局所宣言が言語仕様に含まれていれば、 これまでのように局所宣言で書いてもいいし、 あるいは外部定義に書き直してもいい つまり「表現力が豊かである」という利点になる ここで、もし「Pythonが外部宣言が無ければ書けない」とすれば、 それは(上記とは逆に)Pythonの欠点となる この判断は、すべて>>765 が示してくれるであろう新しいコードに係っている
792 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:47:07.45 ] それらコードを見て誰が「表現力が豊か」と思うんだろう
793 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:49:58.16 ] >>791 だから SML や Haskell でも datatype や data を使わないで書けって 外部定義禁止なんだろ?
794 名前:621 mailto:sage [2012/02/11(土) 22:51:40.58 ] >>785 このお題くらい単純なコードなら、誰でも短時間で判断できるだろう でもコードの規模が大きくそして複雑になれば、誰も瞬間的な判断なんてできなくなるよ 可読性とは、そういった大規模開発で意味のある評価基準だ というか、こんな反論しかできないとしたら、>>785 は大規模ソフトウェア開発の経験ゼロだろ?
795 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:52:03.60 ] 一切の外部関数の使用を禁止して競う表現力の高さw
796 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:55:26.82 ] 機能を制限するのは、フェアじゃない気がするなぁ。
797 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:57:11.35 ] >>794 お前以外はコードの規模が大きくなっても 一目で判断できると思うぞ
798 名前:621 mailto:sage [2012/02/11(土) 22:57:43.84 ] >>786 ,788 だってバトルなんだから、こちらがRubyに優位な条件にするのは当然だろ もしもPython支持派がお題を提示してくれれば、それに付き合うよん では、新たなお題の準備、ヨロシクw
799 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 22:58:53.67 ] >>794 > 可読性とは、そういった大規模開発で意味のある評価基準だ 大規模開発なのに外部宣言は禁止なの?www
800 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:03:04.48 ] >>798 なんでRubyがクソに見えるお題作っちゃったの?
801 名前:621 mailto:sage [2012/02/11(土) 23:04:36.45 ] >>793 ML/Haskellは静的型付け言語だから、データ型の定義は認めている このバトルは Ruby vs. Python なんだから、些細な問題だろ
802 名前:デフォルトの名無しさん [2012/02/11(土) 23:07:09.83 ] >>641 いやいやそこは <cond> if <true> else <false> then だろ。 実装によっては <cond> if <true> else <false> end でもいいらしいけど。
803 名前:621 mailto:sage [2012/02/11(土) 23:08:16.62 ] >>796 ,799 外部宣言を禁止している訳じゃないよ >>791 を読んでくれ さすがに長文レスは疲れてきたぜw
804 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:08:27.00 ] >>801 お前以外は外部定義した関数を使うのは些細な問題だと思ってるよ
805 名前:621 mailto:sage [2012/02/11(土) 23:09:45.19 ] >>800 >.... がクソに見える >>760 によれば、これが主観というものらすい
806 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:11:16.09 ] >>805 お前は自分のレスがクソみたいな主観だって認めてるんだな その事に驚いた
807 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:13:05.47 ] >>803 いや、関数内部でデータ型を定義できないのは 明らかに表現能力の制限だから SMLやHaskellのことだけど
808 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:14:56.82 ] つーかRubyのコードはホントひでーな こんなクソコードをドヤ顔で貼ったんだと思うと笑える
809 名前:621 mailto:sage [2012/02/11(土) 23:20:02.93 ] >>804 まあ、外部宣言の話は、>>765 がコードを示してくれるまで待ったほうがいいんじゃね? もしも>>765 が外部宣言を使用しないようコードを書き直すことができるのなら、 Python陣営に不利な条件は完全に無くなって、 >>621 にある3つの主張の中の一つが完全に崩れ去る訳だから
810 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:21:41.92 ] 標準ライブラリに特定の関数(この場合はRaise)が在るか無いかが 言語の表現能力を決めるらしい
811 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:22:35.94 ] ねえねえ、Rubyは外部定義すれば「ちゃんと」書けるんだよね? それならそうした方が良いと思うよ
812 名前:621 mailto:sage [2012/02/11(土) 23:24:30.47 ] >>807 だってこれは Ruby vs. Python のバトルなんだもんw ML/Haskellの表現能力に制限があっても関係ないだろ
813 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:25:30.83 ] ユーザ定義関数を使用禁止の大規模開発www
814 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:27:41.31 ] Rubyは結局Perlだから、書き捨てオレオレコードに向いてるって言えば良いのに
815 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:29:36.90 ] unix系では外部関数どころか外部言語を平気で使うから 優れた言語を一つだけ決めるようなバトルは発生しないんだよな。 一般的に言うと文字列を多用する環境ではバトルがない。 S式やオブジェクトなど、文字列に代わるものを使い始めるとバトルになる。
816 名前:621 mailto:sage [2012/02/11(土) 23:36:00.12 ] >>811 うん、書けるよ でも外部宣言でRubyコードを書く気は無いよ バトルなんだから、相手に有利なことをするわけないだろ 残念でしたw
817 名前:621 mailto:sage [2012/02/11(土) 23:38:40.29 ] >>814 自分の思い通りに話を進められなくて、残念でしたw
818 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:44:20.72 ] >>816 つまりRubyっていずれにしても汚いコードしか書けないから不利になるってことか 自分のお題で自分の首を絞めるなんてなあ
819 名前:デフォルトの名無しさん mailto:sage [2012/02/11(土) 23:55:18.54 ] >>809 ys = (x for x in xs if (lambda x : True if x == "Green" else True if x == "Yellow" else False if x == "Red" else {}[x])(x))
820 名前:デフォルトの名無しさん [2012/02/12(日) 00:02:34.21 ] どいつもこいつも時代が見えてない。 クラウドにおいては、PCはただの端末だ。 動画が見れるミニテルに過ぎん。 クラウドの真ん中に鎮座しているのはMapReduceだ。 もはやPythonやRubyの出る幕はない。
821 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 00:14:47.14 ] >>719 デコレータ自体の表現力はいいと思うけど 型チェックやバリデーションのための機能としてみた場合、 なんか書き方が冗長すぎるなぁ 読むのが疲れる
822 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 00:17:20.70 ] >>820 もしかしてMapReduceが万能の技術だと思ってる? あれ、レスポンスタイムが重要なところには使えないんだが。 向いてるのはバッチ処理だけ。
823 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 00:22:18.19 ] MapReduceはスケールしやすくて 意外に汎用性がある点で注目されたというだけで それが全てかというと決してそんなことはない 例えばパイプラインとか、ステンシルとか、 他にも様々なパターンらしきものが見つかっている
824 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 00:27:22.50 ] Pythonのlambdaは汚点でしょ、何故あんな中途半端な仕様のまま残ってるのか解らん いっそ削除してしまえば「ローカル関数作れ」で統一されるという利点にもなるだろうに
825 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 00:29:33.48 ] >>821 こんな感じ? @typecheck def f(x:int, y:int) -> int: return x + y @validate(x=lambda x: -1 < x < 1) def g(x): print(x)
826 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:06:45.76 ] >>641 >if <cond> then <true> else <false> >が判り易いなんて思い込みだろ ><true> if <cond> else <false> >の方がシンプルで良いじゃん 何を根拠にそう決め込むのか? おまえこそ思い込みだろww >っていうか何で「ただの値を返すだけの記号」だと思えないんだろう <cond> ? <true> : <false> を「ただの値を返すだけの記号」だと思えないやつが何言ってるんだw Python信者アホすぎるww
827 名前:621 mailto:sage [2012/02/12(日) 01:28:13.77 ] >>819 お疲れさまです コードを拝見したところ、raise文の代用として、 空のハッシュを入力値で参照することでKeyError例外を投げる実装みたいですね でも残念ながら、見逃してもらう必要は無いという貴殿の意志を尊重すると、 これは「例外を投げる」という意味では仕様不適合ではないけれども、 任意の例外を投げられるRubyに対して「Pythonでは決まった例外しか投げられない」という、 表現能力におけるPythonの欠点であると評価します 自分としては多分岐の評価項目については完全に引き分けであると判断して、 >>621 から項目そのものを削除したいと考えているのですが、 このままでは>>621 の改訂版に上記の評価結果を反映せざるを得ません もし可能であるなら、任意の例外を投げられるコードへの書き換えを希望しますが、 コードの書き直しかそれとも>>819 を最終完成品とするのか、どちらを選びますか? 後から非難されるのを繰り返したくないので、お手間をかけますが返答を願います
828 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:28:45.71 ] >>862 「ただの値を返すだけの記号」だと思えれば良いなら、 条件分岐構文の読みやすさに差はなくて 慣れだけの問題ってことだな
829 名前:828 mailto:sage [2012/02/12(日) 01:29:38.00 ] >>826 の間違いだった
830 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:33:33.19 ] >>827 >>700 のコードで良いよ。任意の例外を投げれるし で、「標準関数以外を使えない条件でのみ、投げられる例外に制限がある」と明記しといて
831 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:37:08.14 ] >>824 代入文等の文を使えないのは関数型の原理主義的には正しい仕様。
832 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:39:16.59 ] ああ>>765 だったね、失礼 まあ、言語の表現能力とやらをどう判断するかは各人の自由だと思うので、 条件だけは正しく明記してください
833 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:42:49.00 ] じゃあ今度は>>825 を各言語で書いてみよう
834 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 01:47:32.00 ] >>827 > 自分としては多分岐の評価項目については完全に引き分けであると判断して、 Rubyのコードはクソという意見多数なんだが、どうして引き分けなんだ?www
835 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 02:02:18.33 ] >>831 でもそれって文への依存性が低いからこそ言えることじゃね? 本場の関数型ならlet式とか、分岐も式だったりするから実用になるけど 文への依存性が大きい現状のPythonで文が書けないってのは大きなマイナス点よ
836 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 02:39:44.80 ] >>763 Vistorパターンはトリッキーで好きだが、難しくしてるだけだろ。 普通にポリモーフィズムでごりごりやった方が楽。
837 名前:621 mailto:sage [2012/02/12(日) 02:51:02.36 ] >>830 了解しました また、その補足文章をそのまま明記することを約束します では、>>621 の改訂に取りかかろうと思いますが、 少し疲れたのでこの辺で一時休息に入ります 改訂版のカキコまで、しばらくお待ちください
838 名前:621 mailto:sage [2012/02/12(日) 02:55:18.38 ] いけね、>>832 を見落としていた >>832 了解しました 改訂版は>>765 とし、条件は必ず明記します
839 名前:621 mailto:sage [2012/02/12(日) 03:06:17.34 ] >>834 このバトルスレは討論により勝敗を決するものであり、多数決で決めるものじゃねえだろ もしも多数決で決めたかったのなら、 最初に(前スレまたは今スレ>>625 )それを主張して皆の同意を得ておくべきだったな それを今頃になってのこのこ出てきて、多数決などと言い出しても遅すぎるわ 残念だったねw
840 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 03:19:52.79 ] >>833 Common Lispで (declaim (ftype (function (integer integer) integer) f)) (defun f (x y) (+ x y)) (declaim (ftype (function ((real -1 1)) *) g)) (defun g (x) (print x)) (g 1) => 1 となるが。
841 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 03:30:12.69 ] 多数決じゃ逆立ちしても勝ち目がないから、ノイジーマイノリティが勝つ設定じゃないと困るんだろ 関数型言語信者がよくやる手口だな そんなことやってるという事実が既に負けなんだよね 比較の条件も厳選に厳選、限定に限定を重ねて、やっと優位を示したかと思ったら クソコードだし、何をやりたいのか分からん
842 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 06:42:46.88 ] >>802 馬鹿ですね わかります
843 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 09:14:00.97 ] 僕 Python 信者 ここは LL スレだからしかたないかもだけど Python vs Ruby っていう比較で Python を選んだ人は少ないんじゃないかな Python 信者の半分は NumPy 信者で、その人たちは Ruby とか最初から眼中になくて 比較相手は Python vs R だと思う
844 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 10:02:17.67 ] よく知らんけどScipyやMatplotlib見たかんじでは、RってよりMatlabじゃね
845 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 10:09:08.63 ] >>844 金持ちだな
846 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 10:35:49.63 ] >>843 Python信者じゃないけど、俺がPython使うのを 選んだ理由と全く同じだわ
847 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 10:59:41.87 ] だってRって関数はいっぱいあるけどプログラミング自体は不便なんだもん
848 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 10:59:48.20 ] >>825 そんな暗号の様なコードは読み手に不要な知識を要求するので可読性が低い 大規模開発ではこの程度のコード量の増加は誤差の範囲 def f(x, y) if !x.kind_of?(Integer) then raise TypeError end if !y.kind_of?(Integer) then raise TypeError end z = x + y if !z.kind_of?(Integer) then raise TypeError end return z end def g(x) if !(-1 < x && x < 1) then raise RuntimeError end print x end
849 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 11:00:34.09 ] >>833 PowerShell function f ( [int]$x, [int]$y ) { $x + $y } function g { param ( [ValidateRange(-1,1)]$x ) $x }
850 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 11:01:51.99 ] カスrubyの言い訳が酷い
851 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 11:25:09.46 ] >>831 Pythonてそういう原理主義を否定してlenとかjoinとかああいう仕様にしたんじゃなかったっけ?
852 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 11:26:00.51 ] >>843 ,846 数値計算系はrubyは眼中に入らないほどの差がある・・・と(メモメモ
853 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 11:28:10.78 ] >>852 お前Rubyとの比較じゃないんじゃないかってところは読めないの? バカなの?
854 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 11:32:22.36 ] >>853 いや、>>382 も読んでたんで・・・
855 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 11:45:27.02 ] PHPとJavascriptとRubyはこの世から消えて欲しいわ
856 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 12:00:28.13 ] バイオインフォマティクスだと Perl > Python > Ruby かな。
857 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 12:06:16.55 ] DelphiはDelphi言語で実装されてるし、VC++もC++で実装されてる。GHCもHaslellで実装されてるし、pypyもpythonで実装されてる。 rubyにはrubyで実装されたruby処理系って無いの?
858 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 13:08:52.80 ] Rubyデバッガ
859 名前:デフォルトの名無しさん [2012/02/12(日) 15:03:12.53 ] >>857 rubinius
860 名前:Vintevecom(Yokohama)=娵十=TEN10(teto) [2012/02/12(日) 21:29:02.15 ] 嘩喃人が奪い、中国に送った警察と自衛隊の銃は アジア大陸の七百万人の命を奪った。嘩喃人の立て籠りの2年間に何人が犠牲になったかアジアに確認を。 嘩喃人の河馬兄弟が諦めず、止めない。 人質を捕り、立て籠りを続けながらハッキングをしつこく続けている。 皆、大正生まれの戦犯。原爆投下と枯葉剤を作った人間だ。 今も犠牲者が増えるばかりの 2-Hndred Yars' Wrの最中である事を日本人だけが知らない。
861 名前:デフォルトの名無しさん mailto:sage [2012/02/12(日) 22:54:32.85 ] 平和なのもいいけど、退屈だなぁ、、、
862 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 07:13:18.93 ] >>843 の改変版 僕 Ruby 信者 ここは LL スレだからしかたないかもだけど Ruby vs Python っていう比較で Ruby を選んだ人は少ないんじゃないかな Ruby 信者の半分は Rails 信者で、その人たちは Python とか最初から眼中になくて 比較相手は Ruby vs PHP だと思う
863 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 07:29:39.88 ] pgr説
864 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 08:04:27.55 ] RubyはPHP並にうんこ説
865 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 09:03:39.33 ] >>862 最後の行はRails vs 〜とすべきじゃね?
866 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 09:23:00.91 ] >>865 オリジナルの>>843 が Python vs R だったから、それにあわせた
867 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 09:43:41.12 ] |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ノ| |丶、 ;;; __;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;_,,: ィ";;_| ト、;;;;;;;;;;;;;;;` ` '' ー -- ‐ '' ";;;;;;;;;,:ィ;:;! ,';:``' ‐ョ 、 ,_ ;;;;;;;;;;;;;;;;;;;;;;;;;;; , - '"l;:;:;:;:l だまりゃ!そのほう麿をなんと心得る! l;:;:;:;:;:;:;ミ ` ` '' ー -‐ '" ,リ;:;:;:l l;:;:;:;:;:;:;:ゝ く三) (三シ `ヾ;:t、 恐れ多くも帝より三位の位を賜わり fミ{;:;:;:;:f'´ , -−-_,, _,ィ 、_,,ィ,.-−、 };f } l トl;:;:;:;:l 、,ィ或tュ、゙:ミ {,'ィt或アチ l:l,/ 中納言まで勤めた麿の言うことを聞かなくば ゙i,tヾ:;:;:! `ヽ 二ノ ト ` ‐''"´ l:l:f ヽ`ー};:l ,r'、 ヽ リ_) どのようなことになるのか分かっておるのか! `"^l:l ,/゙ー、 ,r'ヽ l ゙i ,ノ `'" 丶. ,' 今一度しか述べぬ!心して聞くがよい! ゙l、 ′ ,, ィrェェzュ、,_ 〉 } / ',ヽ ヘヾ'zェェェッ',シ' //ヽ } 丶、 ` ー--‐ '"'´,/ノ:.:.:ヽ /l 丶、 ,.イ:.:.:.:.:.:.:.:丶、、 ,r'"^l ! ` ー‐;オ´:.:.:.:.:.:.:.:.:.,ノ ,}、 ,. -ァ=く(:.:.:.l l //:.:.:.:.:.:., - '" ,/ ヽ、 何語で話すかにこだわっているうちは六流。 何を話すかにこだわって五流。 何を為すかに思い至ってようやく四流。 思うだけでなく、為せたならば、三流。 為したことを他人に評価されてやっと二流じゃ。 為したことを後世の人間に評価されて初めて一流となる。 主らはいつになったら六流から抜け出すことができるのじゃ。
868 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 09:47:11.46 ] >>866 ありゃ、ほんとだ 脳内でNumPy vsに変換されてた
869 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 09:59:27.07 ] >>867 麿もたまにはいいことを言うw
870 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 16:59:19.41 ] まあRubyのコードは6流だったね
871 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 19:21:25.79 ] >>867 おまけ。 下を向いて生きていれば六流。 下を向かずに生きて五流。 自分に目を向けて四流半。 上を向いて生きて三流半。 他人がどうのこうのではないわ! まず、主自身に目を向けい!
872 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 20:59:31.21 ] 目は口ほどに物を言う、ってことは目も口も六流
873 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 21:14:58.21 ] The eyes are the window of the soul. ・・・「目は心の窓
874 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 05:58:08.31 ] Why I left Perl www.leancrew.com/all-this/2012/02/why-i-left-perl/
875 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 06:04:08.82 ] いちいち言い訳せんで 勝手に去れよ
876 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 06:08:46.94 ] perlに嫌気が差した人は次の言語としてrubyはperl臭いから選ばないと
877 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 07:33:39.19 ] >>876 同意
878 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 11:56:29.41 ] で お前らちゃんとメシくえてんの?
879 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 11:59:58.98 ] Rubyでは食えてない Pythonでは食えてる
880 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 12:12:19.93 ] 咥えるって・・・ キャー///エッチー
881 名前:デフォルトの名無しさん mailto:sage [2012/02/14(火) 13:04:44.28 ] くわ・える〔くはへる〕【×銜える/×啣える/×咥える】 [動ア下一][文]くは・ふ[ハ下二] 1 口に軽く挟んで支える。「楊枝(ようじ)を―・える」「物欲しそうに指を―・えている」 2 引き連れる。伴う。
882 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 08:15:29.00 ] >>862 Zopeもあったのに、最初から眼中にすら置いてもらえない Python カワイソスwww
883 名前:デフォルトの名無しさん mailto:sage [2012/02/15(水) 19:23:46.58 ] クソコードの後だから煽りも虚しいな...
884 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 11:28:52.77 ] amazon mixi モバゲー にちゃんねる perlってこのぐらいか? もう役目を終えつつあるな
885 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 12:53:58.98 ] 満を持していよいよ、Perl6 の出番か
886 名前:デフォルトの名無しさん [2012/02/16(木) 13:58:01.59 ] pythonもperlも仕事増やしたいから互換性なくしたんだろwwwwwwwwwwww 賢いなwwwwwwwwww htmlも大幅に増やしたしなwwwwwwwww
887 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 14:27:25.82 ] html5は増えたのもあるけど、減ったのもある。 タグ付けとデザインが完全に分離したから、ある意味すっきりしたともいえる。
888 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 16:48:40.99 ] Perl5 はコンテキスト依存で 返り値が変わるのが いまいち、ちゃんと把握してない あと、リファレンスとかややこしい Perl6にいたっては到底覚えられそうにもない(覚える気は無いけど) 大幅に増えた演算子をしっかり理解してないと ソースを読むのもままならない よくは知らんがAPLやJみたいな暗号言語に近づいた気がする わかってる人にはコンパクトにコードがかけて効率がいいのかもしれないが
889 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 18:41:13.11 ] 結局、PHP最強ということか。 マゾっ毛でも無い限りPHPにしとけ。
890 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 20:30:34.01 ] >>887 マークアップとスタイルの分離はXHTMLどころかHTML4の頃から意識されてたでしょ。
891 名前:デフォルトの名無しさん mailto:sage [2012/02/16(木) 22:08:12.90 ] >>890 でも、html4はfontタグでフォントや色を指定したり、tableタグのwidthでボーダーの幅を指定したりとかできたよね。 html5では、タグでこれらの指定はできなくて、デザイン要素は全てCSSで指定するようになったから、分離が徹底されてるよ。
892 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 06:54:13.30 ] まあ、Perl5のコンテキストって、現状ほとんど使われて無くて、配列のサイズを取得する時ぐらいしか意識する必要ないけどね。 リファレンスはCのポインタが理解できる程度の能力があれば動って事内。 Perl6は型指定可能なスクリプト言語というのが非常に魅力的。
893 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 08:25:34.11 ] >>891 HTML5 よりも HTML4 strict の方が徹底されています
894 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 09:36:36.44 ] いーや、html5の方が徹底されてるよ。
895 名前:ぱーる列伝 mailto:sage [2012/02/17(金) 12:56:31.21 ] LLの連中は人脈つくりに必死に献本送ってますね トミタさん トミタ「うひょおおおおおおおおおおおwwwwwwwwwwww人脈つくり楽すぎwwwwwwww 適当に本書いて、上層部Perl使いや、LL企業関係者におくりまくろうぜwwwwwwwww」 ってクールなツラして心の中で思ってるからしょうがねーよな 必死におこぼれにあやかろうと色々なやつが、同じLL使いを褒めあってる ハテブとかなんかで 「尊敬するPerl使いリスト」みたいな まじおもしれーわ 生き残りかけてる
896 名前:デフォルトの名無しさん mailto:sage [2012/02/17(金) 13:06:38.83 ] 忍者か?
897 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 09:49:37.64 ] >>848 >そんな暗号の様なコードは読み手に不要な知識を要求するので可読性が低い 言語仕様に型検査や検証機能が含まれていれば、それを「暗号」とは言わないし、 逆にユーザコードで表現(代用)しなければならないRubyよりも優れていると考える >大規模開発ではこの程度のコード量の増加は誤差の範囲 開発規模とは無関係に、本質の実装コードが検査/検証コードに埋もれる点で、可読性に問題がある たとえばこのお題であれば、メソッド f の(本質のコードとは) z = x + y であり、 同様にメソッド g であれば print x だけであるけれど、それが一目で認識しずらくなっている 自分なら>>825 のお題について、(後置の)unless修飾子と(メリハリを入れる)空行を使って、 以下のように書く (続く)
898 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 09:50:19.16 ] (>>897 の続き) def f(x, y) raise TypeError unless x.kind_of?(Integer) raise TypeError unless y.kind_of?(Integer) z = x + y raise TypeError unless z.kind_of?(Integer) z end def g(x) raise RuntimeError unless -1 < x && x < 1 print x nil end
899 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 12:16:14.51 ] There's more than one way to do it
900 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 12:42:03.95 ] 其れは方法が多い
901 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 12:43:44.32 ] Here is the battle stage. Let's fight!
902 名前:デフォルトの名無しさん [2012/02/18(土) 14:00:14.38 ] >>900
903 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 14:35:27.58 ] theじゃなくてaだろ
904 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 14:56:45.22 ] Pythonは見やすさ重視してるかなと思うけど、RubyとPerlは大差ない。
905 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 17:20:21.02 ] >>897 Pythonも別に型検査などが言語機能としてあるわけではなく 単にデコレータを使えばそういうことに「も」書く側で対応できるってだけじゃん そういうデコレータの汎用性はいいと思うけど、直接実装するのと比べるとやっぱりね どこまでをどの程度の抽象度で表現できるようにするかってのは、難しいけども
906 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 17:22:36.12 ] 何この低レベルな争い、、、
907 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 17:36:17.90 ] javaのクラスライブラリが使えるだろうjruby一択だろjk pythonなんて、vbみたいに文法がシンプルな割には、 classに毎度毎度、selfと書かなければならないperl臭さがあってダメポ 実際問題、ハッカーの書いたスクリプト言語に、どれほどの信頼性があるのよ?って怖さがある シンプルな言語でなければ、言語開発者たちが解析木なり構文木なり、 明文化されてないのを良いことに、バグ放ったらかしてそう だから使うなら、シンプルなscheme系統が良いけれども clojure/clojure scriptなんかは開発陣がなんかキモい そんな理由でjavascriptとluaが大勝利
908 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 17:42:15.36 ] 変な理屈だなあ
909 名前:897 mailto:sage [2012/02/18(土) 18:15:13.12 ] >>905 失礼、説明が足りなかった 自分がうらやましかったのは、f(x:int, y:int) -> int という型式風の関数アノテーション構文 で、それをデコレータと組み合わせると型検査/検証を簡潔に書けてイイ!と (ただし、デコレータは一種のマクロだから「Rubyとは」相性が悪いように思う)
910 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 18:20:13.58 ] rhinoが流行らなかったのは、javaのクラスライブラリとjsの相性が悪すぎたせい rubyの方がpythonよりも言語の機能が豊富だしOOPとしては優れているのは誰の目にも一目瞭然 perlはもう…(笑)これから、4、5年ぐらいはjsが、かつてのperlと同じポストに着く。 廃れるときも、perlと同じ扱い。 javaは文法というか、色々と冗長すぎるので、 kotlinなりceylonなりポストjavaにjvmのメインストリームを奪われる。というか奪われろ。 関数型は大手ITの社内アプリなんかで徐々に使われだし、 ある程度の方法論とノウハウが蓄積後に業務アプリの開発で主流になる。
911 名前:897 mailto:sage [2012/02/18(土) 18:35:54.36 ] >>907 全体としてはいくつか異論があるけれど、 >pythonなんて、vbみたいに文法がシンプルな割には、 >classに毎度毎度、selfと書かなければならないperl臭さがあってダメポ ここだけは同意
912 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:03:47.00 ] >>911 selfは慣れる。railsずっとやってたおれが保証する。よく忘れるけど。 それより、Pythonは親クラスのメソッド呼び出しがださすぎる。 super(ClassName, self).method() だっけ?最初見たときバカかと思った。 で、そんなはずはないと思ってもう一回みたら、やっぱりバカばかしかった。 はっきりいってPythonのsuperはPHP以下。Pythonでオブジェクト指向したくなくなる。 あとDjangoがいつまでたっても3に対応しない。Railsは早々に1.9に対応済というのに。クソったれ。
913 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:08:24.43 ] Perl は5.8辺りで上手く枯れて来たなーと思ったところに色々突っ込んじゃった印象 まあ路線的には専門外だったWebから脱却して ポストawkというかシェルのお供みたいな位置で落ち着きそうだなと思う
914 名前:897 mailto:sage [2012/02/18(土) 19:10:31.61 ] (>>898 の続きになる) >>825 はお題であるから>>898 のコードが適切だと思うけど、 実際の開発で型検査/検証が必要であれば(>>716 で簡単に紹介した)表明メソッドを使う require 'tmdoc/tmstd' ASSERT = TmStd::Assertion def f(x, y) ASSERT.kind_of x, Integer ASSERT.kind_of y, Integer z = x + y ASSERT.kind_of z, Integer end def g(x) ASSERT.assert -1 < x && x < 1 print x nil end メソッド Assertion.kind_of(およびassert)のコード定義については、以下を参照 www.h6.dion.ne.jp/~machan/tmdoc/example/tmdoc.book/html/tmdoc.src.tmstd.assertion.rb.html#tmdoc.src.tmstd.assertion.rb.32 (続く)
915 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:11:56.46 ] >>912 まじPython2のsuperはアホ全開だよな Python3だとsuper().method()だからマシだけど
916 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:12:20.27 ] >>912 Pythonは多重継承あるから、勝手に継承元決められるより 親クラス明記のが楽かも…まあ、それでも色々くっ付き過ぎだけどw
917 名前:897 mailto:sage [2012/02/18(土) 19:14:18.80 ] (>>913 の続き) 実行結果は以下のようになる(等幅フォントを使わないとボックスは奇麗に表示されない) irb(main):006:0> f("Hoge", 1) +=== ASSERTION FAIL!! : A is a kind of E. ==== |[EXPECTED(E) TYPE] | Integer |----------------------------------------------------- |[ACTUAL(A) TYPE] | String |[ACTUAL(A) VALUE] | Hoge +===================================================== TmStd::Exception::AssertionFail: TmStd::Exception::AssertionFail from /opt/local/lib/ruby/site_ruby/1.8/tmdoc/tmstd/assertion.rb:55:in `kind_of' from (irb):4:in `f' from (irb):6 from :0
918 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:19:45.30 ] >>916 > Pythonは多重継承あるから、勝手に継承元決められるより > 親クラス明記のが楽かも ダウト Python2でのsuperは親クラスじゃなくて自クラスを指定する 信者乙 #いやこの程度を間違えるなら信者ではないかも?
919 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:22:06.73 ] >>916 親クラスを指定するんじゃないんだよ。それなら百歩譲って理解できる そうじゃなくて自身のクラスを書かなきゃダメなわけ。例えばこんな感じで class C(B): def meth(self, arg): super(C, self).meth(arg) 全く意味不明だろ?w Pythonユーザの俺でも擁護できんわwww (なお、Pythonのメソッド呼び出し obj.meth() は C.meth(obj) と等しいので 親クラスを選んで呼ぶのは普通に出来る)
920 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:31:45.45 ] >>918-919 Ω<ナ、ナンダッテー いや普段使わない言語に俄か知識でテケトーな事言ってスマンカッタ
921 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:36:15.72 ] python使っててそういうコードに出くわした記憶がない
922 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:37:10.33 ] >>912 >PythonのsuperはPHP以下 そんなこというと、Python信者が暴れるだろうが―! ttps://twitter.com/#!/methane/status/169769965849817088 > Pythonだと、プログラムを綺麗にしようとするモチベーションが働くけど、 > perlやphpではそういったモチベーションが働きにくくてやっつけコードに > なるのは、俺の個人的な問題なのか、ある程度言語自体が抱えている問題なのか? ttps://twitter.com/#!/methane/status/169771873545097216 > php使うとcometとかWebSocketとか対応が難しいし、HandlerSocketの性能も引き出せないし、 > Fluentのphpクライアントも他の言語で普通にできているバッファリングが普通には出来なくて > 苦労してるらしいし、
923 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:38:52.74 ] ttps://twitter.com/#!/methane/status/169771970525790210 > 「新しい技術に挑戦する」ことを奨励する企業がphpばかり使ってるのは問題だよね。 Python信者の発言こそ問題だけどな。
924 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 19:47:15.28 ] 大昔にもツイッターのコピペばかりしてる奴がいたけど復活したのか
925 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 20:56:41.67 ] >>915 はアンチPythonのふりをしたPython信者 自演キモ
926 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 21:30:44.44 ] >>909 > (ただし、デコレータは一種のマクロだから「Rubyとは」相性が悪いように思う) デコレータはただの高階関数(に対する構文糖) Rubyと相性が悪いとすれば、それは高階関数と相性悪いってこと
927 名前:デフォルトの名無しさん mailto:sage [2012/02/18(土) 22:59:25.08 ] >>905 もっともなご意見有り難う。そんな事言いだしたら、PerlだってMooseで型制約出来るもんな。切りがない。
928 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 00:18:28.13 ] ttps://twitter.com/#!/methane/status/169774541797728259 > 社内でPythonをメインで使っていくぞーって吠えてphpをdisったりしてるの、 > 単にガキが暴れてるだけに見えるかもしれませんが、もともと僕自身が > 引っ込み思案なので自分を追い詰めるために虚勢を張っているのです。 > 察してください。 ワラタw Python信者が言い訳しとるww
929 名前:Python信者 mailto:sage [2012/02/19(日) 00:49:15.04 ] >>918 馬鹿は黙ってろ >>912 どうしてもPython2でその書き方が嫌なら super(ClassName, self).method() の代わりに SuperClassName.method() でもいい さらに どうせインスタンス作った後はsuper変えることなんてなさそうだから __init__の中で __super=super(ClassName, self) とした上で __super.method() って書いても良い 何でobjectクラスの中でそれが定義されてないのかって突っ込むなら Railsのまねで object.__super=
930 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 08:01:58.01 ] >>929 objectに属性追加出来ないだろ 本当にPython信者か?
931 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 08:15:29.58 ] >>929 >どうしてもPython2でその書き方が嫌なら >super(ClassName, self).method() >の代わりに >SuperClassName.method() >でもいい ださいことには変わりないけどな >さらに >どうせインスタンス作った後はsuper変えることなんてなさそうだから >__init__の中で >__super=super(ClassName, self) >とした上で >__super.method() >って書いても良い 素人考えだな それは継承を2段階行ったら破綻するやり方
932 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 08:29:06.48 ] Pythonはこんなにダサいのに いざコードを書かせるとRubyが圧倒的にダサいのは何故だろう?
933 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 08:35:15.15 ] >>932 信者だから
934 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 09:07:08.15 ] >>932 まったくの主観で笑えるw Python信者がんばれ!
935 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 09:11:41.50 ] >>928 >> 社内でPythonをメインで使っていくぞーって吠えてphpをdisったりしてるの、 disってるという自覚はあるのね 信者って、そういう自覚がないままに行動してると思ってた。 >>929 >super(ClassName, self).method() >の代わりに >SuperClassName.method() SuperClassName.method(self) の間違いだろ 信者がそんなミスするなよな
936 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 09:29:05.87 ] >>934 Ruby信者には>>898 >>914 がダサくないの?
937 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 09:34:49.37 ] >SuperClassName.method(self) の間違いだろ >信者がそんなミスするなよな それはもちろん気付いてたが 単に()をmethodを代表するものとして付けただけだから
938 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 10:49:38.33 ] >>937 苦しーw そんな小さなミスすら、認めようとしないのか こんな便所の落書きですら自分の体面を保とうとしているとは恐れ入った
939 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 10:50:09.44 ] >>926 もしもPythonが高階関数との相性が良いのなら、 高階関数の合成演算(の構文糖)であるメソッドチェーンを 何の不自由も無く使えているはず でも、現実にはPythonでのメソッドチェーンは使い物にならないから (あるいは用途が極めて限定されてしまうから)、 「Pythonは高階関数との相性が悪い」とも言えてしまう だから、>>909 では、デコレータがRubyと相性が良くない理由を、 「デコレータが(構文糖である)マクロであるため」と書いている 分かるかな?
940 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:33:07.96 ] >>939 その主張は「Rubyが高階関数と相性が悪い」の反論になってない あとデコレータはLipsマクロほど強力じゃない。所詮はただの高階関数
941 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:35:26.31 ] >>936 Rubyもださいね。Pythonのsuperと同じくらいださい。
942 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:38:29.73 ] >>940 反論になっていないのなら、その理由をkwsk 理由なき主張は、単なる主観だ
943 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:39:59.95 ] >>942 なんで高階関数に過ぎないデコレータがRubyと相性が悪いの? もう何度も繰り返してるけどデコレータは高階関数だよ? 「マクロだから」的な反論は間違いだからね
944 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:47:42.48 ] 間違っているのはあなたです。 デコレータのメカニズムは高階関数ですけど、@ほげほげ、という記法は構文糖です。 この構文糖があるからこその「デコレータ」であって、この構文糖がなければ、 デコレータでもなんでもないただの高階関数です。
945 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:49:43.28 ] お前ん中ではな
946 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:50:08.52 ] >>944 じゃあ「ただの高階関数」なら使えるってことだよね? だったら高階関数を使って>>914 みたいなダサいコードを もっと洗練させてよ 直視に耐えないレベルでダサいから
947 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:52:07.09 ] 自分が理解出来ない = ダサい
948 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:57:15.37 ] >>943 単なる高階関数に過ぎないデコレータ的な機能は、 (Pythonと違って)高階関数との相性が良いRubyであれば ユーザコードで書ける (たとえそれが>>898 >>914 のようにダサいとしても....) でも、(構文糖である)デコレータ構文そのものの導入は、 ただでさえ複雑なRubyの構文を一層複雑にさせるから、 採用される見込みはないだろうな、という話 関数アノテーションについては、(たとえ構文の追加が必要であっても)、 ぜひとも導入を検討してもらいたいと個人的には思っているけどね
949 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:58:20.06 ] >>944 Pythonを知らなくてデコレータをマクロだと思ってたんだろ? 指摘されてから「高階関数だって知ってたし」とか笑えるw じゃあもう一回聞くけど、何故Rubyとデコレータの相性が悪いんだ? まさか「構文糖だから」か?
950 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 11:58:53.21 ] まあ、そもそものRubyの構文がわるいんだろうな。 行き当たりばったりで作ったから、 新しい機能を入れる余地がない。 あー、また互換性切り捨てか。
951 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:02:22.50 ] >>949 >>948 を嫁
952 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:03:36.94 ] >>950 >行き当たりばったりで作ったから、 そのとおり、Pythonの関数型プログラミング機能と同様に、 行き当たりばったりだね
953 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:08:54.56 ] >>950 > 行き当たりばったり > 互換性切り捨て 新旧スタイルクラスに3.0と、Pythonも大概だと思うが…
954 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:33:10.84 ] 950は、よりよい言語にするためだったら互換性は切り捨ててもいいという、 最近のLL系言語に蔓延している風潮それ自体を批判しているんだよ 冒頭のRubyは飾りです、デコレータだけに
955 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:34:34.04 ] >>928 >ttps://twitter.com/#!/methane/status/169774541797728259 >> 社内でPythonをメインで使っていくぞーって吠えてphpをdisったりしてるの、 >> 単にガキが暴れてるだけに見えるかもしれませんが、もともと僕自身が >> 引っ込み思案なので自分を追い詰めるために虚勢を張っているのです。 >> 察してください。 さんざん他の悪口を言っておいて、謝りもせず、なにが「察してください」だよ。 自分を追いつめるためなら何を言ってもいいと思ってんのか? Python信者クズだな。
956 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:35:22.33 ] pythonのデコレータ自体は高階関数だけど、 @なにがし、はデコレータで関数を置き換える別の機能だと思うけど、、、
957 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:42:37.21 ] >>955 このスレのPython信者と一緒だね
958 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:46:02.17 ] >>954 最後のオチ、ワロスw
959 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 12:47:35.87 ] >>956 シンタックスシュガーだね
960 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 13:16:12.46 ] デコレーションケーキ
961 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 14:07:40.29 ] 構文論と意味論がごっちゃになるバカとか、このスレにふさわしい隔離対象じゃあないか
962 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 14:08:29.48 ] LL ではない重量級の言語は何メインで使ってる? LL だけって人もいるかもしれないけど、大抵は重量級と LL の両方使うでしょ。 組み合わせに傾向が出たりしないかな? 自分は C と Python です。
963 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 14:21:02.32 ] >>961 暴れているガキのことか? うーん、いくらここが隔離スレだとしても勘弁して欲しい ガキのお守りは疲れるから
964 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 14:24:47.80 ] >>962 漏れは C と Ruby ただしどちらの言語ともプラットフォームは UNIX(Mac or Linux) だけど
965 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 16:10:41.76 ] 「LL ではない重量級の言語」ってのがよくわからんけど、 Rubyや、Perlっぽい言語以外、という分類なら、CとかHaskellとか。 Haskellは慣れからくる惰性で使ってるだけだから、OCamlないし 遅延評価が必要ならもっと別の何かでも構わないと思う。
966 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 18:11:06.40 ] >>948 仮に@なにがしの構文糖が使えないとしても、>>825 のコードは殆ど冗長にならない def f(x:int, y:int) -> int: return x + y f = typecheck(f) def g(x): print(x) g = validate(x=lambda x: -1 < x < 1)(g) 高階関数と相性の良いRubyなら>>914 はもっと簡潔に書けるでしょ ASSERT.kind_of を毎回書くんじゃなくて別のメソッドに隠蔽すべき
967 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 20:45:16.47 ] Rubyのメソッドは一級市民じゃないので高階関数とは相性悪いです デコレータをRubyでやるなら動的なメソッドの再定義になりますね 元のメソッドを別名にしてそれをラッピングしたメソッドを同名で再定義します def foo(x,y) x+y end type_assersion(:foo, Integer, Integer) 見たいなのは実現可能です 順序を逆にして 直後に定義されるメソッドに対するデコレータみたいなのも書けなくはありません type_assersion(Integer, Integer) def foo(x,y) x+y end ググって見つけたところだと type_assersion(Integer, Integer) do def foo(x,y) x+y end def bar(x,y) x-y end def baz(x,y) x*y end end って感じのがありました、これはRubyっぽい気がします わざわざ型をチェックしたりする必要性はよくわかりませんね そんなのは仕様とテストに書いてあれば十分な気がするので
968 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 21:28:50.10 ] >>964 unix環境でcを使うなら当然ながらgdbは必須なので、 gdbの拡張用スクリプトに公式的に選ばれたpythonつかっといた方が 幸せになれるんじゃなイカ? 個人的な考えでは、gdbの拡張用スクリプトは、luaかguileにすべきだった。 インデントが構文の言語は、対話環境でイジるの面倒杉だし、OOPとしてのpythonは失敗策。 あれなら、まだperlを採用した方がマシ s-expなんてemacsがあってはじめて幸せになれるようなもんで、 インタラクティブな操作に向くとは到底ながら思えないけれど、 デバッガにはgnu公式のスクリプトを採用した方が組織としての一貫性があった。 ソフトウェアに永遠の命をなどとスローガンを掲げているわりに連中は自らその道を外れた。 ここのところ話題に挙がらない後発のgroovyって流行ってんのかな? mozillaのrustといい、perlのようなものから rubyのようなものを生み出した功績は素晴らしいと思う
969 名前:デフォルトの名無しさん mailto:sage [2012/02/19(日) 21:44:06.10 ] >>968 元UNIX系だがgdbなんてほとんど使ったことのないオレが通りますよ。 (カーネル空間なんでgdbはパニックダンプ解析でしか使えないし・・・。) 関わって多言語は、 C(コーディング)、Sparcアセンブラ(デバック時)、Forth(レビュー対象)。 今はPerl、PHP、Javascript、Java、ActionScript、VBA、SQL、色々やってますが、PythonとRubyは未経験でつ。
970 名前:デフォルトの名無しさん mailto:sage [2012/02/20(月) 00:04:01.82 ] Klabっていつの間にかソーシャルゲーム屋になってたんだな。