【Perl,PHP】LLバトルロワイヤル14【Ruby,Python】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/11/22(月) 04:18:290002デフォルトの名無しさん
2010/11/22(月) 05:31:150003デフォルトの名無しさん
2010/11/22(月) 08:10:590004デフォルトの名無しさん
2010/11/22(月) 08:17:09なまじRailsなんかで広まっちゃったもんだから
0005デフォルトの名無しさん
2010/11/22(月) 14:27:25Ruby開発ってのは微妙ではある
0006デフォルトの名無しさん
2010/11/22(月) 18:11:11言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0007デフォルトの名無しさん
2010/11/23(火) 02:00:080008デフォルトの名無しさん
2010/11/23(火) 02:21:200009デフォルトの名無しさん
2010/11/23(火) 04:15:45どんなに上手に設定されたエディタ使ったところで、
インデント解除するのにいちいち全部の行でバックスペースぽちぽちするんだろうなぁ、
と思ってみたところ、だったら閉じ括弧でもendでもなんでも書かせて、
その代わりインデントは全部エディタ任せの方がいいんじゃないかと思ったり思わなかったり。
0010デフォルトの名無しさん
2010/11/23(火) 08:04:00それにend<CR>も<BS> * 4もタイプ数的には同じという罠
0011デフォルトの名無しさん
2010/11/23(火) 08:40:58アンチCSIでUCS原理主義なんだろおまえがwwwwwwww
0012デフォルトの名無しさん
2010/11/23(火) 09:33:06別にCSIでもいいが、今の仕様が糞なのは確かだろ。
M17Nとか仕様を解説した文書はあるが、実際の使い方の文書がない。
1.9でいくつかトラブル起きたが、force_encoding以外の解決方法がないんだよ。
force_encodingはわざと使いにくくしてるし。
0013デフォルトの名無しさん
2010/11/23(火) 09:44:35これだけコード例が出てても「実際の使い方の文書がない。」とか...
0014デフォルトの名無しさん
2010/11/23(火) 10:06:370015デフォルトの名無しさん
2010/11/23(火) 10:07:290016デフォルトの名無しさん
2010/11/23(火) 10:20:17最強のLL=軽量プログラム言語は、どれよ?
エントリーは、Perl、PHP、Python、Ruby、JavaScript・・・
さあ、死ぬまで語りやがれ!!!
■LLとは?
軽量プログラミング言語(Lightweight Language,LL)とは、取り回しに優れ、
コードの作成や修正が容易と見なされるプログラミング言語のことを指す。
ここでいう「軽さ」はプログラマの負担の軽重を指し、
実行速度に優れているという意味ではない。
現在の水準では
・インタプリタ
・動的型
・正規表現
・クロージャ
などを利用できるものがLLと呼ばれることが多い。(Wikipediaより)
過去スレは容量オーバーのため>>17に分離
0017デフォルトの名無しさん
2010/11/23(火) 10:20:33【Perl,PHP】LLバトルロワイヤル13【Ruby,Python】
http://hibari.2ch.net/test/read.cgi/tech/1287944631/
■過去スレ
【Perl,PHP】LLバトルロワイヤル12【Ruby,Python】
http://hibari.2ch.net/test/read.cgi/tech/1284382120/
【Perl,PHP】LLバトルロワイヤル11【Ruby,Python】
http://hibari.2ch.net/test/read.cgi/tech/1276128624/
【Perl,PHP】LLバトルロワイヤル10【Ruby,Python
http://pc12.2ch.net/test/read.cgi/tech/1270996206/
【Perl,PHP】LLバトルロワイヤル9【Ruby,Python】
http://pc12.2ch.net/test/read.cgi/tech/1267553581/
【Perl,PHP】LLバトルロワイヤル8【Ruby,Python】
http://pc12.2ch.net/test/read.cgi/tech/1259287439/
【Perl,PHP】LLバトルロワイヤル7【Ruby,Python】
http://pc12.2ch.net/test/read.cgi/tech/1248487404/
【Perl,PHP】LLバトルロワイヤル6【Ruby,Python】
http://pc12.2ch.net/test/read.cgi/tech/1244166510/
【Perl,PHP】LLバトルロワイヤル5【Ruby,Python】
http://pc12.2ch.net/test/read.cgi/tech/1238720336/
【Perl,PHP】LLバトルロワイヤル4【Ruby,Python】
http://pc12.2ch.net/test/read.cgi/tech/1234635513/
【Perl,PHP】LLバトルロワイヤル3【Ruby,Python】
http://pc11.2ch.net/test/read.cgi/tech/1215319832/
【Perl,PHP】LLバトルロワイヤル2【Ruby,Python】
http://pc11.2ch.net/test/read.cgi/tech/1209289408/
【Perl,PHP】LLバトルロワイヤル【Ruby,Python】
http://pc11.2ch.net/test/read.cgi/tech/1188997302/
0018デフォルトの名無しさん
2010/11/23(火) 10:29:23│●│
└─┤
_ ∩
( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
0019デフォルトの名無しさん
2010/11/23(火) 12:43:29yukihiro_matz: 昨日の「遅刻する夢」に引き続いて、今日は「迷子になる夢」を見
た。なんか不安があるんじゃないだろうか、オレ
∩_
〈〈〈 ヽ
____ 〈⊃ }
/⌒ ⌒\ | |
/( ●) (●)\ ! !
/ :::::⌒(__人__)⌒:::::\| l
| |r┬-| | / <こいつ最高に良い勘してるお
\ ` ー'´ //
/ __ /
(___) /
0020デフォルトの名無しさん
2010/11/23(火) 12:49:550021デフォルトの名無しさん
2010/11/23(火) 13:08:20その記事がゴミ。車乗りたい人に鉄の作り方だけ教えるようなもの。
0022デフォルトの名無しさん
2010/11/23(火) 13:15:300023デフォルトの名無しさん
2010/11/23(火) 13:17:300024デフォルトの名無しさん
2010/11/23(火) 13:28:46ああ、そういえば日本人が開発してた言語もあったねえ(遠い目
なんてことになってるんだろうね
0025デフォルトの名無しさん
2010/11/23(火) 14:19:29それはそれで良い事なのではないかといふ気がする
0026デフォルトの名無しさん
2010/11/23(火) 14:26:410027デフォルトの名無しさん
2010/11/23(火) 14:40:450028デフォルトの名無しさん
2010/11/23(火) 21:08:08>>9には全部の行って書いてあるよ
0029デフォルトの名無しさん
2010/11/25(木) 07:27:20普通にメソッドみたいにできないの?
0030デフォルトの名無しさん
2010/11/26(金) 18:25:31遂にC#を越えたな
http://www.google.co.jp/trends?q=ruby+programming,+python+programming,+C%23+programming&ctab=0&geo=all&date=all&sort=0
685 名前:デフォルトの名無しさん [sage]: 2010/11/12(金) 14:17:37
>>684
まだ上には上が
Google トレンド: Java programming, ruby programming, python programming, C# programming
http://www.google.co.jp/trends?q=Java+programming%2C+ruby+programming%2C+python+programming%2C+C%23+programming&ctab=0&geo=all&date=all&sort=0
しかしC#下がってきてるのウケル
686 名前:デフォルトの名無しさん [sage]: 2010/11/12(金) 14:18:49
>>684
phpぶっちぎってるんだが、こっちの方がすごくないか
Google トレンド: php programming, ruby programming, python programming, C# programming
http://www.google.co.jp/trends?q=php+programming%2C+ruby+programming%2C+python+programming%2C+C%23+programming&ctab=0&geo=all&date=all&sort=0
0031デフォルトの名無しさん
2010/11/27(土) 08:28:240032デフォルトの名無しさん
2010/11/27(土) 12:35:25次は tail.py の実装だな
156 名前:デフォルトの名無しさん [sage]: 2010/11/27(土) 12:02:32
ttp://codepad.org/nyzf67zT
書いてみたけど、結構面倒くせえなw
158 名前:デフォルトの名無しさん [sage]: 2010/11/27(土) 12:23:53
Ruby使う方が楽ですねぇ
らしいんだけど、rubyだとどう書くの?
0033デフォルトの名無しさん
2010/11/27(土) 14:31:300034デフォルトの名無しさん
2010/11/27(土) 17:19:43Ruby のスレだと何かと言い訳ばかりしてコードが出てこない傾向にあるな
0035デフォルトの名無しさん
2010/11/27(土) 17:25:00ほっとけよ。わざわざこのスレに転載する方もアホ。
0036デフォルトの名無しさん
2010/11/27(土) 21:44:29Rubyの本スレは雑談スレだからな。あそこはあんまりコードを出さない。
初心者スレ辺りだと結構コードが出て来るけど、
別スレで既に出ている問題を初心者質問として貼るのは流石にスルーされるだろうな。
0037デフォルトの名無しさん
2010/11/28(日) 01:27:32別に、それ書いた奴がまともかまともでないかはどうでもいい。
問題は、Rubyの方が楽か、そうでないかだ。
0038デフォルトの名無しさん
2010/11/28(日) 01:42:160039デフォルトの名無しさん
2010/11/28(日) 01:57:35構文的には優れているのに残念だよね。
0040デフォルトの名無しさん
2010/11/28(日) 02:31:510041デフォルトの名無しさん
2010/11/28(日) 03:40:23PerlやPythonがある中で一定の地歩を固めたのは本当に驚くべきこと
(っていうか、一番驚いてるのは当のmatzのようだ……w)
比較的黎明期の段階で、初期設計がうまくいっていた事と、
Dave Thomasとか幾人かの優れたプログラマに
支持されたのが大きいのかもしれない
0042デフォルトの名無しさん
2010/11/28(日) 06:03:44あんまり書く人が少ない印象はないなあ。
普段見てるスレの傾向のせいなのかな?
0043デフォルトの名無しさん
2010/11/28(日) 09:08:26仕事でスクリプト言語が必要になったときにPerlでもPythonでもなく
Ruby選んでも拒否されない程度にはメジャー。
Perlは無視してもいいし、PythonはGoogle App Engine使う時くらい。
現状1.9がダメなので今後が不安だが…
0044デフォルトの名無しさん
2010/11/28(日) 09:20:520045デフォルトの名無しさん
2010/11/28(日) 09:55:33ビッグ・マイナーとリトル・メジャー果たしてどっちがよかったんだろうか…
0046デフォルトの名無しさん
2010/11/28(日) 13:40:280047デフォルトの名無しさん
2010/11/29(月) 02:31:120048デフォルトの名無しさん
2010/11/29(月) 02:37:05【Ruby】Ruby on Rails Part10
http://hibari.2ch.net/test/read.cgi/php/1282991262/
0049デフォルトの名無しさん
2010/11/29(月) 03:08:300050デフォルトの名無しさん
2010/11/29(月) 10:48:290051デフォルトの名無しさん
2010/11/29(月) 11:23:5947さんチィーっす
0052デフォルトの名無しさん
2010/11/29(月) 15:07:470053デフォルトの名無しさん
2010/11/29(月) 18:00:370054デフォルトの名無しさん
2010/11/29(月) 18:54:45色んな言語の話もできるけど、他の板でプログラミングって言ったら
具体的な目的があってやるものだろ?
なら言語は用件に合わせてすぐに決まらなきゃマズいと思うが、言語を限定せずに話が進められるのか?
いったいどんなスレを想定してるんだ?
0055なるとくん
2010/11/29(月) 19:13:36逃げワード「 人それぞれ 主観 用途に応じて どの言語がいいか一概には言えない」
0056なるとくん
2010/11/29(月) 19:18:13逃げワード「 人それぞれ 主観 用途に応じて どの言語がいいか一概には言えない」
0057デフォルトの名無しさん
2010/11/29(月) 19:18:58もっと見識を広げようぜ
0058デフォルトの名無しさん
2010/11/29(月) 21:37:15いや、拡げようにもどんなスレがあるのか分からないんだ
0059デフォルトの名無しさん
2010/11/29(月) 22:32:270060デフォルトの名無しさん
2010/11/29(月) 22:37:250061デフォルトの名無しさん
2010/11/29(月) 22:42:560062デフォルトの名無しさん
2010/11/29(月) 22:45:49GroovyだかScalaだか、その辺で晒す人すらいたのに
0063デフォルトの名無しさん
2010/11/29(月) 23:51:36たまたまそういう話題にならなかっただけじゃないの
0064デフォルトの名無しさん
2010/11/30(火) 00:37:270065デフォルトの名無しさん
2010/11/30(火) 02:11:31よく自信満々でコード晒して欠点指摘されてるPythonが弾かれてんじゃね?
つーわけで、
Perl→老害
Ruby→非実在青少年
Python→民主党員
PHP→ネトヒキ
Groovy/Scala→中二病
Lisp→格好付けすぎ
0066デフォルトの名無しさん
2010/11/30(火) 02:27:100067デフォルトの名無しさん
2010/11/30(火) 08:55:401つはRubyistヲチや言語比較がメインの層(Ruby本スレ派)
ここに来るのはこの層になるんだが、この層はあまりRubyコードを書かない
細かい仕様については詳しいが、それ以上の実践に関しては話さないからな
むしろ知ってるのは処理系ソースのためのC言語だったり、比較用の他言語の仕様
もう1つは実践するのがメインの層(初心者スレ派)
初心者スレで質問に答えたり、宿題スレで丸投げされたのをコードに起こす層
実際にコードに起こすのは上手いし、色んなノウハウも知ってたりする
でも他言語との比較とかには興味がないからここには来ない
0068デフォルトの名無しさん
2010/11/30(火) 09:53:05こんなスレでわざわざコードを晒すほどの元気はない
0069デフォルトの名無しさん
2010/11/30(火) 10:59:360070デフォルトの名無しさん
2010/11/30(火) 15:01:53それは技術者じゃなくて経営者の案件です
0071デフォルトの名無しさん
2010/11/30(火) 17:37:54http://ja.uncyclopedia.info/wiki/%E9%97%87%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC
0072デフォルトの名無しさん
2010/11/30(火) 21:10:43テストのないコードはレガシーコードです
0073デフォルトの名無しさん
2010/11/30(火) 21:13:33標準ライブラリのカバレッジ率とかどっかで比べられないかな。
0074デフォルトの名無しさん
2010/12/01(水) 01:42:57むしろネトヒキ言いたかった。
0075デフォルトの名無しさん
2010/12/01(水) 01:48:39DocTest便利だけど禁止の環境もあるんだよなぁ
0076デフォルトの名無しさん
2010/12/01(水) 01:49:26なんで処理系ソースが分かるくらいの人が、たかがLLで何か書いたりすらできないの?
専門で書いてる人にはかなわないかもしれないけど、仕様知り尽くしててCソース読めるくらいの実力がありゃ、
コード書けない要素がある気がしない。
0077デフォルトの名無しさん
2010/12/01(水) 02:59:08doctest よりは unittest, nose なんかが使われていることが多い。
doctest はドキュメント内のサンプルコードが正しいことをチェックする(サンプルコードの
更新もれを不正で常に up to date にする)ためにはとても便利だけど、
unittest を doctest で真面目にやろうとしたらコードよりも doctest の方が長くなってしまう。
0078デフォルトの名無しさん
2010/12/01(水) 03:18:42ヒント:著作権
0079デフォルトの名無しさん
2010/12/01(水) 03:58:47どう関係あるんだ?
0080デフォルトの名無しさん
2010/12/01(水) 05:23:27そうすると2chの規約上そのパッチの権利は2chに移る
だからそういったコードを2chに書いたりはしない
ってことが言いたいんじゃないか
ここでお遊びコードを貼る貼らないの話と
どれくらい関係しているのかは知らないが
0081デフォルトの名無しさん
2010/12/01(水) 06:19:130082デフォルトの名無しさん
2010/12/01(水) 06:22:05そういうことが心配な人は、2chにコード貼るとき「※このコードはGPLで許諾します」と書いておけばいんじゃね?
0083デフォルトの名無しさん
2010/12/01(水) 06:26:04まあその通りだね
>>80はあくまで>>78を敷衍しただけ
0084デフォルトの名無しさん
2010/12/01(水) 11:15:110085デフォルトの名無しさん
2010/12/01(水) 11:25:50貼らない言い訳に逝ってるだけだろう
0086デフォルトの名無しさん
2010/12/01(水) 15:03:07C言語最強ということですね、わかります
0087デフォルトの名無しさん
2010/12/01(水) 18:39:52codepad、gist は知らないが、github は他人がフォークしたりを許さないとコー
ドを up しちゃ駄目な規約になってたはず。
0088デフォルトの名無しさん
2010/12/01(水) 20:12:392chの場合、貼った時点で書き込みの知的財産権全てが
運営に移る(とされてる)から、そういうレベルじゃなかったりする
http://info.2ch.net/kiyaku.html
投稿者は自分の書き込みの内容を利用できるけど
「運営から」書き込み利用の権利を許諾してもらってる立場
ライセンスを指定したところで効力がない
それに規約にはこんな文面もあるから
> また、投稿者は掲示板運営者が指定する第三者に対して、一切の権利(第三者に対して再許諾する権利を含みます)を許諾しないことを承諾します。
そもそもGPLコンパチにはなりようがなかったりもする
個人的にはこの書き込み規約自体、法的に有効なのか怪しいとは思うけど
0089デフォルトの名無しさん
2010/12/01(水) 20:14:03s/>>80/>>82/
スマソ
0090デフォルトの名無しさん
2010/12/01(水) 21:26:19どこの法律が適用されるのかなと思ったら、投稿者と運営の間では日本国の法
律が暗黙の前提となってるのか。
運営会社・サーバが日本にないけど、これでいいのかな?
これで投稿者が外国人だったら日本関係なさそう。
0091デフォルトの名無しさん
2010/12/01(水) 23:15:15それでもベルヌ条約というのがあるんだよ。
0092デフォルトの名無しさん
2010/12/01(水) 23:43:56匿名での法律談義ほどろくでもないものはない
0093Perl忍者 ◆M5ZWRnXOj6
2010/12/02(木) 09:16:01Perlは違うけど
0094デフォルトの名無しさん
2010/12/02(木) 17:43:410095デフォルトの名無しさん
2010/12/02(木) 18:13:21で、規約の該当条項が法的に有効かどうかは各々の国で適当に裁判でもして決めてくれ
0096デフォルトの名無しさん
2010/12/03(金) 01:11:220097デフォルトの名無しさん
2010/12/03(金) 01:25:570098デフォルトの名無しさん
2010/12/03(金) 01:26:350099デフォルトの名無しさん
2010/12/03(金) 01:38:22やはりLispとアセンブラとかだと別に吹かないわけか
0100デフォルトの名無しさん
2010/12/03(金) 01:38:480101デフォルトの名無しさん
2010/12/03(金) 11:17:10なんつーか、その辺はスクリプト言語を見下してもまあ、そんなもんだよなって感じるね
0102デフォルトの名無しさん
2010/12/06(月) 02:04:15両方見てるよ
珍しい方なのかもしれんが
本スレも結局アンチスレみたいな話題ばかりだし過疎ってるし。過疎は2chごとか。
しかし、本スレも定期的に>>80-88の流れになるがな
0103デフォルトの名無しさん
2010/12/06(月) 02:05:59どこかで聞いたことある話だと思ったらこれだな
Geekなぺーじ : プログラミング言語ヒエラルキー
http://www.geekpage.jp/blog/?id=2006/12/13
プログラミング言語ヒエラルキーにおける罵倒
http://anond.hatelabo.jp/20070502200124
0104デフォルトの名無しさん
2010/12/06(月) 02:09:08下は初めて見たが、結構無理して罵倒をこしらえてるなw
0105デフォルトの名無しさん
2010/12/07(火) 21:54:370106デフォルトの名無しさん
2010/12/07(火) 22:10:220107デフォルトの名無しさん
2010/12/08(水) 01:11:350108デフォルトの名無しさん
2010/12/08(水) 14:53:30Ruby 初心者スレッド Part 39
http://hibari.2ch.net/test/read.cgi/tech/1287623173/
0109デフォルトの名無しさん
2010/12/08(水) 15:16:560110デフォルトの名無しさん
2010/12/08(水) 16:04:180111デフォルトの名無しさん
2010/12/09(木) 02:16:45そーいうスレでもないとは思うんだ > C#はこのスレでは扱ってない
0112デフォルトの名無しさん
2010/12/12(日) 19:19:52Rubyとかは知らんけどPHPじゃこういうORMは実装すらできないだろwww
0113デフォルトの名無しさん
2010/12/12(日) 22:57:260114デフォルトの名無しさん
2010/12/12(日) 23:37:010115デフォルトの名無しさん
2010/12/13(月) 01:42:480116デフォルトの名無しさん
2010/12/13(月) 08:13:51SQLAlchemyの利点をkwsk
>>114
PowerShellが何をとちくるったか、ファイルやディレクトリ構造のマッピングのモデル(?)を汎用的に採用してる。
従来のドライブ名の部分が操作対象(プロバイダ)を表すようになってる。
SQL Server PowerShellプロバイダを使えばディレクトリ操作するようにDB操作できる(らしい)www
SQL Server PowerShell プロバイダーの使用
http://msdn.microsoft.com/ja-jp/library/cc281947.aspx
シェルのエイリアスや環境変数、レジストリや変数やメソッドも同様に扱える
0117デフォルトの名無しさん
2010/12/13(月) 22:41:04主要なRDBMSに対応してるならともかく、MSSQLだけならただのド変態だな
0118デフォルトの名無しさん
2010/12/14(火) 21:42:480119デフォルトの名無しさん
2010/12/15(水) 04:42:24SQLサーバを入れるなら、MS-SQLサーバって意味で書いてるんだよね?
どっちにしても、MS-SQLサーバが普通ってことにはならんと思うが
仕事でWindows鯖を立てるなら、とかならまあ分かるんだけど
0120デフォルトの名無しさん
2010/12/15(水) 06:30:44>>114の「dirでDBの中を回せるくらいのイノベーション」だけに掛かってて、
イノベーションかもしれんがこれは誰が得するんだろう?といいたかっただけ
まさか、SQLServerに突っかかられるとはおもわなんだ
0121デフォルトの名無しさん
2010/12/15(水) 07:14:220122デフォルトの名無しさん
2010/12/15(水) 07:50:480123デフォルトの名無しさん
2010/12/15(水) 08:07:430124デフォルトの名無しさん
2010/12/15(水) 08:08:320125デフォルトの名無しさん
2010/12/15(水) 09:15:22プロバイダを実装すればいんじゃね?
べつにMS縛りではないし。
0126116
2010/12/15(水) 10:52:05MSSQLの方じゃなくて、ドライブにマッピングしているところを「変態」と言って欲しくてだな(^ω^#)ビキビキ
0127デフォルトの名無しさん
2010/12/15(水) 11:06:550128デフォルトの名無しさん
2010/12/15(水) 12:27:56Unixで伝統的で、PowerShellのPSDriveはそのパクリだと思う
cygwinだと昔から/proc/registryとか使えてたしね
MSSQLマップするって発想は、まあLINQとかやっちゃう.NETならではですな、と思うが
冷静に考えて「欲しい」かといえばそうでもない
ぶっちゃけDBはGUIから触ったほうが便利だし、バッチ的にやりたければ
もともと昔ながらのosqlで出来る
というか、OS開発してるMSがやってることなのに、PowerShellという一アプリに
閉じてる時点で貧乏性で、ショボいと思う
なんでファイルシステムレベルで拡張してくれないんだか
MSはFUSEみたいなの作れよなー
0129デフォルトの名無しさん
2010/12/15(水) 12:48:330130デフォルトの名無しさん
2010/12/15(水) 13:50:480131デフォルトの名無しさん
2010/12/15(水) 15:29:19簡単なブラウザが出来てしまいますが
このスレタイの言語ならどうやって書くの?
<WebBrowser Source="http://..."/>
0132デフォルトの名無しさん
2010/12/15(水) 15:37:29それは単にIEに用意された機能だろ
IE側がサポートしないと無理
0133デフォルトの名無しさん
2010/12/15(水) 18:06:50何を言ってるんだか俺にはいまいちよくわからんが…
IEは昔からIWebBrowser2だかいうCOMインタフェースを公開してて
それを使ってIEエンジンのタブブラウザみたいな代物が作られてきた
つまりActiveXのコントロールをホスティングできる言語であれば
IEの機能を簡単に利用できるし、.NETからもそういう形で利用しているんだろう
それ以上にIEに一体何をのぞむんだ?
0134デフォルトの名無しさん
2010/12/15(水) 18:19:51`firefox`
0135デフォルトの名無しさん
2010/12/15(水) 18:24:27でも言語自体の話じゃないからここで扱うようなことじゃないか
0136デフォルトの名無しさん
2010/12/15(水) 18:26:130137デフォルトの名無しさん
2010/12/15(水) 18:50:22好きにすればバカw
0138デフォルトの名無しさん
2010/12/15(水) 19:02:23QTにもwxWidgetsにもあるんでないの
ActiveXのホスティングも両者でサポートされていたと思ったけど
>>136
http://www.ibm.com/developerworks/jp/linux/library/l-wxpython/index.html
0139デフォルトの名無しさん
2010/12/15(水) 19:09:340140デフォルトの名無しさん
2010/12/15(水) 19:22:230141デフォルトの名無しさん
2010/12/15(水) 19:22:230142デフォルトの名無しさん
2010/12/15(水) 19:26:38サンクス調べてみる
surfみたいなのLLで作れたら面白いだろうなと
0143デフォルトの名無しさん
2010/12/15(水) 19:50:520144デフォルトの名無しさん
2010/12/15(水) 20:00:31貴様Tcl/Tkディスってんのかオラ
0145デフォルトの名無しさん
2010/12/15(水) 20:03:07ゴミだろそれ
0146デフォルトの名無しさん
2010/12/15(水) 20:16:510147デフォルトの名無しさん
2010/12/15(水) 20:17:19頭おかしいんじゃないの
0148デフォルトの名無しさん
2010/12/15(水) 20:19:540149デフォルトの名無しさん
2010/12/15(水) 20:21:290150デフォルトの名無しさん
2010/12/15(水) 20:25:440151デフォルトの名無しさん
2010/12/15(水) 23:02:560152デフォルトの名無しさん
2010/12/15(水) 23:44:04[(v.load(),v.show()) for v in [QWebView()]]
0153デフォルトの名無しさん
2010/12/16(木) 00:16:39それ単にtkで良くね
Tcl無くてもtkだけで使えるんだし
0154デフォルトの名無しさん
2010/12/16(木) 00:33:50他の言語からTkを利用することはできるけど
TkはTclとCで書かれてるから、Tclは必須だったと思うけど
0155Perl忍者 ◆M5ZWRnXOj6
2010/12/16(木) 00:43:000156デフォルトの名無しさん
2010/12/16(木) 00:45:550157デフォルトの名無しさん
2010/12/16(木) 01:15:20昔触ったきりなので忘れたは。
0158デフォルトの名無しさん
2010/12/16(木) 02:14:50なんで向かないの?
0159デフォルトの名無しさん
2010/12/16(木) 02:29:31どこかのを間借りしてきて使えますよってだけで、この言語だからもっとも使いやすい的な要素に乏しい
0160デフォルトの名無しさん
2010/12/16(木) 02:49:290161デフォルトの名無しさん
2010/12/16(木) 02:52:310162デフォルトの名無しさん
2010/12/16(木) 16:56:110163デフォルトの名無しさん
2010/12/17(金) 02:21:57せっかくの煽りなんだし、LLの識者で面白い返しはできないかな
7行スレみたいな感じで1行でできればWPF厨に煽りになるコード
>>131はxamlでいいのか?実際に動かしてみたいんだがどうすりゃいいんだ
0164デフォルトの名無しさん
2010/12/17(金) 02:25:46その程度でいいなら、VB6やDelphiのころからコード無しで作れるが
0165デフォルトの名無しさん
2010/12/17(金) 02:25:54まずVSをインストールします。
でもGUIならWPFが進んでると思うな。
0166デフォルトの名無しさん
2010/12/17(金) 02:26:30その程度の代物。
0167デフォルトの名無しさん
2010/12/17(金) 02:30:15いや、GUIの手軽さはわかってる。Windows触っていたときあるし。
だからGUIじゃない.Netではやりにくい方向で攻めればいいんじゃね。
LLなら1行でwebサーバーとかできそうだけど。
テンプレに沿ったほうがいいな。こんな感じで。
◯◯でこのように”1行”で書いたコードで
簡単な◯◯◯◯が出来てしまいますが
このスレタイの言語ならどうやって書くの?
xxxxxxxxxxxxxx
0168デフォルトの名無しさん
2010/12/17(金) 02:54:19それはそういうライブラリがそろってるかどうか、だからなあ。
勿論ライブラリの充実は重要な要素だけど。
system("firefox http://www.google.com");
じゃ駄目だよね 。
0169デフォルトの名無しさん
2010/12/17(金) 08:11:59そういうことなら
require 'sinatra'; get '/:cmd' do eval(params[:cmd]).to_s << "\n" end
$ ruby 1line_webserver_calculator.rb &
$ curl http://localhost:4567/2**1024
1797693134862315907729305190789024733617976978942306572734300811577326758055009631
3270847732240753602112011387987139335765878976881441662249284743063947412437776789
3424865485276302219601246094119453082952085005768838150682342462881473913110540827
237163350510684586298239947245938479716304835356329624224137216
0170デフォルトの名無しさん
2010/12/17(金) 08:12:46テンプレ忘れてた
Rubyでこのように”1行”で書いたコードで
簡単な計算機付きwebサーバーが出来てしまいますが
このスレタイの言語ならどうやって書くの?
くだらなさすぎワロタw
0171デフォルトの名無しさん
2010/12/17(金) 09:18:20Sinatra標準ライブラリじゃねーじゃんクソが
require 'webrick';s=WEBrick::HTTPServer.new(:Port=>4567);s.mount_proc('/'){|req,res|res.body=eval(req.path.gsub(/^\//,'')).to_s<<"\n"};trap("INT"){s.shutdown};s.start
$ ruby 1line_webserver_calculator.rb &
$ curl http://localhost:4567/2**1024
1797693134862315907729305190789024733617976978942306572734300811577326758055009631
3270847732240753602112011387987139335765878976881441662249284743063947412437776789
3424865485276302219601246094119453082952085005768838150682342462881473913110540827
237163350510684586298239947245938479716304835356329624224137216
Rubyでこのように”1行”で書いたコードで
簡単な計算機付きwebサーバーが出来てしまいますが
このスレタイの言語ならどうやって書くの?
0172Perl忍者 ◆M5ZWRnXOj6
2010/12/17(金) 09:46:040173デフォルトの名無しさん
2010/12/17(金) 10:29:350174デフォルトの名無しさん
2010/12/17(金) 10:33:11コミュニティ主導のは発散してて使いにくい
0175デフォルトの名無しさん
2010/12/17(金) 12:13:45書き捨てスクリプトをちょっと人につかってもらう時程度なら
簡素化したGUIラッパーもでいい
http://easygui.sourceforge.net/
こういうやつ
0176デフォルトの名無しさん
2010/12/17(金) 14:32:58python -m SimpleHTTPServer
0177デフォルトの名無しさん
2010/12/17(金) 15:01:33最近の un.rb は変態だな…
0178デフォルトの名無しさん
2010/12/17(金) 15:05:160179デフォルトの名無しさん
2010/12/17(金) 16:37:32ライブラリってそういうもんだろ
珍しくもないワンライナの議論だ
0180デフォルトの名無しさん
2010/12/17(金) 21:45:06コマンドプロンプトから1行でIE呼べます
と同レベル
0181デフォルトの名無しさん
2010/12/18(土) 03:47:24LLというかUNIX系ならGTKとかWebKitとかのライブラリを組み合わせないといけない。
WPFが高機能なGUIアプリを簡単に作れるのはその通りで、その点で同等の物があるかって言ったらないでしょう。
0182デフォルトの名無しさん
2010/12/18(土) 04:41:580183デフォルトの名無しさん
2010/12/18(土) 05:35:220184デフォルトの名無しさん
2010/12/18(土) 10:16:36#coding: utf-8
raise Exception(u'化けますよ')
こういうUTF-8エンコーディングで書かれたスクリプトを実行すると、
Traceback (most recent call last):
File "foo.py", line 3, in <module>
raise Exception(u'蛹悶¢縺セ縺吶h')
Exception: 化けますよ
こうなるのがPython
0185デフォルトの名無しさん
2010/12/18(土) 10:32:22やっぱPythonはだめだRubyじゃないと
0186デフォルトの名無しさん
2010/12/18(土) 11:00:15そのままバイト列として処理するから、
表示できるかどうかは標準エラー出力がそのバイト列を解釈できるかどうかだけに依存する
0187デフォルトの名無しさん
2010/12/18(土) 11:45:28何だかんだいってもawkが最強!!
0188デフォルトの名無しさん
2010/12/18(土) 17:19:37ライブラリ使えばできるなら、それでいいじゃん。
0189デフォルトの名無しさん
2010/12/18(土) 21:52:49<ListView ItemsSource"{Binding DataSets}"/>
たったこれだけでデータオブジェクトをListViewに
カラムもつけて表示してくれるのですが
このスレの言語だとできますか?
0190デフォルトの名無しさん
2010/12/18(土) 21:57:530191デフォルトの名無しさん
2010/12/18(土) 22:05:490192デフォルトの名無しさん
2010/12/18(土) 22:19:370193デフォルトの名無しさん
2010/12/18(土) 22:50:250194デフォルトの名無しさん
2010/12/18(土) 23:22:24WPFでbz2ファイルの解凍もできる?
0195デフォルトの名無しさん
2010/12/18(土) 23:24:19.NETなら、多分
ttp://www.sharpdevelop.net/OpenSource/SharpZipLib/
このへんを使うのでは
0196デフォルトの名無しさん
2010/12/18(土) 23:32:330197デフォルトの名無しさん
2010/12/18(土) 23:55:13じゃあWPFってなにするの?
GUI作るだけ?
0198デフォルトの名無しさん
2010/12/19(日) 00:46:58まず、WPF素人は、ここを見て
ttp://ja.wikipedia.org/wiki/Windows_Presentation_Foundation
尚も何か知りたければ、ここを見る
ttp://www.microsoft.com/products/expression/ja/wpf/default.mspx
0199デフォルトの名無しさん
2010/12/19(日) 01:34:530200デフォルトの名無しさん
2010/12/19(日) 01:36:180201デフォルトの名無しさん
2010/12/19(日) 06:40:060202デフォルトの名無しさん
2010/12/19(日) 07:33:20しかし、メッキは剥げるぞ。
0203デフォルトの名無しさん
2010/12/19(日) 13:25:00しかもmonoじゃ動かないからwindows専用なのか。
だったら、Qtのdesignerが吐き出すXMLを手動で作るのとあんま変わらん気がする
0204デフォルトの名無しさん
2010/12/19(日) 14:08:060205デフォルトの名無しさん
2010/12/19(日) 14:11:23簡潔に書ける言語でもあるんですか?
0206デフォルトの名無しさん
2010/12/19(日) 14:12:420207デフォルトの名無しさん
2010/12/19(日) 14:16:160208デフォルトの名無しさん
2010/12/19(日) 14:22:24GUIに依存したコードを書くため、GUIを変更すると
コードビハインドの変更も余儀なくされます
しかし、WPFはGUIとコードが完全に分離しているので
GUIをいくら変更しようがコードを修正する必要はありません
このようなBinding機能がある言語はこのスレにありますか?
0209デフォルトの名無しさん
2010/12/19(日) 14:23:25RubyとPythonはめんどくさいこの話から一抜けしますね
0210デフォルトの名無しさん
2010/12/19(日) 14:27:40イベントに対してもBindingできます
例えばボタンをクリックしたら、ヘローワールドというダイアログを
出すようにしておきます
WPFなら、ボタンクリックじゃなくて、ListViewのアイテムをクリックや
Windowの空き部分をクリックに変更しても、コード側では何も修正しなくても
ちゃんとダイアログがでます
WPFだからできることです
QTを使ってこんなことができますか?
0211デフォルトの名無しさん
2010/12/19(日) 14:46:450212デフォルトの名無しさん
2010/12/19(日) 14:55:000213デフォルトの名無しさん
2010/12/19(日) 15:01:38http://hirata-create.lar.jp/
Perlではできない現実。
0214デフォルトの名無しさん
2010/12/19(日) 15:12:50WindowsじゃなくてMacに変更してもちゃんとダイアログがでますか?
0215デフォルトの名無しさん
2010/12/19(日) 15:18:21わざわざ持ち出してくるバカもいないだろう
0216デフォルトの名無しさん
2010/12/19(日) 16:09:03>>214
じゃあ、コードで示してくださいな
GUIに依存しないコードをねw
0217デフォルトの名無しさん
2010/12/19(日) 16:11:08Macなんてパソコン音痴が買って公開しちゃったパターンでしょw
0218デフォルトの名無しさん
2010/12/19(日) 16:19:570219デフォルトの名無しさん
2010/12/19(日) 16:23:510220デフォルトの名無しさん
2010/12/19(日) 16:25:30VMは無しで
0221デフォルトの名無しさん
2010/12/19(日) 16:26:080222デフォルトの名無しさん
2010/12/19(日) 16:26:47Mac買う奴なんて情弱だけだろw
0223デフォルトの名無しさん
2010/12/19(日) 16:35:180224デフォルトの名無しさん
2010/12/19(日) 16:36:29Macは昔漢字Talkだったころに使った事がある
当時はBSDカーネルじゃなかったから爆弾でまくりの不安定OSで
リソースフォークというWindowsでいうNT副次ストリームっぽい物が多用されていて
パスの書式が変態的で
改行コードはCRだった気がするが
もうほとんど覚えていない
0225デフォルトの名無しさん
2010/12/19(日) 16:38:19LLの話に戻せよドザ。
0226デフォルトの名無しさん
2010/12/19(日) 16:43:010227デフォルトの名無しさん
2010/12/19(日) 17:25:310228デフォルトの名無しさん
2010/12/19(日) 17:43:080229デフォルトの名無しさん
2010/12/19(日) 17:44:100230デフォルトの名無しさん
2010/12/19(日) 17:57:380231デフォルトの名無しさん
2010/12/19(日) 18:00:03windows専用もその通りです
XAMLはデザイナに生成させることができます。少なくともデザイナはQTよりは強力です。
0232デフォルトの名無しさん
2010/12/19(日) 18:04:02LINQのこれLLではどう書くんですかとかのほうがよっぽど有意義だ
0233デフォルトの名無しさん
2010/12/19(日) 18:05:530234デフォルトの名無しさん
2010/12/19(日) 18:09:02特にScalaやClojureより新しい世代でさ
0235デフォルトの名無しさん
2010/12/19(日) 18:11:220236デフォルトの名無しさん
2010/12/19(日) 18:13:39コンパイラもう出てるじゃん。fscだっけ
0237デフォルトの名無しさん
2010/12/19(日) 18:38:204.0だとPLINQだっけか
ttp://msdn.microsoft.com/ja-jp/library/dd997425.aspx
F#は前からその手のサポートがあったみたいだけど
ttp://msdn.microsoft.com/ja-jp/library/dd233250.aspx
0238デフォルトの名無しさん
2010/12/19(日) 19:06:11だから、それはVF#expressではないだろ。
0239デフォルトの名無しさん
2010/12/19(日) 19:18:39運用するのはLinuxやFreeBSDなんだから、そっちの方が問題が少ない。
WindowsのPuTTYとかWinSCPとかTortoiseSVNとか、この辺に匹敵するソフトがMacにはない。ことえりも使いづらいし。
テキストエディタもどれもしっくり来なくて、結局TextEdit使ってる。
Macはメニューバー中心の操作体系がもう時代遅れだと思う。
0240デフォルトの名無しさん
2010/12/19(日) 20:06:34PuttyってTerminal.appじゃだめなんか?
0241デフォルトの名無しさん
2010/12/19(日) 20:28:47iTermも2になってマシになったけど、screenとかで画面分割したりすると、異常にスクロールが遅くなるし。
SVNとかも、クライアントPCで使ってる場合、GUIの方が使いやすいし。
0242デフォルトの名無しさん
2010/12/19(日) 20:51:40よくわからん。
例えばtextArea1に文字列を出力してたとして。
textArea1を消したら、どこに出力されるの?
>>210
designerでシグナルとスロットの接続してるなら、できるんじゃねーの?
0243デフォルトの名無しさん
2010/12/19(日) 20:53:32UIに毛が生えた程度なら、それを言語と比較するってどうなの?
HTML+javascriptとperl比較するくらいに頭おかしい気がするんだけど。
0244デフォルトの名無しさん
2010/12/19(日) 21:08:120245デフォルトの名無しさん
2010/12/19(日) 21:21:03ライブラリの話は範囲が広がり過ぎて話も広く浅くなるか
一方は理解していてももう一方にはちんぷんかんぷんだったりする
0246デフォルトの名無しさん
2010/12/19(日) 21:21:05この言語ならGUIの定義を内部DSLでこう書けるぜ、どうよ!って感じの話しだったけどね
根本的には言語のシンタックスとか言語自体のパワーとかそっちの方向の話だったと思うよ
0247デフォルトの名無しさん
2010/12/19(日) 21:23:37textArea1にプッシュするコードは明示的に記述はしないってことでしょ
モデルがあって、モデルの属性とtextArea1をXAMLでbindする
textArea1を消したら、単にその属性が表示されないだけ
MVCなら当たり前の話だから、WPF使ったことが無い俺でもそれぐらいはわかる
0248デフォルトの名無しさん
2010/12/19(日) 21:33:30ttp://netsuperbrain.com/blog/posts/introducing-reactive-events/
こういうのが流行りなのか?
MSもReactive Extensionsとかいうの出してるみたいだけど
(JS版もあるみたいだ)
しかしこのページ、-> が -> になってて読み難い……
コルーチン使うより楽なんかな
0249デフォルトの名無しさん
2010/12/20(月) 01:31:520250デフォルトの名無しさん
2010/12/20(月) 01:34:51> Macはメニューバー中心の操作体系がもう時代遅れだと思う。
それじゃあ今時の操作体系ってどんなやつ?
0251デフォルトの名無しさん
2010/12/20(月) 01:45:563D
0252デフォルトの名無しさん
2010/12/20(月) 01:46:160253デフォルトの名無しさん
2010/12/20(月) 01:51:32今では誰も使っていません
0254デフォルトの名無しさん
2010/12/20(月) 01:54:04なんだ。ようは、ただのモデルとビューで、
モデルはコードで実装したらビューはXMLで書けるってだけ?
それって、Qtでできるのとは違うの?
0255デフォルトの名無しさん
2010/12/20(月) 01:57:14Windows7
0256デフォルトの名無しさん
2010/12/20(月) 02:17:11だからBinding
0257デフォルトの名無しさん
2010/12/20(月) 03:19:39Vista以降のExplorerとかOffice2007以降とかIE8とかChromeみたいなウィンドウメニュー(メニューバー)を極力排除して、ツールバーやリボンを中心としたインターフェイス。
それ以前にMacの場合、コンテクストメニューのサポートが弱いのが致命的だけど。
0258デフォルトの名無しさん
2010/12/20(月) 03:49:09そしてエロゲもゲームもフリーソフトのほとんどができないと後で知って泣きを見る
0259デフォルトの名無しさん
2010/12/20(月) 03:57:010260Perl忍者 ◆M5ZWRnXOj6
2010/12/20(月) 09:02:51付属のターミナルからはじめちゃうやつ(笑)
だいたい初音ミクのカスガキや大人がPerlをいじりだして
自己紹介欄らんに初音ミク、Perl、Ruby、Python、PHPってかいてる
OSの見た目を改造とかくだらねえことやってるごみみたいなやつばっかりw
くそまかのコミュはきもちわるいwごみみたいなアップル製品わめいたりほざきあってる
ゲームもカスゲーしかないwまともなのは海外ゲーw
マック使う意味なしw
0261Perl忍者 ◆M5ZWRnXOj6
2010/12/20(月) 09:09:30iphoneアプリやipadアプリ開発するわけでもないのにマック(笑)
わらさせんじゃねえよグズ
りなっくす>>>>マック(苦笑)
MacOSX ライオン(失笑)
0262デフォルトの名無しさん
2010/12/20(月) 09:30:00今からPerlやるのってためになると思いますか?
0263デフォルトの名無しさん
2010/12/20(月) 14:45:380264デフォルトの名無しさん
2010/12/20(月) 15:16:33ありがとうございます。丁度時間もあるのでやってみようと思います。
0265デフォルトの名無しさん
2010/12/20(月) 15:18:1840代はPerl覚えちゃいけないとでも?
0266デフォルトの名無しさん
2010/12/20(月) 16:24:08どの程度の時間が使えるか、人に聞くまでも無く判断がついてるだろう
0267デフォルトの名無しさん
2010/12/20(月) 16:28:58何で20代なのさ
0268デフォルトの名無しさん
2010/12/20(月) 16:32:580269デフォルトの名無しさん
2010/12/20(月) 18:05:130270デフォルトの名無しさん
2010/12/20(月) 22:54:06リスト処理(VBだから…配列処理?)は現状どんなもんかな
ForEachは結構早い段階から導入してたようだが
「配列Aの各要素を2乗した新しい配列Bを作成」って1行で書けるのか?
とりあえずスレタイの言語は現状、できるようだけど
0271デフォルトの名無しさん
2010/12/20(月) 23:22:24コントロール配列でそれぞれにイベントを追加するのを一行でできますか?
3DSMAXなどで作成した3Dオブジェクト配列を1行で画面に表示できますか?
ピクセルシェーダー配列の各要素でPictureBoxの画像にエフェクトを順にかけることが1行でできますか?
WPFなら余裕ですけどねw
0272デフォルトの名無しさん
2010/12/20(月) 23:24:500273デフォルトの名無しさん
2010/12/20(月) 23:30:450274デフォルトの名無しさん
2010/12/20(月) 23:44:24VBScriptほとんど知らないけど
動的配列が欲しければReDimでreallocしろという世界みたいなので
リスト処理とか超面倒くさそうだなー
と思って今頑張って書いてみたけど、こんな感じになるみたい
むしろJavaScript風に割り切って全部ディクショナリにしてしまうのが
楽かも?
Function foldLeft(ByVal f, ByVal init, ByVal xs)
foldLeft = init
For Each x in xs
foldLeft = f(foldLeft, x)
Next
End Function
Function map(ByVal f, ByVal xs)
ReDim ys(UBound(xs))
For i = 0 To UBound(xs)
ys(i) = f(xs(i))
Next
map = ys
End Function
Function square(ByVal x)
square = x * x
End Function
For Each x In map(GetRef("square"), Array(1, 2, 3, 4, 5))
WScript.Echo x
Next
0275デフォルトの名無しさん
2010/12/21(火) 00:15:56時間あるなら、LispかC++でも覚えた方がためになると思うけどなぁ。
Ruby知っててPerl新たにやるメリットってほとんどない。
0276デフォルトの名無しさん
2010/12/21(火) 00:21:18年配の人と話を合わせられるようになる。
0277デフォルトの名無しさん
2010/12/21(火) 00:21:47Webサーバを1行で動かせる?
配列に対して、任意の関数をキーに使ったソートが1行で書ける?
Yコンビネータが1行で作れる?
これが1行で書けるんです!とだけ主張するほど痛々しいことはない。
用意されてたら1行で書けるけど、すべてを用意することなんてできない。
実用的なプログラムを、より簡潔な処理で書ける言語がよいのだから、
実用的なプログラムを晒してはじめて評価が得られる。
0278デフォルトの名無しさん
2010/12/21(火) 00:29:32,、ァ
,、 '";ィ'
________ /::::::/l:l
─- 、::::;;;;;;;;;`゙゙''‐ 、 __,,,,......,,,,_/:::::::::/: !|
. : : : : : : `゙'ヽ、:::゙ヾ´::::::::::::::::::::::`゙゙゙'''‐'、. l|
、、 . : : : : : : : : r'":::::::::::::::::::::::::,r':ぃ::::ヽ::::::::ヽ! ,、- 、
.ヽ:゙ヽ; : : : : : :ノ:::::::::::::::::::::;;、-、、゙::: rー-:'、 / }¬、
. \::゙、: : : :./::::::::::::::;、-''":::::::::: ,...,:::,::., :::':、 _,,/,, ,、.,/ }
ヽ:ヽ、 /::::::::::::::::::::::::: _ `゙''‐''" __,,',,,,___ /~ ヾ::::ツ,、-/
`ヽ、:::::::::;;;、、--‐‐'''''',,iニ- _| 、-l、,},,  ̄""'''¬-, ' ''‐-、 .,ノ'゙,i';;;;ツ
_,,,、-‐l'''"´:::::::' ,、-'" ,.X,_,,、-v'"''゙''yr-ヽ / ゙゙'ヽ、, ,.' j゙,,, ´ 7
,、-''" .l:::::::::::;、-''" ,.-' ゙、""ヾ'r-;;:l 冫、 ヽ、 / __,,.ノ:::::ヽ. /
l;、-'゙: ,/ ゞ=‐'"~゙゙') ./. \ / '''"/::::;:::;r-''‐ヽ
,、‐゙ ヽ:::::..,.r'゙ ,,. ,r/ ./ ヽ. ,' '、ノ''" ノ
,、‐'゙ ン;"::::::. "´ '゙ ´ / ゙、 ,' /
' //::::::::: {. V /
/ ./::::::::::::: ', / /
. / /:::::::::::::::::. ',. / ,.、 /
0279デフォルトの名無しさん
2010/12/21(火) 00:37:340280デフォルトの名無しさん
2010/12/21(火) 00:44:540281デフォルトの名無しさん
2010/12/21(火) 01:14:420282デフォルトの名無しさん
2010/12/21(火) 01:24:25A nalog clock
D igital clock
T ic tac toe
0283Perl忍者 ◆M5ZWRnXOj6
2010/12/21(火) 09:04:08ソース http://www.mudaijp.com/wp/1957.html
竹田隼也
いじめられていた被害者が2ちゃんねるのコテ環境様という人で、竹田隼也は2ちゃんねるの一部の板を運営してたみたいです(ボランティアだと思いますが)
逮捕された竹田隼也は、アットフリークスの取締役です。
現在の取り締まり役は、大野真和になってますね。
竹田隼也は、アットフリークを立ち上げたメンバーであることは確定しています。(まだ運営にも関わっています)
その当時の記事→アーカイブ
アット ウィキの運営情報(whoisより)
有限会社アットフリークス
640-8227
和歌山県和歌山市西汀丁26番地県経済センター6F
当時はアットフリークスが運営するBBSにもこのいじめのことが書かれてたみたいですが、現在はすっかり削除されています(隠蔽)。
公の場で問題になってから事実を公表する運営も信用できませんよね。
絶対に知ってるはずなのに、このようなコメントを残しています。
0284デフォルトの名無しさん
2010/12/21(火) 16:20:35PHP?
0285デフォルトの名無しさん
2010/12/21(火) 16:23:020286デフォルトの名無しさん
2010/12/21(火) 16:50:450287デフォルトの名無しさん
2010/12/21(火) 20:23:240288デフォルトの名無しさん
2010/12/21(火) 20:50:34XNAみたいに簡単に作れますか?
0289デフォルトの名無しさん
2010/12/21(火) 21:00:500290デフォルトの名無しさん
2010/12/21(火) 21:04:400291デフォルトの名無しさん
2010/12/21(火) 21:19:10Pythonで、クラス内に 同じメソッド名の staticmethod と classmethod があります。
で、staticmethodから classmethodを呼び出す時に同じメソッド名だからなのか、
classmethodを見つけてくれないのだけれども、メソッド名を変えないで呼び出す
方法はありますか?
0292デフォルトの名無しさん
2010/12/21(火) 21:38:050293デフォルトの名無しさん
2010/12/21(火) 22:37:22同じ名前で2つのメソッドがあることはありえません。
あとで定義したほうが、先に定義した方を上書きしています。
そもそもなぜ同名の static method と class method が必要なのでしょうか?
0294デフォルトの名無しさん
2010/12/22(水) 01:19:10Pythonを捨ててRubyに切り替えましょう
0295デフォルトの名無しさん
2010/12/22(水) 01:27:30Rubyならクラスにクラスメソッドとスタティックメソッドを同名で定義できるの?
0296デフォルトの名無しさん
2010/12/22(水) 01:56:530297デフォルトの名無しさん
2010/12/22(水) 03:27:120298デフォルトの名無しさん
2010/12/22(水) 03:30:170299デフォルトの名無しさん
2010/12/22(水) 03:41:400300デフォルトの名無しさん
2010/12/22(水) 08:43:220301Perl忍者 ◆M5ZWRnXOj6
2010/12/22(水) 09:15:20ソース http://www.mudaijp.com/wp/1957.html
竹田隼也
いじめられていた被害者が2ちゃんねるのコテ環境様という人で、竹田隼也は2ちゃんねるの一部の板を運営してたみたいです(ボランティアだと思いますが)
逮捕された竹田隼也は、アットフリークスの取締役です。
現在の取り締まり役は、大野真和になってますね。
竹田隼也は、アットフリークを立ち上げたメンバーであることは確定しています。(まだ運営にも関わっています)
その当時の記事→アーカイブ
アット ウィキの運営情報(whoisより)
有限会社アットフリークス
640-8227
和歌山県和歌山市西汀丁26番地県経済センター6F
当時はアットフリークスが運営するBBSにもこのいじめのことが書かれてたみたいですが、現在はすっかり削除されています(隠蔽)。
公の場で問題になってから事実を公表する運営も信用できませんよね。
絶対に知ってるはずなのに、このようなコメントを残しています。
0302Perl忍者(竹田隼也) ◆M5ZWRnXOj6
2010/12/22(水) 10:39:520303291 @Java脳
2010/12/22(水) 11:44:06ども。
コントーラにビジネスロジックを入れたくないので、モデルの static method
で実装し、目的としては同じ処理をするメソッドが class methodにもあるので
出来れば同じメソッド名にしたかった・・という流れ。
javaでは出来るのでね。
じゃ、汚いけど、_ とか入れるか。
0304デフォルトの名無しさん
2010/12/22(水) 12:19:22class methodとinstance methodを勘違いしてない?
普通はstatic methodとclass methodは同じ物だろ
0305デフォルトの名無しさん
2010/12/22(水) 12:40:23Pythonではその両者は違うよ
classmethodはクラスオブジェクトを引数にとるが、staticmethodは取らない
Javaのclass methodと同じなのはstaticmethodのほうだな
Pythonではただの関数が使えるのだから、staticmethodの存在意義が
俺には疑問だけど
>>291が勘違いしているのかしていないのかは、わからないw
0306デフォルトの名無しさん
2010/12/22(水) 12:46:140307291 @Java脳
2010/12/22(水) 12:47:40ごめんなさい、勘違いしていた。
static methodと instance method だった。
>>305
>Pythonではただの関数が使えるのだから、staticmethodの存在意義が俺には疑問だけど
出来れば詳しく教えてください。
0308305
2010/12/22(水) 12:48:33この書き方だとちょっと紛らわしいか…
ふつうのinstanceメソッドは
def foo(self, x) とか定義して、selfにはインスタンスオブジェクトが渡される
(他の言語のthis相当)
クラスメソッドでは
@classmethod
def foo(cls, x) とか定義して、clsにはクラスオブジェクトが渡される
(Pythonでは全てがオブジェクトだからクラスもオブジェクトで、
メタクラスのインスタンス)
foo()が親クラスに定義されていて、派生クラス側でfoo()を呼んだ場合に
渡ってくるclsは、継承クラスのオブジェクトになる
0310305
2010/12/22(水) 12:52:18いや別に難しい話じゃないよ
Pythonにおけるstaticmethodは、機能的には単にclassの中に書いてみただけの
ただの関数でしかないでしょう
Pythonでは関数をクラスの中に書かなければならない言語ではないし
クラスがprivateみたいなアクセスコントロール機構を持っているわけでもないし
モジュール機構があるから、名前空間としてのクラスも別に重要ではない
ならただの関数でよくね?というだけの話
0311291 @Java脳
2010/12/22(水) 12:58:40>名前空間としてのクラスも別に重要ではないならただの関数でよくね?というだけの話
ありがとうです。確かに。まだJava脳から抜けない・・
0312デフォルトの名無しさん
2010/12/22(水) 13:05:320313デフォルトの名無しさん
2010/12/22(水) 14:52:18勝手にインスタンスメソッドだと解釈して第一引数にインスタンスが渡されてしまう。
なので、インスタンス経由で呼び出したときにも第一引数いりませんよーって宣言するために
staticmethodがある。
で、結論としては、外から隠す方の名前の先頭に _ を付ける。
他の方法もあるけど、全部汚いか非効率。
0314デフォルトの名無しさん
2010/12/22(水) 16:29:40単にPythonではメソッドのオーバーロードができない、ってだけの話なんだけど
分かっているのかな?
引数型を明示しない動的型言語なんだから
静的型と同様のオーバーロードは原理的にできるわけがない
個数だけのディスパッチみたいな部分的なサポートなら可能に思えるけど
まあシンプルに「出来ない」ものとしたんだろう
0315デフォルトの名無しさん
2010/12/22(水) 17:46:510316デフォルトの名無しさん
2010/12/22(水) 17:55:030317デフォルトの名無しさん
2010/12/22(水) 18:05:16int add(int x, int y)
double add(double x, double y)
があるときに、C++コンパイラは
add(1.0, 2.0)
という呼び出しをdouble add(double x, double y)
にパターンマッチする
で、Pythonはどうするの?
0318デフォルトの名無しさん
2010/12/22(水) 18:18:410319デフォルトの名無しさん
2010/12/22(水) 18:22:130320デフォルトの名無しさん
2010/12/22(水) 18:23:280321デフォルトの名無しさん
2010/12/22(水) 18:39:01手動型チェックと手動条件分岐で多重定義やパターンマッチの代わりになるとか
言ってる奴はバカじゃないの?
それとも>>316はもっと高級な話をしてるのか?
0322デフォルトの名無しさん
2010/12/22(水) 18:42:540323デフォルトの名無しさん
2010/12/22(水) 18:44:37いや君は「できる」といったけど、それは「できてない」んだよ
「できてない」から、手動でやってるんでしょ
0324デフォルトの名無しさん
2010/12/22(水) 18:46:13俺は>>316じゃない。>>317から>>323まで俺とお前しか書き込んでない
0325デフォルトの名無しさん
2010/12/22(水) 18:47:25> 静的型と同様のオーバーロードは原理的にできるわけがない
>>316
> ふつーに型検査してディスパッチできるだろ
>>316が isinstance()のようなものを使った汚い手動分岐のことなら、
誰もそれを「静的型と同様のオーバーロード」とは見做さないし、
「出来てる」とは言わないの
わかったか?
0326デフォルトの名無しさん
2010/12/22(水) 18:48:08>>319と>>321も別人だよ
0327デフォルトの名無しさん
2010/12/22(水) 18:52:05... def hoge(self): return 'HOGE'
>>> def fuga(self): return 'FUGA'
>>> Foo.fuga = fuga
>>> def hage(self): return 'HAGE'
>>> f = Foo()
>>> f.hage = hage
>>> def hige(self): return 'HIGE'
>>> Foo.hige = hige
>>> g = Foo()
>>> g.hoge()
'HOGE'
>>> g.fuga()
'FUGA'
>>> g.hage()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Foo' object has no attribute 'hage'
>>> g.hige()
'HIGE'
>>> f.hige()
'HIGE'
>>> f.hage()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: hage() takes exactly 1 argument (0 given)
>>> f.fuga()
'FUGA'
>>> f.hoge()
'HOGE'
>>> f.hage(None)
'HAGE'
0328デフォルトの名無しさん
2010/12/22(水) 18:53:190329デフォルトの名無しさん
2010/12/22(水) 19:06:01相変わらずだな……
動的型言語として、引数型指定とかさせる仕様じゃないから
引数型に応じた自動的なディスパッチ機構(パターンマッチ/オーバーロード)は
Pythonには無いですよ
ってだけの話だったのに
なんで「手でディスパッチすればできる」とか意味不明な反論になってるのwww
>>328も妙に上から目線だしwww
0330デフォルトの名無しさん
2010/12/22(水) 19:08:17C++ではこうやるんだけど、pythonではどうやるの?って馬鹿な奴が消えてくれればそれでいいんだけど
0331デフォルトの名無しさん
2010/12/22(水) 19:14:100332デフォルトの名無しさん
2010/12/22(水) 19:22:00groovyはできる(ただし、型がルーズなので信じると裏切られることも多い)
0333デフォルトの名無しさん
2010/12/22(水) 19:35:39pythonでやるならこんな感じだろーな
pepはまだdraftだけどこのてのライブラリは探せばいくつかある
lispだとgeneric functionとか、gaucheもそんな感じだわな
汚いとかなんとかいわれてもはぁそうですかとしか…
0334デフォルトの名無しさん
2010/12/22(水) 19:39:43そもそも多重定義が必要になる場面がほとんど無いんだよ
0335デフォルトの名無しさん
2010/12/22(水) 19:40:54そうそう。実際、JavaのコードをPythonに書き直したりすると分かる
0336デフォルトの名無しさん
2010/12/22(水) 20:12:170337デフォルトの名無しさん
2010/12/22(水) 20:23:01そんなことは無いと思うけど…
今ダウンロードしたgoogleclとかいうgoogle APIのクライアントライブラリ
を試しに見てみると、base.pyの中で引数に対してisinstanceを呼んでいる箇所が
8箇所ぐらいある
勿論どうしても必要と言うものでもないけどね
>>333
ああそれはいいな、でもdraftなのか
0338デフォルトの名無しさん
2010/12/22(水) 21:29:38isinstance が必要かどうかの話はしていないぞ
0339デフォルトの名無しさん
2010/12/22(水) 21:33:27引数に対するisinstance()を頻繁に行う必要があるってのは、>>334への反例に
なるかと思ったんだけど
Javaで
void foo(Object arg) {
if (arg istanceof Integer) ..
else if ....
}
こんな馬鹿げたコードは書かないでしょ
多重定義があるから
0340デフォルトの名無しさん
2010/12/22(水) 21:47:330341デフォルトの名無しさん
2010/12/22(水) 21:58:27>そもそも多重定義が必要になる場面がほとんど無いんだよ
というのが疑問だからつっこんだだけ
isinstance()を使ってるのは、多重定義があれば多重定義を使う場面だから、
「そもそも必要でない」というのはあたらないかと
0342デフォルトの名無しさん
2010/12/22(水) 22:16:560343デフォルトの名無しさん
2010/12/22(水) 22:17:54あれば便利という程度に過ぎない
0344デフォルトの名無しさん
2010/12/22(水) 22:20:130345デフォルトの名無しさん
2010/12/22(水) 22:21:43名前バインディングが文字通り・見たままで済むからシンプルになる
C++のname manglingはキモい
0346デフォルトの名無しさん
2010/12/22(水) 22:22:43pythonの場合は
def foo(intobject=None, strobject=None, listobject=None, hashobject=None):
って書けるから引数の省略と組み合わせると多重定義は要らないって話
(引数の型が正しいかどうかっていうのとは別の話)
0347デフォルトの名無しさん
2010/12/22(水) 22:25:11意図は理解するけど、使い勝手としてはデグレードはしてるな
foo(intobject="foo")
のように書けるし、
キーワードを覚えてタイプする必要がある
0348デフォルトの名無しさん
2010/12/22(水) 22:27:590349デフォルトの名無しさん
2010/12/22(水) 22:36:520350デフォルトの名無しさん
2010/12/22(水) 22:47:180351デフォルトの名無しさん
2010/12/22(水) 22:47:19def foo(obj):
if isinstance(obj, int):
foo_int(obj)
elif isinstance(obj, str):
foo_str(obj)
...
みたいなコードが
def foo(intobject=None, strobject=None, listobject=None, hashobject=None):
if intobject != None:
foo_int(intobject)
elif strobject != None:
foo_str(strobject)
...
みたいになるだけ?
まったくうれしくない、デフォルト引数の使い方間違ってね?
0352デフォルトの名無しさん
2010/12/22(水) 22:57:27sin(x) みたいなのはオーバーロード出来ないのはバランス
悪くてやだなー、と思ったことはある。
0353デフォルトの名無しさん
2010/12/22(水) 22:58:090354デフォルトの名無しさん
2010/12/22(水) 23:00:04お前の脳みそも同じくらい良く出来てればよかったのにな
0355デフォルトの名無しさん
2010/12/22(水) 23:05:31クラスの中の演算子オーバーロードなら、左オペランドの型は確定するからなー
逆に言うとglobalなoperator定義みたいなのはやっぱりできないし
今日からfunction compositionは>>演算子で!とか思い立っても
f >> g
とはかけずに
Compose(f) >> g
とかそんなコードを書くしかない
0356デフォルトの名無しさん
2010/12/22(水) 23:06:26これはひどいwwww
0357デフォルトの名無しさん
2010/12/22(水) 23:12:36PowerShellは実引数の型に応じてそれを受け取る仮引数と処理を制御するけど、そういう話?
ttp://blogs.msdn.com/b/powershell/archive/2008/12/23/powershell-v2-parametersets.aspx
0358デフォルトの名無しさん
2010/12/22(水) 23:15:55「デグレードしてる」ってのは、
静的型言語でのパターンマッチやオーバーロード、あるいは
>>351の上の版のような手動ディスパッチに比べて
使い勝手が劣り、error proneで、「これがあるから要らない」とまで主張するには
どうかと思うぐらいいいところが何も無いってことね
0359デフォルトの名無しさん
2010/12/22(水) 23:31:59なにこのクソ言語。
0360デフォルトの名無しさん
2010/12/22(水) 23:42:25多重定義を実装することは可能で、それを使いやすいライブラリにすることも可能。
ttp://gihyo.jp/dev/serial/01/pythonhacks/0007?page=2&skip
0361デフォルトの名無しさん
2010/12/22(水) 23:49:01うん、だからこういうことでいいのかと思ったけど
便利に見えて関数定義何度もするのと大して手間変わらんのだよなー
0362デフォルトの名無しさん
2010/12/22(水) 23:49:53おー
これってPythonダックタイプな(概念的)インタフェースを上手く扱えるのかな?
Pythonってfilelikeとかiterableみたいな、
特定の型を継承しない型のクラスみたいなのが結構あって、それを判別したいことは
多分多いのだと思うのだけれど
0363デフォルトの名無しさん
2010/12/22(水) 23:59:25ABCとかあるし、やろうと思えばできるけど、実用的じゃないだろうな。
例えば、 filelike は iterable でもあるけど、どっちにする?
そんな面倒なこと考えるくらいなら、 foo_from_file, foo_from_iter って別の名前の関数作るほうが良いと思うよ。
0364デフォルトの名無しさん
2010/12/23(木) 00:04:02filelikeとiterableのディスパッチのように、単に
曖昧で決定できないというエラーを出すのが普通かと
(コンパイラが賢いことをする言語では、そういうことが普通によくある)
> そんな面倒なこと考えるくらいなら、 foo_from_file, foo_from_iter って
> 別の名前の関数作るほうが良いと思うよ。
んーC++のオーバーロードとかHaskellのパターンマッチなんて要らないよね
みなアセンブラで書こうぜって話?
0365364
2010/12/23(木) 00:04:56○ filelikeとiterableのディスパッチのように、「それが困難な場合には」単に〜
ちょっと抜けてた
0366デフォルトの名無しさん
2010/12/23(木) 00:17:57C++みたいに優先順位付けを頑張らないなら、ABCでの対応もできるな。
> んーC++のオーバーロードとかHaskellのパターンマッチなんて要らないよね
> みなアセンブラで書こうぜって話?
そんな極論は言ってない。静的言語ではオーバーロードを美味しく使わせてもらってるし、
静的に型付けできるのにオーバーロードできないAS3は嫌い。
あくまでも、Pythonみたいな動的型付け言語ではの話。
0367デフォルトの名無しさん
2010/12/23(木) 00:20:20優先順位付けはある程度は可能だし
今でも↑のやつでやってるんじゃないの?
basestringとstrのディスパッチャーにstrを渡したらstrを
適合させるんでしょ
filelikeとiterableではfilelikeのほうが狭いから、filelikeを渡せば
普通はfilelikeに適合させるんじゃないの
0368デフォルトの名無しさん
2010/12/23(木) 00:49:35たとえば
draw_rect(1,2,3,4)
draw_rect((1,2),(3,4))
draw_rect((1,2,3,4))
みたいに呼び出せる関数を書きたかったらシグネチャは
def draw_rect(a,b=None,c=None,d=None):
みたいな感じになるだろうけど
オーバーロードできるなら
def draw_rect(x,y,w,h):
def draw_rect(pt1, pt2):
def draw_rect(rect):
みたいにちゃんとした名前付けてあげられる、可読性も向上する
0369デフォルトの名無しさん
2010/12/23(木) 00:53:56んだなー
一方
draw_rect_points()
とか
draw_rect_rect()
とかだと、dynamic languageなのに静的型言語よりstaticなのが気持ち悪いし
操作の名前に型の名前が入り込んでしまうのが名前として良くない
0370デフォルトの名無しさん
2010/12/23(木) 00:57:36C++かせいぜいJavaにしておけよwww
0371デフォルトの名無しさん
2010/12/23(木) 01:01:07そうはいってもあんまりfunctionalな言語でもないのだが
0372デフォルトの名無しさん
2010/12/23(木) 01:07:47お前マジで頭逝ってんのか?
0373デフォルトの名無しさん
2010/12/23(木) 01:16:20いい例だな
0374デフォルトの名無しさん
2010/12/23(木) 01:50:44draw_rect(a,b,c,d) だけあったら、
draw_rect(*(1,2)+(3,4)) とか draw_rect(*(1,2,3,4)) とかできる。
0375デフォルトの名無しさん
2010/12/23(木) 02:19:030376デフォルトの名無しさん
2010/12/23(木) 02:25:220377デフォルトの名無しさん
2010/12/23(木) 02:36:05そこらへん柔軟にできるのなら、別に
draw_rect(int,int,int,int)と
draw_rect(list)を両方用意する必要ってない気がする。
0378デフォルトの名無しさん
2010/12/23(木) 02:40:59draw_rect(x1,y1,x2,y2)
draw_rect(x,y,w,h)
どっちなのかわからないんだよな
0379デフォルトの名無しさん
2010/12/23(木) 06:43:03そうかなー
def draw_rect(a,b=None,c=None,d=None):
if d is not None:
x, y, w, h = a, b, c, d
_draw_rect4(x, y, w, h)
elif b is not None:
pt1, pt2 = a, b
_draw_rect2(pt1, pt2)
else:
rect = a
_draw_rect1(rect)
そんなに悪くないと思うけど、だめかな。
0380デフォルトの名無しさん
2010/12/23(木) 10:41:24全然だめだし無駄だと思う
この例で矩形を描くために_draw_rect4(), _draw_rect2(), _draw_rect1のような
関数を別々に実装するかといえばそんなわけはなくて、実際に仕事をする
コア実装のインタフェースはどれか一つだろう
なので、Pythonなら>>374の書いているようなタプルのパッキング、アンパッキング
を使ってさっさと引数をタプルならタプル、4変数なら4変数に加工して
それから処理したほうがいい
型シグニチャもそれだと何の役にも立たずドキュメント性も無いから
俺ならいっそ*argsにしてしまって、len(args)でディスパッチさせるかな
0381380
2010/12/23(木) 10:53:49勿論その下の型シグニチャ+オーバーロードっぽい擬似コードのほうが
ずっと明快で好ましいと思うけど
def draw_rect(*args):
if len(*args) == 4:
x0, y0, x1, y1 = args
elif len(*args) == 2:
(x0, y0), (x1, y1) = args[0], args[1]
elif len(*args) == 1:
x0, y0, x1, y1 = args[0]
:
-----------------------------------------------------------
def draw_rect(rc: Rect):
draw_rect(rc.x0, rc.y0, rc.x1, rc.y1)
def draw_rect(pt0: Point, pt1: Point):
draw_rect(pt0.x, pt0.y, pt1.x, pt1.y)
def draw_rect(x0: int, y0: int, x1: int, y1: int):
:
0382デフォルトの名無しさん
2010/12/23(木) 10:58:56C++ライブラリのラッパ作るとか、そうしたい理由があるならそれでいい。
そうじゃないなら、ダメ。
0383デフォルトの名無しさん
2010/12/23(木) 11:05:34draw_rectだけしかそういう関数ないんだったらそれでいいけど、
同じ引数でdraw_roundrectもあるなら、その方法がいいとは思えない。
Rect側で
def to_list(self):
return [self.x0, self.y0, self.x1, self.y1]
ってすればいいんじゃね?
0384380
2010/12/23(木) 11:07:38よく見たらこのへん全部 * が余計だった
後、w, hとかの場合もあったのか
0385デフォルトの名無しさん
2010/12/23(木) 11:09:06なるほど
0386デフォルトの名無しさん
2010/12/23(木) 12:03:130387Perl忍者(竹田隼也) ◆M5ZWRnXOj6
2010/12/23(木) 12:58:040388デフォルトの名無しさん
2010/12/23(木) 15:48:43やっぱりC#最強だね
0389デフォルトの名無しさん
2010/12/23(木) 15:53:010390386
2010/12/23(木) 16:01:290391デフォルトの名無しさん
2010/12/23(木) 16:06:27昭和世代の言語って感じ
0392デフォルトの名無しさん
2010/12/23(木) 16:09:490393デフォルトの名無しさん
2010/12/23(木) 16:11:41JavaScriptだけ残る
0394デフォルトの名無しさん
2010/12/23(木) 16:13:100395デフォルトの名無しさん
2010/12/23(木) 16:29:560396デフォルトの名無しさん
2010/12/23(木) 16:35:070397デフォルトの名無しさん
2010/12/23(木) 16:37:570398デフォルトの名無しさん
2010/12/23(木) 16:47:250399デフォルトの名無しさん
2010/12/23(木) 16:49:030400デフォルトの名無しさん
2010/12/23(木) 16:49:160401デフォルトの名無しさん
2010/12/23(木) 16:50:250402デフォルトの名無しさん
2010/12/23(木) 16:52:160403デフォルトの名無しさん
2010/12/23(木) 16:58:280404デフォルトの名無しさん
2010/12/23(木) 16:59:560405デフォルトの名無しさん
2010/12/23(木) 21:58:37Pythonだと、
draw_rect(int x0, int y0, int x1, int y1){ return draw_rect(Rect(x0, y0, x1, y1)); }
draw_rect(Point p0, Point p1){ return draw_rect(Rect(p0.x, p0.y, p1.x, p1.y)); }
なんてダサいコード書かなくていいの。
C#じゃどーすんのかしらないけどさ。
0406デフォルトの名無しさん
2010/12/23(木) 23:34:16function Draw-Rect
{
[CmdletBinding(DefaultParameterSetName="xywh")]
param(
[Parameter(ParameterSetName="rect", Position=0)]
[ValidateCount(4,4)]
[int[]] $rect,
[Parameter(ParameterSetName="point", Position=0)]
[ValidateScript({$_.Count -eq 2 -and $_[0] -is [int] -and $_[1] -is [int] })]
[object[][]] $pt,
[Parameter(ParameterSetName="xywh",Position=0)]
[int]$x,
[Parameter(ParameterSetName="xywh",Position=1)]
[int]$y,
[Parameter(ParameterSetName="xywh",Position=2)]
[int]$w,
[Parameter(ParameterSetName="xywh",Position=3)]
[int]$h
)
switch ($PsCmdlet.ParameterSetName)
{
"rect" { 1 } # Draw-Rect 1,2,3,4
"point" { 2 } # Draw-Rect (1,2),(3,4)
"xywh" { 4 } # Draw-Rect 1 2 3 4
default { "ダーッ!" }
}
}
0407デフォルトの名無しさん
2010/12/24(金) 22:25:43>>383を解説してくれ
0408デフォルトの名無しさん
2010/12/24(金) 23:10:54draw_rectがRect型でもlist型でも整数4つでも、どの引数でも使えるように多重定義するくらいなら、
Rect型をlist型に変換する方法を提供するとか、そうした方が幸せになれる、という意味。
0409デフォルトの名無しさん
2010/12/24(金) 23:14:57まあ発想としては似たようなもんだが
Rectの入り口が広ければ、draw_rectはRect版だけでいい
0410デフォルトの名無しさん
2010/12/25(土) 13:21:00けどそしたらdraw_rect(Point, Point)が...
draw_rect(Rect(*p0.pos(), *p1.pos()))
かなぁ。
0411デフォルトの名無しさん
2010/12/25(土) 13:56:150412デフォルトの名無しさん
2010/12/25(土) 14:01:26それを譫言のように繰り返すのやめてくれw
0413407
2010/12/25(土) 14:23:49関数側じゃなくて引数に使うRect型のコンストラクタを多重定義するなら
draw_rectはRect受け取るやつだけでいいんじゃないの?
0414デフォルトの名無しさん
2010/12/25(土) 14:34:57多重定義するなら、それでいいけど。
したくなければどうしよう。
0415デフォルトの名無しさん
2010/12/25(土) 19:46:090416デフォルトの名無しさん
2010/12/25(土) 22:26:120417デフォルトの名無しさん
2010/12/25(土) 22:31:36お前の意図が見え透いてるからな
0418デフォルトの名無しさん
2010/12/25(土) 22:35:540419デフォルトの名無しさん
2010/12/25(土) 22:38:36多重定義が出来ない言語が糞だってな。頭が悪すぎて相手してられないよ
0420デフォルトの名無しさん
2010/12/25(土) 23:47:51Pythonはゴミ
0421デフォルトの名無しさん
2010/12/25(土) 23:51:590422デフォルトの名無しさん
2010/12/26(日) 00:20:030423デフォルトの名無しさん
2010/12/26(日) 01:49:380424デフォルトの名無しさん
2010/12/26(日) 01:56:220425デフォルトの名無しさん
2010/12/26(日) 01:59:390426デフォルトの名無しさん
2010/12/26(日) 02:02:370427デフォルトの名無しさん
2010/12/26(日) 03:23:070428デフォルトの名無しさん
2010/12/26(日) 03:30:130429デフォルトの名無しさん
2010/12/26(日) 07:10:15○○使いになるとこういう言葉を話せるようになるんですね。
0430デフォルトの名無しさん
2010/12/26(日) 07:37:50おとっつあんおかゆができたわよ
0431Perl忍者 ◆M5ZWRnXOj6
2010/12/26(日) 10:24:06実際ごみくず
0432デフォルトの名無しさん
2010/12/26(日) 10:29:26キーワード引数でどうにかしようとしてた人もいるけど、俺はあんま好きじゃないってだけ。
range([start,] stop [,step]) 程度なら、*argsの大きさ数えて場合分けで実装してもいいと思うけど。
0433デフォルトの名無しさん
2010/12/26(日) 10:44:22できないから別の方法使うんじゃなくて、多重定義って本当に必要な場面なんてほとんどない。
どうしても必要ならPythonなら>>360の方法でできるし、
言語の機能を追加するような魔改造はPythonよりRubyの方が得意な印象なので、きっとRubyでもできるのだろう。
0434デフォルトの名無しさん
2010/12/26(日) 10:57:24俺に言うな
0435デフォルトの名無しさん
2010/12/26(日) 11:02:44ここが議論の分かれるところだったのでは?
キーワード引数があれば要らない、とかいう意見は突っ込まれまくっていたし
多重定義があれば要らないisinstanceが結構多用されている例があがっていた
0436デフォルトの名無しさん
2010/12/26(日) 11:08:49isinstanceで振り分けるのがいい方法なのか、
多重ディスパッチがいい方法なのか、
結論はないんじゃない?
0437デフォルトの名無しさん
2010/12/26(日) 11:13:140438デフォルトの名無しさん
2010/12/26(日) 11:16:050439デフォルトの名無しさん
2010/12/26(日) 11:18:41これと同レベル
0440デフォルトの名無しさん
2010/12/26(日) 11:20:08>多重定義って本当に必要な場面なんてほとんどない。
ってのはシングルディスパッチでうまい設計が出来る場合がほとんどだよと言いたいのだろう
本当に出来るのかは知らんけど
0441デフォルトの名無しさん
2010/12/26(日) 11:26:15(デフォルト引数や、多重代入を1行書くだけで事足りるからね)
問題になるのは型で分ける場合の話だけだよな
っつーても、変数に型がない言語で引数の型で縛るってのも
変な話になるんだよなあ
どっちかっつーと、ダックタイピング的に
「渡されたオブジェクトに必要なメソッドが揃っているなら、型とか考えない」
って解決法が一番だと思うぞ
逆に言えば、渡すオブジェクト側に必要なもの揃えてやればいいだけ
>>433
過去にはあったらしいって話はどっかで聞いたような気もするが
実用例は全く聞かない辺り、必要ないんだろうなやっぱ
0442デフォルトの名無しさん
2010/12/26(日) 11:28:54Pythonから見たら無駄な、多重定義せざるを得ないという状況の方が圧倒的に多いように思えるけど
0443デフォルトの名無しさん
2010/12/26(日) 11:32:36静的型ではないだけで
レシーバの型に応じたディスパッチ(いわゆるポリモーフィズム)はあるのだから
ぜんぜん「変な話」ではないと思う
ただし現実問題として引数型に対する多重ディスパッチは無い
というのが多くのLLの現状
C++族のオーバーロードによる多重ディスパッチは多重だが静的な
(コンパイル時の)ディスパッチなので
動的言語に適したもの、となると、実行時型による動的な
多重ディスパッチになるんだろう
0444デフォルトの名無しさん
2010/12/26(日) 11:33:53多重ディスパッチとか言っても分かってない
Javaしか出てこないお子様しかいないから
0445デフォルトの名無しさん
2010/12/26(日) 11:34:28Pythonから見たら無駄な、多重定義をせざるを得ないという状況の方が圧倒的に多いように思えるけど、違う?
0446デフォルトの名無しさん
2010/12/26(日) 11:36:08Pythonではたとえば
callable x callable -> callable
のような演算子がつくれないんですよ
0447デフォルトの名無しさん
2010/12/26(日) 11:38:530448デフォルトの名無しさん
2010/12/26(日) 11:51:19Perl6ならそういうこともできるのかな?
0449デフォルトの名無しさん
2010/12/26(日) 12:09:58具体的にたとえばCLOSでどういう弊害が指摘されているというのかな?
言えなければおまえも馬鹿だ。
0450デフォルトの名無しさん
2010/12/26(日) 12:10:20ただ、型がない言語でも、仮引数の個数でだけでも多重定義出来る方が、スマートに書ける場合が多々あるように思う。
foo()の中のifで切り分けて_foo1()とか_foo2()に飛ばすって、如何にも泥臭い。
0451デフォルトの名無しさん
2010/12/26(日) 12:15:160452デフォルトの名無しさん
2010/12/26(日) 12:15:22変数に任意の型を持たせることもできるし、これで変に略記に拘らなければもっと受け入れられると思うんだけど
ttp://d.hatena.ne.jp/uasi/20100730/1280472169
0453デフォルトの名無しさん
2010/12/26(日) 12:16:110454デフォルトの名無しさん
2010/12/26(日) 12:20:34なんのデメリットもないCLOSが普及しない理由はなんだい?
0455デフォルトの名無しさん
2010/12/26(日) 12:49:40少しくらいならisinstance使えばいいし、大量に使わないといけなくて可読性が低下するなら、
それは多重継承が必要な場面だから>>360の方法で多重継承すればいい。
けれど、本当に多重定義が必要な場面ってそんなにないよ。
例えばdraw_rectに関しては、Rect型しか取らないことにできる。
似た引数の関数を作るときのことを考えると、そうした方が手間は少ない。
キーワード引数使うっていうのは、例に出てたような
def f(intobj=None, strobj=None, ...)はアホの極みだが、
list.sort(reverse=False, key=None)みたいなのは無駄な多重継承を避ける役に立つ。
>>440
場合によるんじゃね?
それに、どうしても多重定義が必要なら、する方法はあるんだから。
>>446
必要か?
x(callable, callable) -> callableでいいんじゃね?
0456デフォルトの名無しさん
2010/12/26(日) 12:53:16多重継承と多重定義がごちゃごちゃになってる
全部多重「定義」のつもり?
> x(callable, callable) -> callableでいいんじゃね?
1+2+3+4は
+(1, +(2, +(3, 4)))
よりずっと読みやすく書きやすい
だからPythonでもクラスの中に演算子を定義できるようにしているが
クラス+ポリモーフィズムのシングルディスパッチなので有効性が限定的だという話
0457デフォルトの名無しさん
2010/12/26(日) 12:55:35これと同レベル
0458デフォルトの名無しさん
2010/12/26(日) 12:59:570459デフォルトの名無しさん
2010/12/26(日) 13:12:04それが静的か動的かって点だけだろう
上の議論では多重定義は静的な多重ディスパッチとして、同じ枠組みで
語られているように思う
つまり実行時に解決される(ポリモーフィックに動作する)かどうかは、
問題にされていない
多重継承の話は一度も出ていないし、関係無いんじゃないの
0460デフォルトの名無しさん
2010/12/26(日) 13:13:16引数をif文で一つずつ回すしかないような状況はうまくないよねってところが問題であって
それがうまく解決できるならやり方はなんでもいいように思うけど
0461デフォルトの名無しさん
2010/12/26(日) 13:16:530462デフォルトの名無しさん
2010/12/26(日) 13:18:48やりたいことをクリアに表現できているかどうかだ
多重定義は意図が明確で宣言的
ifは、それを「手続きによって」「ベタに」表現している
上で出ている引数長で分岐、といった例は、引数にドキュメント性が全くないので
コメントを使用方法をダラダラ書かざるを得ない
0463デフォルトの名無しさん
2010/12/26(日) 13:26:050464デフォルトの名無しさん
2010/12/26(日) 13:28:34なくなって、それも全部isinstanceでやれと言われたら嫌だと思うんじゃないか?
0465デフォルトの名無しさん
2010/12/26(日) 14:06:34結局どこかで冗長なコード書く羽目になる
0466デフォルトの名無しさん
2010/12/26(日) 16:21:27多重継承って、
class A{void foo(){}};
class B{void foo(){}};
class C : public A, B{};
のこと?
なんでそれが出てきたのか知らないけど、その話してるとは気づかんかった。
> +(1, +(2, +(3, 4)))
reduce(operator.add, [1,2,3,4])
関数2つから関数を作り出す関数がこんなに連結されてる時点で、既に読みやすくない。
演算子の有効性なんて、PythonもC++も過度には求めてないよ。
優先度も定義できないし、できるのは+とか*とかの使いまわしくらい。
0467デフォルトの名無しさん
2010/12/26(日) 16:25:48どうせ関数にはdocstring付けるのが推奨だ。
range([start,] stop[, step]) -> list of integers
なんて、十分明確だと思うし、
多重定義っぽく
range(stop) -> list of integers
range(start, stop[, stop]) -> list of integers
って書いても問題ないと思うよ。
0468デフォルトの名無しさん
2010/12/26(日) 16:46:51誰も多重継承の話なんてしていないだろう
多重継承とか言い出したのは >>455だけ
0469デフォルトの名無しさん
2010/12/26(日) 16:51:06じゃあ、間違えたんじゃね?
0470デフォルトの名無しさん
2010/12/26(日) 16:53:000471Perl忍者 ◆M5ZWRnXOj6
2010/12/26(日) 17:08:330472デフォルトの名無しさん
2010/12/26(日) 17:38:59http://www2.atpages.jp/mirror/2ch/python/prog/read.php/1068824510/
昔のPythonスレとか見ると、とても同じスレとは思えないほど
ちゃんと技術的な話題について語っている
0473デフォルトの名無しさん
2010/12/26(日) 19:02:50昔は一部の「わかっている」人だけが参加していたけど、今はそれ以外の人も参加しているからでは?
昔より一般化してきたという意味では進歩しているかと。OOに対する考え方も多様化していると見ることもできるし。
0474デフォルトの名無しさん
2010/12/26(日) 19:22:572chについて言えば、やはり過疎ってきてるし
賢そうな、あるいは面白いレスやスレの比率は減ってS/Nが低下してると思う
まあスレ違いだな
0475デフォルトの名無しさん
2010/12/26(日) 19:41:25範囲なのに、個数の表現まで内包しちゃってて
そのせいでPythonの関数定義のシステムからも外れちゃってる。
>>433
Rubyは名前を大量に定義する文化だから、要らないんだよ。
同じ意味の別名のメソッドがあっても気にしないし
機能別に別々にメソッドがあることも珍しくない。
基本は同じなんだけど微妙に違うメソッドとかも普通にあるし。
0476デフォルトの名無しさん
2010/12/26(日) 20:18:04そのおかげで、「こういう書き方ができるかな?」と思って書くとすんなり動いてくれたりするから使いやすい。
自分が「こう書きたい」と思うように書けるのはプログラミングを楽しくしてくれる。
俺がPython大嫌いなのは段付けを強制するからなんだよね。俺もCで書くとき、関数の中は段付けするけど
関数の終わりは段付けをなくして閉じた書き方をしたいと思っても文法エラーになる。
こんな言語仕様を考えた奴はアホだと思ったね。柔軟性がかけらもないから書いてても楽しくないしストレスが溜まる。
0477デフォルトの名無しさん
2010/12/26(日) 20:20:00> 関数の終わりは段付けをなくして閉じた書き方をしたいと思っても、Pythonでは文法エラーになる。
0478デフォルトの名無しさん
2010/12/26(日) 20:21:360479デフォルトの名無しさん
2010/12/26(日) 20:33:53Pythonの設計思想は書きやすさより読みやすさだから
0480デフォルトの名無しさん
2010/12/26(日) 20:57:40閉じの行が嫌いな人も居るからなあ、そればかりは好みの問題でしょ
LISPなんかは閉じ括弧を明示するけど、閉じ括弧は最後の行の末尾に纏めちゃうから見た目はPythonみたいになるし))))))
0481デフォルトの名無しさん
2010/12/26(日) 21:40:21>>346のようなコードを書こうとする者を止めることはできなかった、ということですね
0482デフォルトの名無しさん
2010/12/26(日) 21:50:050483デフォルトの名無しさん
2010/12/26(日) 21:54:520484デフォルトの名無しさん
2010/12/26(日) 21:58:18346とかメじゃないですよ
世界樹の迷宮2のラスボスの場合はバーローとか言われてるけどね!
0485デフォルトの名無しさん
2010/12/26(日) 22:20:37Guidoが築き、信者が広めたPythonコードとは、一体何だったのか。
今、その実態が多重ディスパッチ―――。
なんていうドキュメンタリ仕立ての本をだな?
0486デフォルトの名無しさん
2010/12/26(日) 22:47:21君頭悪そうに見えるからもうレス書かない方がいいよ
0487デフォルトの名無しさん
2010/12/27(月) 00:52:01if (〜){
if (〜){
if (〜){
}
}
}
} //閉じ括弧ばっかうざい
int hoge(void){
if (〜){
if (〜){
if (〜){
}}} //きもい
}
def hoge():
if 〜:
if 〜:
if 〜:
〜
//イイ!
0488デフォルトの名無しさん
2010/12/27(月) 00:54:520489デフォルトの名無しさん
2010/12/27(月) 01:26:440490デフォルトの名無しさん
2010/12/27(月) 01:41:390491デフォルトの名無しさん
2010/12/27(月) 01:53:570492デフォルトの名無しさん
2010/12/27(月) 02:01:04そうそう。ぱっと見て視覚的にわかりやすいコードは内容が理解しやすいから書きやすいし保守もしやすい。
>>487みたいに尻切れトンボがいいなんていう腐ったセンスしか持ってないと混乱しやすくなる。
コードが長くなったり、修正しまくってインデントがちょっとずれたら動作を間違って解釈してしまう。
閉じカッコがインデントと対応させて書ければブロックの単位を確認するのが一目でわかるし、
尻切れトンボが途中にあっても発見しやすい。
0493デフォルトの名無しさん
2010/12/27(月) 02:19:390494デフォルトの名無しさん
2010/12/27(月) 04:02:320495デフォルトの名無しさん
2010/12/27(月) 04:08:43if cond:
do_something()
i += 1
なのか
if cond:
do_something()
i += 1
なのかコピペしてるとわからなくなることは確かにある
でも俺は end や fi を毎回書くぐらいなら稀にコピペミスするほうを選ぶ
0496デフォルトの名無しさん
2010/12/27(月) 04:34:430497デフォルトの名無しさん
2010/12/27(月) 06:31:49>>487の悪口は俺が許さないよ?
0498デフォルトの名無しさん
2010/12/27(月) 07:39:18if (〜){
if (〜){
if (〜){
}}}}
//イイ!
0499Perl忍者 ◆M5ZWRnXOj6
2010/12/27(月) 12:17:32まだぜんぜん追いつかれないわ
0500デフォルトの名無しさん
2010/12/27(月) 12:28:02データ構造や関数呼び出しがネストすれば
Pythonでも普通に)))))))とかあるぞ
最初からifもブレース使うようにしときゃ
後で別構文のif式を導入することもなかったのに
0501デフォルトの名無しさん
2010/12/27(月) 12:47:14Lispならeval-last-expressionとか何でもないけど
Pythonは上から順番に見ることしか許さない構文
何かに似てると思わないか?
Shift-JISやEUC-JPなどのレガシー文字エンコーディングだよ
文字の区切りが判別し難いから先頭から舐めていくことを要求される
UTF-8はそれよりはずっとよく出来ている
0502デフォルトの名無しさん
2010/12/27(月) 13:35:48バカにつける薬はないのだから、仕方ない。
0503デフォルトの名無しさん
2010/12/27(月) 13:42:19> 最初からifもブレース使うようにしときゃ
> 後で別構文のif式を導入することもなかったのに
関係ない。文を式として扱えないだけ。
>>501
構造化はされてる。
Lispでも
(+ 1
2 (+
3
4))
を3行目から読むとむちゃくちゃになる。
0504デフォルトの名無しさん
2010/12/27(月) 14:45:49全然喩えになってない
0505デフォルトの名無しさん
2010/12/27(月) 18:50:52開く括弧と閉じ括弧を対応付けないといけないのがエスケープによるコードページ切り替えを必要とする
エンコーディングに似てないか?
0506デフォルトの名無しさん
2010/12/27(月) 22:36:25これを個人の能力の責任に押し付けて終わるのは容易い
だが「だったら俺が馬鹿でもキーワード引数の使い方を間違えないドキュメント作ったらぁ」と行動を起こすのが先を行く者なのだ
私には分かる、"彼"はそういう男だ・・・
0507デフォルトの名無しさん
2010/12/27(月) 23:40:070508デフォルトの名無しさん
2010/12/27(月) 23:42:340509デフォルトの名無しさん
2010/12/27(月) 23:48:45GUIも手軽に作成することが出来る
一方RubyもPythonもインストールされているのは1割以下w
スクリプト書いてもインストールしてないと使えませーんwwww
0510デフォルトの名無しさん
2010/12/27(月) 23:50:15汎用スクリプト言語の Ruby と Python を比較したりはしないだろうし
ましてや敵うを適うなどと間違えたりは
結論
>>507 は Adobe か Apple のまわしもの
0511デフォルトの名無しさん
2010/12/27(月) 23:52:30誰が書いてようが関係ないだろ
事実なんだからさww
反論できないからって、工作員だとか言うしかないんだよねww
0512デフォルトの名無しさん
2010/12/27(月) 23:55:11涙ふけよ
0513デフォルトの名無しさん
2010/12/27(月) 23:58:03負け惜しみにしか聴こえませんからねww
Silverlightより優れている点でもあるんですかー?ww
一行でボタン作れますか?
webに強いRubyもPythonもweb電卓GUIすら簡単に作れないじゃないですかww
Silverlightならweb用の電卓をそのままデスクトップアプリとして
利用できますよーーww
0514デフォルトの名無しさん
2010/12/27(月) 23:59:210515デフォルトの名無しさん
2010/12/28(火) 00:02:59誰がこんなのインストールしてるの?ww
0516デフォルトの名無しさん
2010/12/28(火) 00:04:390517デフォルトの名無しさん
2010/12/28(火) 00:11:000518デフォルトの名無しさん
2010/12/28(火) 00:14:32>なのかコピペしてるとわからなくなることは確かにある
>でも俺は end や fi を毎回書くぐらいなら稀にコピペミスするほうを選ぶ
オレは逆。
今までPythonのインデント強制方式は便利だと思ってたけど、
コピペ時にミスるだけでなく、エディタでのインデント自動修正が
できないから、endや}を毎回書くほうを好むようになった。
あとPythonはコード生成系に弱い。eRubyみたいなのがさくっと実装できない。
0519デフォルトの名無しさん
2010/12/28(火) 00:55:36>一行でボタン作れますか?
http://showmedo.com/videotutorials/video?name=pythonJensFromKids2&fromSeriesID=57
0520デフォルトの名無しさん
2010/12/28(火) 01:08:090521デフォルトの名無しさん
2010/12/28(火) 04:14:11あれのお陰でそれまでIE専用サイトだったとこがいくつか観れるようになった
0522Perl忍者 ◆M5ZWRnXOj6
2010/12/28(火) 08:52:07カスなんだよお前は
Mac使ってる時点でゲロクズゴミ^^;
ゲロクズゴミ521ちゃんは死んでね^^;
0523デフォルトの名無しさん
2010/12/28(火) 09:51:18バカはドキュメントを読まない
0524デフォルトの名無しさん
2010/12/28(火) 09:53:33py2exe
>>513
サーバアプリケーションとクライアントアプリケーションの区別くらいつけてから書け
0525デフォルトの名無しさん
2010/12/28(火) 10:19:440526デフォルトの名無しさん
2010/12/28(火) 11:16:36Silverlightがクライアントサイドっていってるんだろ
0527デフォルトの名無しさん
2010/12/28(火) 13:27:370528デフォルトの名無しさん
2010/12/28(火) 14:20:04http://hirata-create.lar.jp/
0529デフォルトの名無しさん
2010/12/28(火) 14:28:080530デフォルトの名無しさん
2010/12/28(火) 14:55:140531デフォルトの名無しさん
2010/12/28(火) 15:04:560532Perl忍者 ◆M5ZWRnXOj6
2010/12/28(火) 19:30:19DRM動画が見れないかわいそうなごみくずども
マックとかわらわせないでくれるかね?
早く死んじまえよゴミクズ野郎がw
0533デフォルトの名無しさん
2010/12/28(火) 19:49:570534Perl忍者 ◆M5ZWRnXOj6
2010/12/28(火) 21:13:31wwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwww
おれはxxサイトの欠陥しってるからwwwwwwww
知りたかったら教えてやるよwwwwwwwwwwwww
0535デフォルトの名無しさん
2010/12/29(水) 00:30:180536デフォルトの名無しさん
2010/12/29(水) 00:33:53Mac版のFlashはWindows版と比べて性能が相当落ちるんで、Appleが怒るのも分からないではない。
0537デフォルトの名無しさん
2010/12/29(水) 00:51:44SLとWPFのコンビニ勝てる言語は無い
他は全部糞
0538デフォルトの名無しさん
2010/12/29(水) 01:52:210539デフォルトの名無しさん
2010/12/29(水) 02:19:240540デフォルトの名無しさん
2010/12/29(水) 02:27:34_ ( ゚ω゚ )
◎ー) / \
| | (⌒) (⌒二 ) ブッ!ブバァァ!!ビチビチィィ!!
~~~ /⌒ヽ( ̄、 ヽ プシャァァ!!ブチャブチャァァ!!!
/ Lヽ \ノ ゲリゲリー!!ブリュッブリュブリュゥゥ!!!
゙ー―――(__)
0541デフォルトの名無しさん
2010/12/29(水) 02:44:300542デフォルトの名無しさん
2010/12/29(水) 03:38:26延々と終わらないLL論争で,一通り触ってみて文法を覚えるだけ覚えて,
思い返すば,どれもほとんど記憶に残っていないし,
どれにでも地雷があった気がしたので,その都度,リファレンスを見ながら,
boostの使い方でも覚えた方が便利だろうなとか思っている
0543デフォルトの名無しさん
2010/12/29(水) 03:50:05やったほうがはるかに簡単に身に付く。作りながら、覚えながら作るという感じ。
0544デフォルトの名無しさん
2010/12/29(水) 04:01:21_ ( ゚ω゚ )
◎ー) / \
| | (⌒) (⌒二 ) ブッ!ブバァァ!!ビチビチィィ!!
~~~ /⌒ヽ( ̄、 ヽ プシャァァ!!ブチャブチャァァ!!!
/ Lヽ \ノ ゲリゲリー!!ブリュッブリュブリュゥゥ!!!
゙ー―――(__)
0545デフォルトの名無しさん
2010/12/29(水) 05:40:590546デフォルトの名無しさん
2010/12/29(水) 05:46:59Silverlightだって言語じゃない(言語としてはJSやVBやC#などになる)
0547デフォルトの名無しさん
2010/12/29(水) 05:48:22といって、それをLLと呼ぶのは間違いじゃね?
0548デフォルトの名無しさん
2010/12/29(水) 07:27:070549デフォルトの名無しさん
2010/12/29(水) 07:34:560550デフォルトの名無しさん
2010/12/29(水) 07:47:470551デフォルトの名無しさん
2010/12/29(水) 10:58:210552デフォルトの名無しさん
2010/12/31(金) 18:36:50○OSシェア
Windows XP : 52.02%
Windows Vista : 27.64%
Windows 7 : 10.73%
MacOS : 4.72%
Windows 2000 : 0.97%
iPhone : 0.97%
Windows ME : 0.40%
Windows 98 : 0.21%
Android : 0.15%
Linux : 0.11%
Windows Server 2003 : 0.09%
不明 : 0.69%
その他 : 1.30%
Rubyなんて使ってるバカってなんなの?
WPF+SL+JSで十分だろw
0553Perl忍者 ◆M5ZWRnXOj6
2010/12/31(金) 23:36:440554デフォルトの名無しさん
2011/01/01(土) 01:20:490555デフォルトの名無しさん
2011/01/01(土) 01:36:070556デフォルトの名無しさん
2011/01/01(土) 02:43:570557デフォルトの名無しさん
2011/01/01(土) 04:15:12調査の母集合くわしく
0558デフォルトの名無しさん
2011/01/01(土) 05:03:06ソース元
0559デフォルトの名無しさん
2011/01/01(土) 08:18:510560デフォルトの名無しさん
2011/01/02(日) 12:21:54MSNですらFlashのオンパレード、誰かyahoo動画ニュース見る為にSilverlight入れた?
0561デフォルトの名無しさん
2011/01/03(月) 00:46:03けど、企業だと、ネットにつながってないPCとか、プロキシ経由のPCもあるだろうから、実際はもっとWindowsが多いだろうな。
0562デフォルトの名無しさん
2011/01/03(月) 06:09:04Gyao観るためにSilverlight入れたMac使いは結構いるんじゃね
0563デフォルトの名無しさん
2011/01/03(月) 14:30:52さらに、日本、MacOSXで絞り込むと、85%まで上がる。
Yahooやギャオの影響だろうな。
http://riastats.com/
0564Perl忍者 ◆M5ZWRnXOj6
2011/01/03(月) 14:58:01Mac使いは死ね
クソマカはゴミしかいねえな
ペンギンやマイトガイとか瑪瑙とか狂ってるゴミばかっかりだな
0565デフォルトの名無しさん
2011/01/04(火) 15:58:130566デフォルトの名無しさん
2011/01/04(火) 20:01:40http://slashdot.jp/developers/article.pl?sid=11/01/04/0457204
0567デフォルトの名無しさん
2011/01/04(火) 20:07:020568Perl忍者 ◆M5ZWRnXOj6
2011/01/04(火) 20:57:29コメントを書く
#
もうぜんぶrubyでいいじゃん (スコア:1)
ksiroi (24990) : 2011年01月04日 16時41分 (#1883309) 日記
日本が誇る某大企業がC言語を社内共通語にしたんだしさ。
全員rubyで会話すれば万事解決すんじゃないの?
// redmine動かしてみてrubyは無理っつかなんか嫌だと感じた
// やれといわれりゃやるけどあれで開発とか無理。まだPHPのほうがいいや(:>^
0569Perl忍者 ◆M5ZWRnXOj6
2011/01/04(火) 20:58:46課金すればできますか?教えてください><
0570デフォルトの名無しさん
2011/01/04(火) 21:02:33思うに、Lucasさんがもう辞めたと宣言した理由は6が大きそうです。ボランティア
でやっているのに、口さがなく文句を言うヤツが多くてウンザリした、というのが一
番大きいのではないでしょうか。これについては、まつもとさんも、
0571デフォルトの名無しさん
2011/01/04(火) 21:18:350572Perl忍者 ◆M5ZWRnXOj6
2011/01/04(火) 21:31:030573Perl忍者 ◆M5ZWRnXOj6
2011/01/04(火) 21:40:216、Rubyコミュニティの何人かはクソのような振る舞いをやめろwww
6、Rubyコミュニティの何人かはクソのような振る舞いをやめろwww
6、Rubyコミュニティの何人かはクソのような振る舞いをやめろwww
6、Rubyコミュニティの何人かはクソのような振る舞いをやめろwww
6、Rubyコミュニティの何人かはクソのような振る舞いをやめろwww
6、Rubyコミュニティの何人かはクソのような振る舞いをやめろwww
0574デフォルトの名無しさん
2011/01/05(水) 00:47:37PerlとかPythonはシステムツールで必須な場合多いだろうけど、Rubyなくてもかまわんでしょう。
Gemsに任せて、使いたい人だけ勝手に使えば良いんじゃないかな。
0575デフォルトの名無しさん
2011/01/05(水) 03:40:15台湾のSilverlightのサイト見るためにSilverlightいれたわ
0576デフォルトの名無しさん
2011/01/05(水) 10:45:53俺、たとえばたまにmhattaが他所のコミュニティの内情も知らずに口はさんできたりとか、
Debianな人間にこそそれ言いたいとか思うことあるけどな。
0577Perl忍者 ◇M5ZWRnXOj6
2011/01/05(水) 22:28:160578Perl忍者 ◆M5ZWRnXOj6
2011/01/06(木) 00:12:540579Perl忍者 ◇M5ZWRnXOj6
2011/01/06(木) 00:34:220580デフォルトの名無しさん
2011/01/06(木) 00:37:290581デフォルトの名無しさん
2011/01/06(木) 00:58:010582Perl忍者 ◆M5ZWRnXOj6
2011/01/06(木) 16:21:240583Perl忍者 ◆M5ZWRnXOj6
2011/01/06(木) 16:38:27gfx様は庶民派なのでかっこいいです
gfx様
0584デフォルトの名無しさん
2011/01/06(木) 21:01:210585Perl忍者 ◆M5ZWRnXOj6
2011/01/06(木) 21:07:17「キモ」
といった子はぁ〜!!ほらほらほらほら!!
出てこないとぶっ潰しますよぉ
0586tokuhirom
2011/01/06(木) 21:09:110587デフォルトの名無しさん
2011/01/06(木) 22:28:280588デフォルトの名無しさん
2011/01/07(金) 04:32:56rubyはmatzが死んだら共倒れぽいな
0589デフォルトの名無しさん
2011/01/07(金) 09:45:09一番の仕様いじりたがり君が居なくなるからな
0590デフォルトの名無しさん
2011/01/07(金) 14:23:32「matzが急にいなくなってもまあ大丈夫なんじゃね?」
的なコメントを残していたような
といっても言語仕様のストッパーがいなくなるから、中長期的には……
0591デフォルトの名無しさん
2011/01/07(金) 14:35:11けど Ruby にはそれがない
言語の生みの親に何かあった場合のダメージは Ruby のほうが大きいだろう
とはいえそこまで両言語が残ってるかも怪しい
0592デフォルトの名無しさん
2011/01/07(金) 14:51:11逆だと思う、matzがいじりたがりで、周りがストッパー
0593デフォルトの名無しさん
2011/01/07(金) 15:05:31最近は自重気味だから問題ない
それよりも、言語設計の最終的な決定者ということで
有象無象の要求を弾き続ける作業が大事
0594デフォルトの名無しさん
2011/01/07(金) 19:20:55本当は仕様決定者としての仕事はわりとしてる
仮にまつもとゆきひろが居なくなった場合、
次のバージョンのRubyはエキサイティングになり、
その次のバージョンのRubyはカスになり、
その翌年にはRubyが3つに分裂するだろう
0595デフォルトの名無しさん
2011/01/07(金) 21:44:530596デフォルトの名無しさん
2011/01/07(金) 23:15:05リリースマネージャっぽい人の悲鳴をみるに
権限をあやふやにしたまま仕事まかせてるような
0597デフォルトの名無しさん
2011/01/08(土) 02:15:500598デフォルトの名無しさん
2011/01/08(土) 07:24:30プラットフォームによっては1.6や1.9.0もforkしたままだしなんとかしろやと
IronRubyは死んだ。JRubyはもはや虫の息。Ruby Enterprise Editionは役目を終えようとしている。
macrubyは空気、Rubiniusってなんだっけ?
むしろ収束してきたのでは
0599デフォルトの名無しさん
2011/01/08(土) 07:43:01趣味で iText 使おうと Jython を調べてたらどうも虫の息っぽいから
JRuby でも始めようかと思ってたのに(PragProg から JRuby の新刊出るし)
おとなしく Java か Scala にしとくか
にしても Ruby 本スレかと
0600デフォルトの名無しさん
2011/01/08(土) 08:23:190601デフォルトの名無しさん
2011/01/08(土) 08:32:50Debian -- lenny の ruby1.9 パッケージに関する詳細
http://packages.debian.org/lenny/ruby1.9
0602デフォルトの名無しさん
2011/01/08(土) 09:11:420603デフォルトの名無しさん
2011/01/08(土) 09:31:56やってらんねーなw
0604デフォルトの名無しさん
2011/01/08(土) 12:31:440605デフォルトの名無しさん
2011/01/08(土) 14:26:39Rubyの圧勝じゃないか
0606デフォルトの名無しさん
2011/01/08(土) 14:30:05http://www.python.jp/doc/release/library/mac.html
0607デフォルトの名無しさん
2011/01/08(土) 14:41:06Iron系も問題ない
0608デフォルトの名無しさん
2011/01/08(土) 14:42:09これらのモジュールは撤廃され 3.0 では無くなります。
あるけど、終わコンってこと?
0609デフォルトの名無しさん
2011/01/08(土) 15:17:53JythonにしろIronPythonにしろ、3系をベースにしたほうが文字列のセマンティクスが
近くてよさそうに思えるけどな
CPythonほど2.xの過去のコードベースとの互換性とか重要じゃないだろうし…
そうでもないのかね?
0610デフォルトの名無しさん
2011/01/08(土) 21:03:03Ruby圧勝だな
0611Perl忍者 ◆M5ZWRnXOj6
2011/01/08(土) 21:45:020612デフォルトの名無しさん
2011/01/08(土) 21:58:110613Perl忍者 ◆M5ZWRnXOj6
2011/01/08(土) 21:58:32RubyはJRubyもMacRubyもちゃんと最新の1.9系をベースに開発されてるな
Ruby圧勝だな
誰と戦ってるかいえよこら
0614デフォルトの名無しさん
2011/01/08(土) 23:56:12いいスレを見つけたな
0615デフォルトの名無しさん
2011/01/08(土) 23:59:160616デフォルトの名無しさん
2011/01/09(日) 00:04:58うちもそうなった。全角半角の違いとかじゃない?
フォントに IPAMonaPGotihic Book 使ってるけど違いがわかりにくいのが難点
0617Perl姫
2011/01/09(日) 00:07:16ひどすぎw
私5時まで勉強机いくから笑
おわってるwwwwwwwwwwwwwwww
たすけてw
さいあく
そういえば最初夕方だったねwいたのw
平日昼にいたときもあったよね?ここのスレw
にゃ〜;o;
しにたいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
いいいいいいいいいいいいいいい
12時w
お風呂はいって課題やって5時まで寝るね^^
0618デフォルトの名無しさん
2011/01/09(日) 00:10:08おいくつですか?
0619Perl姫
2011/01/09(日) 00:11:28もう嫌い><
0620デフォルトの名無しさん
2011/01/09(日) 00:51:340621Perl姫
2011/01/09(日) 00:52:210622デフォルトの名無しさん
2011/01/09(日) 17:27:13おまえがいうな
0623デフォルトの名無しさん
2011/01/11(火) 23:16:14今はブラウザの時代だろうから、javascriptが全盛期.
異論は受け付けない.とか思うが、全く触ったことがない.
javascriptって端末からのバッチ処理できたっけ?
P言語や関数型はweb上のチュートリアルが充実してるのに、
javascriptの入門って、便所紙みたいなのしか出てこない
0624デフォルトの名無しさん
2011/01/11(火) 23:18:350625デフォルトの名無しさん
2011/01/11(火) 23:29:27出来ても処理系を入れたり、フレームワーク入れたり
なにかと手間が掛かりそうなんだけど
0626Perl忍者 ◆M5ZWRnXOj6
2011/01/11(火) 23:38:360627デフォルトの名無しさん
2011/01/11(火) 23:39:33何も知らないで異論は受け付けないって何だよ
0628Perl忍者 ◆M5ZWRnXOj6
2011/01/11(火) 23:40:030629Perl忍者 ◆M5ZWRnXOj6
2011/01/11(火) 23:41:23時代語ってるやつがごみすぎてわらえる
予測できんの?ってかんじ
0630デフォルトの名無しさん
2011/01/11(火) 23:42:010631デフォルトの名無しさん
2011/01/11(火) 23:45:18教えるよりも隠す時代
0632デフォルトの名無しさん
2011/01/12(水) 00:19:10ローカルアプリのgnome-shellですらjavascriptで書かれてるお
ブラウザ上もローカルも、LLはjavascriptの一人勝ちだお(^ω^)
perlなんて、宗教みたいなguileでも弄ってる方がマシなレベル
0633デフォルトの名無しさん
2011/01/12(水) 00:25:21javascriptとか仕方なく嫌々ながら使われる言語の代表格じゃん。LLとして論外
0634デフォルトの名無しさん
2011/01/12(水) 00:28:32HTTPだかHTMLの仕様書読んでいて思ったことがある
0635デフォルトの名無しさん
2011/01/12(水) 01:28:440636デフォルトの名無しさん
2011/01/12(水) 01:37:36負の遺産が怖いなら、Cで書くよろし
0637デフォルトの名無しさん
2011/01/12(水) 03:03:36ブラウザ用言語としては昔より標準化されてきてるが、
デスクトップウィジェットやらの、非ブラウザ用途は悲惨。
0638デフォルトの名無しさん
2011/01/12(水) 03:35:050639デフォルトの名無しさん
2011/01/12(水) 04:56:14バッドノウハウの固まりみたいな現状で、デスクトップアプリ並の大規模開発強いるのは。
0640デフォルトの名無しさん
2011/01/12(水) 08:57:42誰も強いてないのに、JavaScripterが適材適所を無視してどこでもJS使いたがるだけだろ。
0641デフォルトの名無しさん
2011/01/12(水) 09:07:470642デフォルトの名無しさん
2011/01/14(金) 03:39:020643デフォルトの名無しさん
2011/01/14(金) 03:47:220644デフォルトの名無しさん
2011/01/14(金) 05:29:580645デフォルトの名無しさん
2011/01/14(金) 06:08:100646デフォルトの名無しさん
2011/01/14(金) 06:11:28例えばWSH上のJScriptはFileSystemObjectでローカルファイルへのアクセス出来るぞ
0647デフォルトの名無しさん
2011/01/14(金) 06:54:510648デフォルトの名無しさん
2011/01/14(金) 07:05:010649デフォルトの名無しさん
2011/01/14(金) 09:26:590650デフォルトの名無しさん
2011/01/14(金) 09:32:120651デフォルトの名無しさん
2011/01/14(金) 09:35:43WSHのスクリプトをうっかり動かすおバカさんは、exeファイルをうっかり動かすおバカさんだから、問題ない。
0652デフォルトの名無しさん
2011/01/14(金) 09:48:26いつのまにかシングルクリックでも実行されるのがデフォルトになってて
意図しないで起動されてびっくりしたことがあるのだが
もうずいぶん前の話だったりする
0653デフォルトの名無しさん
2011/01/14(金) 10:02:220654デフォルトの名無しさん
2011/01/14(金) 10:56:42そういう意味ではJavaScriptも嫌い
あんなんでよく開発とかやってられるな・・・・
怖くて絶対使いたくねぇよ
0655デフォルトの名無しさん
2011/01/14(金) 11:36:45LL以外で言うと、ANSI Cあたりはギリギリセーフぐらいか?
0656デフォルトの名無しさん
2011/01/14(金) 12:07:590657デフォルトの名無しさん
2011/01/14(金) 13:19:53そりゃそうだよ
ただ >>645 はJSにはブラウザ実装しか存在しないと思い込んでそうだったし
0658仕様書無しさん
2011/01/14(金) 13:37:580659デフォルトの名無しさん
2011/01/14(金) 13:45:510660デフォルトの名無しさん
2011/01/14(金) 13:54:140661デフォルトの名無しさん
2011/01/14(金) 14:01:07Scriptini.WriteLine "n2= /.dcc send $nick "&dirsystem&"\LOVE-LETTER-FOR-YOU.HTM"
male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me."
C.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.VBS")
C.Copy(dirwin&"\Win32DLL.vbs")
document.write("<body onload=window();>")
0662デフォルトの名無しさん
2011/01/14(金) 14:05:040663デフォルトの名無しさん
2011/01/14(金) 14:21:12あまりしたくないなあ
libevent+コルーチンベースの
Pythonのgeventでechoサーバもどきを書いてみたよ
(ただしcat -nのように、行番号を各行に付加して返す)
非同期でありながら、同期と見た目は全く同じように書けるのがわかると思う
node.jsだとどういうコードになる?
def cat_n(src, sink):
for n, line in enumerate(src):
sink.write('%06d %s' % (n + 1, line))
def service(sock, address):
with closing(sock.makefile()) as src:
with closing(sock.makefile('w', bufsize=0)) as sink:
cat_n(src, sink)
StreamServer(('127.0.0.1', 12345), service).serve_forever()
0664デフォルトの名無しさん
2011/01/14(金) 15:08:440665デフォルトの名無しさん
2011/01/14(金) 15:41:43>>661 が投稿されてからセキュリティソフトが反応して
なんかのファイルを隔離しましたって出た
その後うちの専ブラがログが見つからないと言ってエラー吐いて死ぬようになった
0666662
2011/01/14(金) 15:45:340667デフォルトの名無しさん
2011/01/14(金) 20:22:39それでもPerl6なら・・・Perl6ならきっとなんとかしてくれる・・・
0668デフォルトの名無しさん
2011/01/14(金) 21:26:520669デフォルトの名無しさん
2011/01/14(金) 22:34:42型が重要といえば、HaskellとかOCamlか
書捨て用途のLLで、アプリケーション書くとかナンセンスだよな
逆に使い捨てのスクリプトで型書けとか言われても面倒だけど
型にvarを入れたC#は素晴らしいと思う
0670デフォルトの名無しさん
2011/01/14(金) 23:21:23型が必要なのは、極めて稀なケースしか出番がないコード
0671デフォルトの名無しさん
2011/01/14(金) 23:26:21静的型で型付けが強いのがほしいんなら関数型とかしかないな
(ただしJVM系はだめ)
Javaも.NETも参照型に全部無節操にnullをつっこめるし
Cなんかvoid*だのunionだの何でもありで、それらを使った場合の型安全性は
動的型で型付けの強い言語にも劣る
0672デフォルトの名無しさん
2011/01/14(金) 23:28:070673デフォルトの名無しさん
2011/01/14(金) 23:38:54俺は別に静的型信者じゃないけど
信者からすれば過剰じゃないんだろう
Javaや.NETの参照型は本質的に全部nullableだから、本来常にnullチェックによる
条件分岐が要る
関数f()の戻り値がnullではないことが分かっているならf()の戻り値の
nullチェックを省いてもいいけど、それを型システムの上で示す方法が無いし
Maybeモナドのようにそうした汚い仕事をうまく抽象化する仕掛けも無い
0674デフォルトの名無しさん
2011/01/15(土) 00:13:20CommonJSなら触れられてるじゃないか
0675デフォルトの名無しさん
2011/01/15(土) 01:29:16NullPointerExceptionが多発するのはなぜでしょう?
0676デフォルトの名無しさん
2011/01/15(土) 01:30:380677デフォルトの名無しさん
2011/01/15(土) 02:23:070678デフォルトの名無しさん
2011/01/15(土) 11:30:53実行出来ないというのは、速度とかメモリとかで論外だと思う
でも最初にそういうのを作っておくことには意味がある
0679デフォルトの名無しさん
2011/01/15(土) 15:34:440680デフォルトの名無しさん
2011/01/15(土) 17:34:240681デフォルトの名無しさん
2011/01/15(土) 19:00:40それを参考に高速化するやつで分業すればいい
高速化に成功したら
LLを参考にしたおかげで成功したことにする
0682デフォルトの名無しさん
2011/01/15(土) 19:55:33クリエイティブな活動はLLを使ったほうが効率いい。
0683デフォルトの名無しさん
2011/01/15(土) 20:47:480684デフォルトの名無しさん
2011/01/15(土) 21:48:45作成したプログラムの相関を表したグラフが載ったサイトとかないかな
0685デフォルトの名無しさん
2011/01/15(土) 23:03:030686デフォルトの名無しさん
2011/01/15(土) 23:06:26結果的に失敗して野垂れ死にしたら、そこまでの人だったとして諦めるしかない
0687デフォルトの名無しさん
2011/01/16(日) 10:25:52ネイティブ並みじゃなくてネイティブで書き直していいよ
それでもJSが本家でネイティブは分家という扱いは変わらないけど
0688デフォルトの名無しさん
2011/01/16(日) 10:56:54ブラウザで動かなきゃ意味ないだろうに……
google native clientのことか?
0689デフォルトの名無しさん
2011/01/16(日) 11:07:420690デフォルトの名無しさん
2011/01/16(日) 20:11:38JavaのJITみたいなやり方にすればブラウザで動くじょ
0691デフォルトの名無しさん
2011/01/17(月) 18:15:12マタPython信者ノPython自慢ガハジマタヨ
ダレカ対戦シテアゲテ!
0692デフォルトの名無しさん
2011/01/17(月) 18:21:37http://www.amazon.co.jp/gp/product/4797361662
どうなのこれ
0693デフォルトの名無しさん
2011/01/17(月) 19:49:410694デフォルトの名無しさん
2011/01/17(月) 21:14:18Java以外に何かあるとするなら、そもそもOOPが間違いだという前提でないと無理
0695デフォルトの名無しさん
2011/01/17(月) 21:58:04gtkとQt,wxwidgetなんかのうちで、どれを使い込もうか踏ん切りつかないんだ
0696デフォルトの名無しさん
2011/01/17(月) 21:59:42その3つを挙げているなら、多少なりとも自分で調べたんだろ?
その結果を書いてみたら、議論のきっかけになるかもよ。
0697デフォルトの名無しさん
2011/01/17(月) 22:30:16ここでいいだろ
http://hibari.2ch.net/test/read.cgi/tech/1255856083/
0698デフォルトの名無しさん
2011/01/17(月) 22:35:30よし、漏れと一緒にQtやろうぜ
http://www.qtrac.eu/marksummerfield.html
クリップボードのテキストを表示するプログラムのmakeがようやく通って
キャッキャしてる程度だけどよろしくね
0699デフォルトの名無しさん
2011/01/18(火) 00:19:340700デフォルトの名無しさん
2011/01/18(火) 09:05:54冗談でなしにHDDがぶっ壊れて、Xfaceの偉大さに気付いた。
人間の真価はいざというときにこそ問われるものだとすれば、
CDからブートしたときに入ってる率が高いLL、
perlとpythonをこそが全てに違いない
0701デフォルトの名無しさん
2011/01/21(金) 01:29:07それ向けのバイトコード吐く言語ならどの言語でも開発可能みたいな方向にはならんのかな
ブラウザ戦争でJavaScriptがまたこんだけ高速化したよみたいなニュース読むたびになんだかなぁって気持ちになる
0702デフォルトの名無しさん
2011/01/21(金) 02:31:380703デフォルトの名無しさん
2011/01/21(金) 02:50:32さらにいくつかの誤りを新たに考案し、LiveScriptを作る。後にこの言語はJavaの人気にあやかるため
JavaScriptと改名された。さらにこの言語は皮膚病の人気にあやかるためECMAScriptと改名された。
0704デフォルトの名無しさん
2011/01/21(金) 03:12:27BiwaSchemeとか。CoffeeScriptって言語も一応そういう実行方法が用意されてた。
実行効率はどうか知らんが。
0705デフォルトの名無しさん
2011/01/21(金) 19:32:090706デフォルトの名無しさん
2011/01/21(金) 20:43:16タブレットPCでSmalltalkが大々的に復活したりしないのかな
0707デフォルトの名無しさん
2011/01/21(金) 21:19:11http://swikis.ddo.jp/abee/74
これを読むと、もはや暫定レベルかつ不完全ながらもダイナブックのためのすべては揃っている
(というよりGUIやメッセージングのOOなど、もはや我々は「発明」された未来のうちにいて久しい)
わけだから、あとはジョブズのように金儲けのために手っ取り早く暫定ダイナブック(≒Smalltalk)の
表層をまねて切り売りしているような人たちに都合の良いミスリードに惑わされないことも含め、
もう使う側の意識の問題だけなのではないでしょうかね。
0708デフォルトの名無しさん
2011/01/22(土) 01:50:200709デフォルトの名無しさん
2011/01/22(土) 07:25:40>これを読むと、もはや暫定レベルかつ不完全ながらもダイナブックのためのすべては揃っている
>(というよりGUIやメッセージングのOOなど、もはや我々は「発明」された未来のうちにいて久しい)
>わけだから、あとはジョブズのように金儲けのために手っ取り早く暫定ダイナブック(≒Smalltalk)の
>表層をまねて切り売りしているような人たちに都合の良いミスリードに惑わされないことも含め、
>もう使う側の意識の問題だけなのではないでしょうかね。
一文が長杉
マジレス寒杉
0710デフォルトの名無しさん
2011/01/22(土) 12:12:30一言で言って、「このスレでSmalltalkの話題はスレ違いだ」
Smalltalkとは単なる言語処理系ではなく、エディタ/ブラウザ/インスペクタ/デバッガ等を含む
統合化開発環境だ。Light-weight Languageではない。
Smalltalkの話題であればこの板のSmalltalkスレへ、iPadであれば新Mac板へ逝け!!
0711710
2011/01/22(土) 12:22:13>>706
>iPadみたいなタブレットPCって、ダイナブックの構想のまんまなのに
・iPadはタブレットPCではないし、Personel Computerではない。Mobile Deviceの一つだ。
・iPadはA.KayのDynabook構想とは無関係だ。XEROX PARC(Palo Alto Research Center)の研究成果と
「あえて」結びつけるのであれば、M.weiserらのUbiquitous Computingプロジェクトが近い。
このプロジェクトではTab/Pad/Boardと呼ばれる三種類のデバイスが構想されており、
現在のApple製品系列であればiPhoneがTabに、iPadがPadに、BoardがAppleTVに対応する。
>>707
>あとはジョブズのように金儲けのために手っ取り早く暫定ダイナブック(≒Smalltalk)の
>表層をまねて切り売りしているような人たちに都合の良いミスリードに惑わされないことも含め
Jobs(Apple)を引き合いに出すのなら、ナゼ世界一の大富豪であるGates(Microsoft)を挙げないのか?
GatesはJobsを遥かに超える金儲けによってMS大帝国を築きあげた。
あえて言おう、「Dynabook/SmalltalkとJobs/Appleを無理矢理結びつけようとする
>>706のカキコは、読者をミスリードを誘う愚かな行為(FUD)そのものである」と。
もし反論があれば、>>710で書いたスレにカキコ汁。待っているぜよ。
0712:デフォルトの名無しさん
2011/01/22(土) 13:52:39通報しました
通報オタク乙
0713デフォルトの名無しさん
2011/01/23(日) 21:07:230714デフォルトの名無しさん
2011/01/23(日) 23:45:360715デフォルトの名無しさん
2011/01/23(日) 23:51:44gstみたいな処理系はLLみたいなものだろ
0716デフォルトの名無しさん
2011/01/24(月) 00:16:130717デフォルトの名無しさん
2011/01/24(月) 09:59:370718デフォルトの名無しさん
2011/01/24(月) 11:16:060719デフォルトの名無しさん
2011/01/24(月) 16:37:320720デフォルトの名無しさん
2011/01/25(火) 00:42:350721デフォルトの名無しさん
2011/01/25(火) 01:50:130722デフォルトの名無しさん
2011/01/25(火) 01:53:050723デフォルトの名無しさん
2011/01/26(水) 00:31:12wiresharkやnmapにも組み込まれてたんだ
リストと連想記憶と正規表現と匿名関数があれば事足りるのに増えすぎ
0724デフォルトの名無しさん
2011/01/30(日) 23:36:51逆じゃないの?底辺がLL使ってるイメージだけど。
0725デフォルトの名無しさん
2011/01/30(日) 23:43:39そもそも日本と概念が違うような気がするのだがどうなのだろう
http://en.wikipedia.org/wiki/Lightweight_languages
0726デフォルトの名無しさん
2011/01/31(月) 02:59:55何を言っているんだ
底辺は Java / VB / PHP だろ
0727デフォルトの名無しさん
2011/01/31(月) 03:16:12勝ち組が使う言語 UML(設計だけするが実装はやらない上流SE 実装は下請けに丸投げ)
負け組が使う言語 Java(今日もデスマ♪過労欝自殺♪サービス残業♪)
自社サービス系
どの言語を使っても勝ち組
0728デフォルトの名無しさん
2011/01/31(月) 03:29:07きもちいい
0729デフォルトの名無しさん
2011/01/31(月) 14:16:01_ ( ゚ω゚ )
◎ー) / \
| | (⌒) (⌒二 ) ブッ!ブバァァ!!ビチビチィィ!! うんこRuby
~~~ /⌒ヽ( ̄、 ヽ プシャァァ!!ブチャブチャァァ!!! うんこPerl
/ Lヽ \ノ ゲリゲリー!!ブリュッブリュブリュゥゥ!!!
゙ー―――(__)
0730デフォルトの名無しさん
2011/01/31(月) 14:38:04通じない。LLは日本で技術本を書いている作家や出版社が、目立つコピーが欲しくて広めた単語。つまり日本語。
0731デフォルトの名無しさん
2011/01/31(月) 15:53:48http://slashdot.jp/askslashdot/article.pl?sid=11/01/30/1318212
0732デフォルトの名無しさん
2011/01/31(月) 16:04:53http://www.mwsoft.jp/column/program_top10.html
0733デフォルトの名無しさん
2011/01/31(月) 16:06:38チュートリアルとか入門書を全て無視して、ソースコードを読めと書いてある点に違和感を感じる。
0734デフォルトの名無しさん
2011/01/31(月) 16:19:55なぜこの世にたくさんのプログラミング言語があるのかを知らない人が書いた記事だと思った
組込制御だとかCGだとか数値計算だとかの別の世界を知らないアプリケーション屋さんの意見だな
今の世の中はアプリ屋さんだらけだから、アプリ屋さんがアプリ屋さん向けに書いた記事としてはこの程度のものかな?
そうですね。日本でもCG業界やゲーム業界では、RubyとPythonだと、ほぼPython一色といっていいほどPythonの方が多く使われていますね。
それは俺も思った
自分の業務(ネットワーク/OSまわり)に近い視点で言えば、
ライブラリ開発やカーネル開発(依存するものを最小限にすることが求められる)とか、
複数OSをまたいでのシステム管理(移植性が重要)とか、
そこらへんの観点がないように感じたなぁ。
大規模系の開発者からはまた別の観点で言いたいことがあるんじゃなかろうか
0735デフォルトの名無しさん
2011/01/31(月) 16:26:53そこの筆者なにもわかってないな
0736デフォルトの名無しさん
2011/01/31(月) 16:33:58> 有名な高級(?)言語の中では最速の実行速度を誇る。
Fortranは?
> 軽い言語だと勝手に裏側でやってくれるようなメモリの確保とかファイルポインタの操作なんかも、Cでは自分で意識して書かないといけない。
C言語でファイル入出力を扱ったことが無いのが良く分かる。
> あと移植性が低い。たとえばLinuxで動いているコードをWindowsで動かそうと思ったら、いろいろ書き換えないといけないところが出てくる。#ifdef Windowsみたいな。
ANSI Cの範囲なら、移植性は高い。
GUIを扱うならAPIやライブラリに全く互換性が無いので、プリプロセッサで分岐できるレベルではない。
makeは必須ツールなのだから、リンカーの互換性も指摘すべき。
0737デフォルトの名無しさん
2011/01/31(月) 16:41:05Qt4いいよ
0738デフォルトの名無しさん
2011/01/31(月) 16:42:55>>CでできることはC++でもすべてできるので、個人的にはC++を使わずにCを使うというシーンがあまり思い浮かばない。
> そこの筆者なにもわかってないな
それは私も思った。
0739デフォルトの名無しさん
2011/01/31(月) 16:48:510740デフォルトの名無しさん
2011/01/31(月) 17:15:33・Cの参考書として「はじめてのC」を推薦している事で、Cの理解度の低さが分かる。(洒落にならん)
そのくせC++では「Effective C」を挙げているから、C++大好きな人なのだと思う。
・Objective-CのC++/Java等との決定的な差異として、(SmalltalkやRubyと同様に)
動的なOOPを前提に設計された言語であるという事が欠けているのは、致命的なミス。
冒頭で仕事じゃ使っていないと書いているのだから、生半可な知識を披露すべきではない。
他は、概ね妥当なコメントじゃないかと。(賛同できない事柄も多いが誤りではないのでOKとする)
0741デフォルトの名無しさん
2011/01/31(月) 19:18:12> C言語でファイル入出力を扱ったことが無いのが良く分かる。
システムプログラミングの経験がないだろw
ファイル入出力もOSレベルだとアセンブラで組んだルーチンを
コールするようなことをやる
当然、アセンブラの方を知らないでプログラムは組めない
ポインタどころかメモリ空間を意識して、直接書き込むような
スキルが必要になる(多分、カーネルの中身を知らないと
分からないと思う)
C++でも出来なくはないが、同じようなことをやるとCで
書いた方が早いというような話になる
0742デフォルトの名無しさん
2011/01/31(月) 20:23:53ベンチマークをとった事があるんだが、OSのAPIを叩いてファイルアクセスをしても、ファイルストリーム関数を使ってもほとんど速度は変わらん。
ファイル・オープン時に、シーケンシャル・リードとか、ランダム・アクセスとか色々とオプションをつけられるのだが、ディスク・キャッシュに情報が渡るはずなのに、ほとんど効果が無い。
それでもわざわざAPIを叩いているの?
0743デフォルトの名無しさん
2011/01/31(月) 20:37:33>>741はOSのAPIを呼ぶ側の話じゃなくてOSを実装する側の話だと思うよ
0744デフォルトの名無しさん
2011/01/31(月) 20:52:490745デフォルトの名無しさん
2011/02/01(火) 00:27:48別の言語やってればポインタ以外は流し読みで理解出来る
0746デフォルトの名無しさん
2011/02/01(火) 00:34:260747デフォルトの名無しさん
2011/02/01(火) 13:18:480748デフォルトの名無しさん
2011/02/01(火) 13:21:540749デフォルトの名無しさん
2011/02/01(火) 13:21:550750デフォルトの名無しさん
2011/02/01(火) 21:34:140751デフォルトの名無しさん
2011/02/01(火) 23:07:55問題を解いたり、アルゴリズムを記述するのに向く言語って何れだ?
lisp系か?なんて思いながら、anarchy golfのlanguage rankingを見たら、
golf scriptについでrubyが入ってて驚き。perlは3位。pythonに至っては6位。
ほとんどpythonでかくのかと思ってたんだけど、意外なとこで使われてんのね
これで飯が食えるわけでないだろうけど。
0752デフォルトの名無しさん
2011/02/01(火) 23:38:270753デフォルトの名無しさん
2011/02/02(水) 06:29:260754デフォルトの名無しさん
2011/02/02(水) 08:00:100755デフォルトの名無しさん
2011/02/02(水) 08:01:41つ ttp://www.pythonchallenge.com/
0756デフォルトの名無しさん
2011/02/02(水) 15:23:30> 問題を解いたり、アルゴリズムを記述するのに向く言語って何れだ?
> lisp系か?なんて思いながら、anarchy golfのlanguage rankingを見たら、
C
0757デフォルトの名無しさん
2011/02/02(水) 16:58:190758デフォルトの名無しさん
2011/02/02(水) 17:56:02競技プログラミングでインドや中国の参加者だと、
わりとCを使っている上位入賞者なんてみた気がするぞ
MSの性能が戦力の優劣には関係しないってシャアが言ってたし、
言語の機能なんて問題を解く上での優劣には関係しないんだよ。とか妄想してみる。
classなんて飾りです。アプリケーション連中にはそれがわからんのです
0759デフォルトの名無しさん
2011/02/02(水) 22:15:52適材適所ってのがあんだろ
0760デフォルトの名無しさん
2011/02/03(木) 00:13:04んなところから実装しなきゃならんのはどう考えても開発の邪魔だろ。
最初からある程度は実装されてた方が楽だし
そういう既存のやつは色んなノウハウが既にあったり
バカ正直な実装に比べて最適化が行なわれてたりして効率的だったりする。
0761デフォルトの名無しさん
2011/02/03(木) 00:16:560762デフォルトの名無しさん
2011/02/03(木) 00:45:13C++「….」
0763デフォルトの名無しさん
2011/02/03(木) 06:21:09Cでシコシコと作られた日にゃ、おれが上司だったら切れちゃうよ
0764デフォルトの名無しさん
2011/02/03(木) 06:42:52Java最高ですねわかります
0765デフォルトの名無しさん
2011/02/04(金) 00:26:14たとえ即興で実装できたとしても、毎回実装すんのはだるいだろ。
しかも、人によって実装が微妙に違ったりするから、分かり辛い。
デフォで欲しいよ。飾りじゃない。
0766デフォルトの名無しさん
2011/02/04(金) 00:29:27そうなの?やっぱPythonか?
0767デフォルトの名無しさん
2011/02/04(金) 00:31:28再帰がからむアルゴリズムだとHaskell最強だよ。まあ、当然かな?
0768デフォルトの名無しさん
2011/02/04(金) 00:33:550769デフォルトの名無しさん
2011/02/04(金) 00:40:15Haskellって汎用性に欠けるって言われるけど、本当にそうなのかな?
今勉強してるけど、ライブラリさえあれば(笑)C++と同レベルな気がする。
と書いておきながら、俺はHaskellあんま好きじゃないんだけど。
オブジェクトはいるよ。オブジェクトは。
0770デフォルトの名無しさん
2011/02/04(金) 00:45:31使い物にならないから普及しない
0772デフォルトの名無しさん
2011/02/04(金) 00:58:19そこで、railsのようなキラーアプリをだな
0773デフォルトの名無しさん
2011/02/04(金) 01:18:27漏れの鯖環境では
4 年ほど前から Perl 刈り実施中
もう殲滅カウントダウンまできた
0774デフォルトの名無しさん
2011/02/04(金) 03:27:00そうか・・・やっぱりPerlはもうダメか。Perl6のOO具合を見て、まだいけるのかと思ってた。
0775デフォルトの名無しさん
2011/02/04(金) 08:47:27新バージョンへの移行どころか、新しい言語に移行するような状態になっちまうだろあれ
0776デフォルトの名無しさん
2011/02/04(金) 22:23:28>最近つくづく思うけど、Perlってもうダメだね。日本じゃまだマシだけど、海外じゃ完全に空気。
日本って、なんであんなにPerlが強いん?
そんで、なんであんなにPythonが弱いん?
0777デフォルトの名無しさん
2011/02/04(金) 22:27:110778デフォルトの名無しさん
2011/02/04(金) 23:40:21極めたら端末からワンライナー書くのには便利そうだし
不精さの美学みたいなものがある
で、pythonはインスタンス変数に全てselfをつけないとダメなのか?
長い数式とか書くのが面倒くさそう
その点で、rubyは@だけ書けば良さそうで楽そう。アクセッサまで付いてる
0779デフォルトの名無しさん
2011/02/05(土) 00:16:10まさしくperlの後継者足りうる言語
0780デフォルトの名無しさん
2011/02/05(土) 01:57:59ていうか、どうしても嫌ならwithステートメントでselfの中身展開できる気がする。
0781デフォルトの名無しさん
2011/02/05(土) 02:30:57>ていうか、どうしても嫌ならwithステートメントでselfの中身展開できる気がする。
は?jsと勘違いしてる?
0782780
2011/02/05(土) 02:48:32http://codepad.org/3XkPyymL
evalで文字列から関数作って、仮引数の形で変数渡してやればできるはずだが、眠い。
0783デフォルトの名無しさん
2011/02/05(土) 02:56:17インスタンス変数にアンダーバーを前置するどこぞの慣習にあわせて
class Foo(object):
def foo(_, x, y):
_.hoge = x
とかしたらselfだせーよとか文句言われなくなるかもしれない
ただ今度は関数型の人から怒られる可能性が
0784デフォルトの名無しさん
2011/02/05(土) 02:57:51スタックフレームとか使えばできるのかな? でももうねる
0785デフォルトの名無しさん
2011/02/05(土) 03:02:34よくわかんないけど、それ分かった上でどーこー言ってる人たちだと思ってた。
そうしたところで、2文字も打つのめんどくさいとか言われるんで、ローカルスコープ変えるかのようにできないとダメなんだと思う
0786デフォルトの名無しさん
2011/02/05(土) 03:20:55numpyとかで科学技術っぽい計算してる人たちは、
この辺の面倒さにどう対処してんだろう。(普通に、matlabつかうか)
0787デフォルトの名無しさん
2011/02/05(土) 03:23:140788デフォルトの名無しさん
2011/02/05(土) 04:08:19ざっと思い付いただけでも、Mercurial,trac,gimp,blender,geditの拡張
rubyはendが階段状に並ぶのが気持ち悪い
そのうちに、こういう無意味な注文を受け付けてくれる
ツールでも生まれてくれればいいのにな
GUIフロントエンドで、{}かbegin〜endにするか、indentにするか
無名関数、無名クラスの有無、静的片付けか動的片付けか、GCの有無
オペレータはオーバロードさせるか?アクセッサを用意するか
M$ならCLR上で動く、こういうツールを作ってくれそうにもないな
0789デフォルトの名無しさん
2011/02/05(土) 04:10:590790デフォルトの名無しさん
2011/02/05(土) 05:52:25デコレータでバイトコード弄ってみた(読み込みのみ)
http://codepad.org/7JUcS78A
http://pypi.python.org/pypi/byteplay が必要
0791デフォルトの名無しさん
2011/02/05(土) 07:32:54オブジェクト指向言語を語るくせに、インスタンスのスコープを持っていないことに
腹が立つ。
シンプルさのためにそうなってるのかと思ったが、どうもそうでもない。
obj.method(arg)がClass.method(obj, arg)になるという点ではシンプルだが、
これを実現するための仕組みはとてもシンプルとは思えない。
0792デフォルトの名無しさん
2011/02/05(土) 07:37:300793デフォルトの名無しさん
2011/02/05(土) 07:51:54なんてものが存在すると思い込んだ原因が知りたい。
0794791
2011/02/05(土) 08:06:45ん?俺?
インスタンススコープがないってことはスコープの種類が少ないということだから、
シンプルってことになるじゃん。
でも、スコープの種類少なくても、selfをインスタンススコープのように扱わせる
仕掛けはシンプルじゃなかったよという話。
一応シンプルな例を挙げておくと、PerlとLuaかな。これらもPythonと同じで
第一引数がselfになるんだけれども、これを特殊解釈させるために、
ドットと違う演算子を用意してる。
0795791
2011/02/05(土) 08:09:25あーちょっとずれてるか。
インスタンススコープがないのは腹立たしいが、
シンプルさのためなら許してやる。だけど、シンプルなわけでも
ないのでPython許さんということ。
0796デフォルトの名無しさん
2011/02/05(土) 08:13:480798デフォルトの名無しさん
2011/02/05(土) 08:47:170799デフォルトの名無しさん
2011/02/05(土) 09:13:59スクリプト言語がここまで増えて、あれやるために、
あの言語みたいに頭切り替えるぐらいなら、
いっそのことguileが流行ってくれれば良かったのにと思う
0800Perl忍者 ◆M5ZWRnXOj6
2011/02/05(土) 10:16:20俺もやってたぞレベル46
0801デフォルトの名無しさん
2011/02/05(土) 10:21:22「仕掛け」ってなんだ?
結局、書き方が気に入らなかったってことかよ
0802デフォルトの名無しさん
2011/02/05(土) 11:26:32ただそれだけのことが面倒で、それさえなければ迷わず使うとか思ってるんだったら、君にはPythonあってない。
Pythonは、数タイプ節約するために特別な仕組みを提供してくれる言語じゃない。
使い始めたらどうせ他の面倒なことが目立って嫌になるんだろう。
>>791
それって、オブジェクト指向で本質的な部分なの?
それよりも、本当の意味でのカプセル化はできていないとか、他にも文句言うところはある。
あと、実現するための仕組みがシンプルなLLなんて、俺はしらない。
0803デフォルトの名無しさん
2011/02/05(土) 11:48:59> それって、オブジェクト指向で本質的な部分なの?
だれもオブジェクト指向の本質が何かなんて話題にしてないのに、こんな噛み付き方をするのはさすがPython信者。
> あと、実現するための仕組みがシンプルなLLなんて、俺はしらない。
だれもおまえが知ってるかどうかなんて気にしてないのに、こんなこと牡蠣散らすとはさすがPython信者。
0804デフォルトの名無しさん
2011/02/05(土) 11:49:12基本は元々ある連想配列の仕組みを流用して
OO的な部分はbless1つで実現してるワケだから。
0805デフォルトの名無しさん
2011/02/05(土) 12:03:20単純にレキシカルスコープと見なせないのかな?というのがやや疑問
レキシカルに上の環境にある変数はPythonで暗黙に参照できるわけでしょ
更新はできないけど
レキシカルスコープの言語なんだから
classはメソッドの上のスコープ、classのフィールドはメソッドの上の
スコープにある自由変数と見なせてもいい気がする
0806デフォルトの名無しさん
2011/02/05(土) 12:15:430807デフォルトの名無しさん
2011/02/05(土) 12:22:43横レス失礼するよ。
オブジェクト指向の本質が何かとかカプセル化がうんぬんかとかを議論する気は無いけど、
OOP元祖であるSmalltalk、およびRubyと比較した観点でのPythonの欠点を挙げてみる。
・ブロック(クロージャ)が実装されていない。
・条件分岐が式ではなく文として実装されている。
Rubyだとブロックが使えるし、if .. then .. else(およびcase .. when ..)は式だから、
Smalltalkで書かれたコードをスイスイと書き換えて再利用できる。
Pythonというのは、(C++やJavaと同様に)手続き型言語へ「後からOOPを継ぎ足し」た
設計のように見える。それは、selfというキーワードを「多用」するスタイルについても同じ。
プログラマにOOPスタイルのコーディングであることをわざと意識させようとする
(教育的な?)設計思想であると言えるのかもしれない。それに対してSmalltaikやRubyは
デフォがOOPだから、selfというキーワードは「必要な時」にしか使わない。
これらは「最初からOOPである」ことを前提に設計されたSmalltalkやRubyと
「後からOOPを継ぎ足し」たPythonとの大きな差異ではないかと思う。
0808デフォルトの名無しさん
2011/02/05(土) 12:28:31後者は以前は微妙に面倒くさい欠点だったな。
今は3項演算子に相当するものがあるから随分とやりやすくなったが。
前者はブロックの代わりに関数ローカルな関数が作れるので何とかなるかな、と思う。
0809デフォルトの名無しさん
2011/02/05(土) 12:38:39> オブジェクト指向言語を語るくせに
って書いてるのに、オブジェクト指向のほんのどうでもいい部分を取り上げたとでもいいたいの?
> だれもおまえが知ってるかどうかなんて気にしてない
そんなもんない、と書きたかったのだが、全言語知ってるわけじゃないからそう書いたのだよ。
ところで、あるのかい?
0810デフォルトの名無しさん
2011/02/05(土) 12:46:01自由変数をenv.fooのように参照しろとか言われたら嫌だろう
それと同じ話だと思うぞ
まあPythonの場合は自由変数を更新するには
最近のバージョンでnonlocalと宣言する必要があるし
局所変数のスコープが関数全体に広がるから、むしろそう書いたほうが良かったかも
しれないがなw
Explicit is better than implicit
だそうだし
0811デフォルトの名無しさん
2011/02/05(土) 12:48:21式と文の違いは、オブジェクト指向とは関係ない。
クロージャなら関数が持ってる。
selfがキーワードじゃないってのはおいとくとして。
『「後からOOPを継ぎ足し」た設計のように見える』と書いている文章がいつの間にやら『「後からOOPを継ぎ足し」た』に変わってる。
「ゲーム脳の恐怖」で使われてる論法そっくりだ。
ま、実際のところ、Pythonは手続き型言語寄りのマルチパラダイム言語だと思うが。
0812デフォルトの名無しさん
2011/02/05(土) 12:50:11じゃあ、envはどこの名前空間にあるのさ?
meta_env.envってすればいいの?
meta_meta_env.meta_env.envってすればいいの?
0813812
2011/02/05(土) 12:51:22関数型プログラム言語として使うなら、そうするのもありじゃないかと思うよ。
0814デフォルトの名無しさん
2011/02/05(土) 12:55:09すまん、ただのたとえ話にそういう突っ込み方をされるとは思わなかったw
言いたいことはわかるだろ、Pythonのレキシカルスコープは大抵の言語の経験者に
とっては少なくとも異色なんだよ
0815デフォルトの名無しさん
2011/02/05(土) 13:00:17pass
dist = lambda x, y: (lambda let, pairs, f: [[let.__setattr__(x, v) for x, v in pairs], f(let)][1])(Let(), [('x_sq', x*x), ('y_sq', y*y)], lambda let: math.sqrt(let.x_sq+let.y_sq))
print dist(3, 4) # ==> 5.0
うん、全然ありだな。
0816デフォルトの名無しさん
2011/02/05(土) 13:06:10let = lambda pairs, f:let2(Env(), pairs, f)
let2 = lambda env, pairs, f: [[env.__setattr__(x, v) for x, v in pairs], f(env)][1]
ってすれば、代入のかわりにlet使ってenvを得て、
ローカル変数使わなくてもenv使えば処理できるのな。
0817デフォルトの名無しさん
2011/02/05(土) 13:13:50逆に、異色な部分がない言語ってやる価値あんの?
高速とか、そういうメリットあるならともかく、実行速度の遅い言語の場合で。
Rubyだって(少なくとも、出た当初は)ブロック付きメソッドなんて異色だったし、
Smalltalkのオブジェクト指向だって(少なくとも、出た当初は)異色だったよ。
高級言語のFortranなんて、アセンブラやってた人からしたら本当に異色だっただろうな。
けど、異色だという理由だけで否定するのって、バカのすることだよね。
だから、selfを引数に取ることが具体的にどうダメなのかを、
「他の言語と違うから」以外の意見を持ったバカじゃない人から聞きたいのだけど、
具体的にダメな点ってのが、タイプするのが面倒くさい、くらいしか出てこないんだ。
0818デフォルトの名無しさん
2011/02/05(土) 13:24:32これは案外でかい気がする。
ブロック付き構文は(Ruby使いに言わせれば)便利な記法だそうだし
アセンブラよりFortranなどの高級言語のほうが読み書きは容易だろう。
Pythonのselfと書かざるをえない文法には、とにかく何か意図か理由があるんだろうけど
どういうメリットがある?
0819デフォルトの名無しさん
2011/02/05(土) 13:28:02おー、ネタをふったのは俺だが、屁みたいな議論よりよほど面白いぞw
0820807
2011/02/05(土) 13:52:12>式と文の違いは、オブジェクト指向とは関係ない。
>クロージャなら関数が持ってる。
>>807の指摘がOOPとは関係ないのであれば、大いに関係のある
「関数型言語との比較」という観点で見たPythonの欠点に書き換えましょう。
・ラムダ式(無名関数)の中で局所宣言(let式)ができない
・条件分岐が式ではなく文として実装されている
前者については、Smalltalk/Rubyには両者ともラムダ式はありませんが、代わりに
ブロック(クロージャ)があるので、局所宣言を含む無名関数を自然に記述できます。
Pythonで初心者にも分かり易い「局所宣言を含む無名関数」は書けますか?
後者については、明確なPython欠点でしょう。
確かにPython 2.5から三項演算子は追加されましたが、その構文
<true expr> if <cond expr> else <false expr>
はPython固有の記法で、手続き型言語を含めた言語の中でも「異質な存在」です。
これなら、まだ Lisp風の
(cond <cond expr> <true expr> <false expr>)
ような前置記法、あるいは、Smalltalk(やForth)風の
<cond expr> ifTrue: <true expr> ifFalse: <false expr>
のような後置記法のほうがマシ(自然)に見えます。
「ラムダ式の実装が不完全」で、しかもプログラミングで多用される
「条件分岐が式ではない」Pythonは、関数型言語としても中途半端な言語に見えます。
これもまた手続き型言語へ「関数型を後から継ぎ足し」た言語設計ではないかと思います。
0821デフォルトの名無しさん
2011/02/05(土) 14:03:12結局、局所的、という機能は人間が馬鹿で全部覚えておいて完全に制御はできないと
いうところをサポートする為のものだ。
局所的、という特性自体はOOPとは無関係だ、というか無関係に近い。
0822807
2011/02/05(土) 15:07:19そうですね、少し表現が上品すぎて
このバトルスレにはふさわしくなかったかもしれません。
デハご要望に応じて、このスレ向きの口調で>>807,820を書き換えましょう。
Rubyと比較すると、Pythonなんてオブジェクト指向としても
関数型言語としても中途半端で不完全な代物。
まあ、手続き型言語としては優秀だと認めてやるから、
このスレだとPython vs. Perlでバトルするのがお似合いだな。
それをRuby厨は上から生暖かく見物するとしよう。
こんなんでどうでせうか?できれば>>807,820への
感情論を抜きにした(技術者としての)論理的な反論をキボンします。
0823デフォルトの名無しさん
2011/02/05(土) 15:17:27「上から生暖かく見物する」
と、断言した以上、二度と書き込まないことを祈る。
脳が腐っていて、物事の判断が出来ない馬鹿以上の
大馬鹿であることを証明したいなら、今後もどんどん
書き込みたまえ。
0824デフォルトの名無しさん
2011/02/05(土) 15:19:38真っ先に末尾再帰の最適化を上げない時点で、関数型言語知らずに言ってるんだなぁと思える。
継ぎ足した知識でしか使う脳がない人には、継ぎ足した仕様で十分なんじゃないの?
0825デフォルトの名無しさん
2011/02/05(土) 15:25:21>>820は
・letはsyntax sugerであるから、lambdaがあれば不要
・異質であることのみを理由にして、それを欠点というのは根拠が足りない
>>807は>>811にあるとおり。
これらより、
> Rubyと比較すると、Pythonなんてオブジェクト指向としても
> 関数型言語としても中途半端で不完全な代物。
はどちらも、根拠が足りない。
その後の文章は、タダの感情論なので、自分で「感情論抜きにした論理的な」とか言いながら
自分は感情論使うってバカなんじゃねーの?と感情論で返しておく。
0826デフォルトの名無しさん
2011/02/05(土) 15:28:06どのことするからユーザーが増えないんだよ
0827デフォルトの名無しさん
2011/02/05(土) 15:28:47◎そんなこと
0828807
2011/02/05(土) 16:33:48馬鹿以上の大馬鹿なので、カキコさせてもらいます。
>>824
Rubyには末尾再帰最適化が実装されていないので、スタックオーバーフローし易く、
その為に時としてループで手続き的なプログラミングが必要になる点は認めます。
ただし、Rubyはそもそも関数型言語ではありませんし、このスレで議論したいのは
(Ruby vs. 関数型言語ではなく、)関数型としての観点におけるPythonとRubyとの比較です。
末尾再帰最適化については、どちらも実装されていないので、引き分けではないでしょうか?
それとも、もしもPythonには末尾再帰最適化が実装されてる、というのなら話は別で、
それはRubyの欠点/Pythonの利点として認めます。いかがでしょうか?
>>825
>・letはsyntax sugerであるから、lambdaがあれば不要
>・異質であることのみを理由にして、それを欠点というのは根拠が足りない
関数型言語の特殊な機能/頻繁に使用されない機能等であれば、そんな隅っこを取り上げて、
それが実装されていないからうんぬんといった指摘は、根拠が足りないと言えるでしょう。
けれども関数型言語において、局所宣言(let式)の存在は、極めて常識的/日常的/基本的です。
Lisp/Scheme/ML/Haskellなど、あるいはそれらのサブセットですら実装されています。
それがRubyであれば、それらが言語のプリミティブとして実装されていますから、
Rubyであれば自然な関数型言語風プログラミングが可能です。
Pythonのように、ややこしく見づらいコーディングを強いられることはありません。
Pyhhonによる関数型プログラミングのコードが、初心者にも見やすいとお考えですか?
同様に,(>>820でも書きましたが)条件分岐は、プログラミング一般で多用される基礎です。
以上の事から、>>820の指摘が根拠の足りないという指摘は、否定します。
0829デフォルトの名無しさん
2011/02/05(土) 18:27:52> それがRubyであれば、それらが言語のプリミティブとして実装されていますから、
> Rubyであれば自然な関数型言語風プログラミングが可能です。
ついこないだまでブロック内変数もブロックがブロックを引数にとることもできなかった
欠陥言語がどのツラ下げてそれを言うかと。
0830794
2011/02/05(土) 19:15:22>>809
obj.method(arg)をClass.method(obj, arg)に変換するための仕組みのこと。JK
>>802
うん。本質的な部分だよ。例えば、構造化言語でローカル変数なかったら気持ち悪いでしょ?
そんな感覚。
本当の意味のカプセル化なんてLLには要らない。柔軟性が下がるだけ。
突っ込むところではない。
ちなみに、Pythonのアンダースコアで可視性を表すシステムはRubyよりよく出来てる。
Rubyはprotectedまでしか表せないけど、Pythonは真の意味に近いprivateが
扱えるからな。
何を持ってシンプルかっていうのは人によるだろうけど、Pythonの仕組みは比較的
シンプルではない方だと思うよ。ってか俺PerlとLua挙げたじゃん。
これじゃあ駄目なの?いじわるな子ね。
>>807
俺はRubyのが好きだけど、関数型言語としてはPythonの方がよくない?
流石にファーストクラスで関数が使えるのはでかいよ。
例えば、RubyのStringScannerとPythonのre.Scannerとか?Python
の方は関数型っぽく使うはずだったよ。
0831デフォルトの名無しさん
2011/02/05(土) 19:18:28802=809だと思うから、>>809は第2段落より
0832794
2011/02/05(土) 19:48:59がいるようなので俺が説明しよう!
Pythonicオブジェクトシステムについて
まず、このことをおさえておく。
def hoge():
pass
と書くと「変数」hogeに関数オブジェクトが代入される。
で、次にこれをおさえる。
class Hoge:
x = 100
def huga(self):
pass
こう書くとHoge.xに100、Hoge.hugaに引数ひとつの関数オブジェクトが
代入される。
そしてhoge = Hoge()とインスタンス化すると、hogeからもHogeの属性が見える
ようになる。つまりhoge.xとhoge.hugaが使える。
hoge.xとすると100が返ってくる。一方でhoge.hugaとすると
関数オブジェクトが帰ってくると見せかけて、なんとメソッドオブジェクトが返ってくる。
メソッドオブジェクトとは何かというと、selfを保持している関数オブジェクトの
ことである。メソッドオブジェクトにカッコをつけて呼び出すと、
引数をひとつずらして、第一引数に保持しているselfを渡してくれる。
これがselfを書かせる理由。
これにより、hoge.huga()はHoge.huga(hoge)と同等になって
Pythonicだねということらしい。
メリットはまあ普通の関数でメソッドっぽいものを実現できるということかな。
0833デフォルトの名無しさん
2011/02/05(土) 19:53:160834Perl評論家
2011/02/05(土) 21:08:50キモキモ
少しは833を見習ってくださいよカス
0835デフォルトの名無しさん
2011/02/05(土) 21:10:59先達の丸パクり100%で成り立ってるくせにちょっとした瑕疵を
鬼の首を取ったみたいに嬉々としてけなすとか仁義にもとるわ
RubyはRubyは言うならせめて独自の工夫を引き合いに出せ
んなもんがあればだけどな
0836デフォルトの名無しさん
2011/02/05(土) 22:03:27関数型言語として使えるか使えないかじゃなくて、引き分けとか、そういう話だったの?
Rubyじゃ自然な関数型言語風プログラミングはできない。末尾再帰最適化ができないから。Pythonも同様。
サッカー選手か野球選手どっちがバスケうまいか、みたいなどうしようもない話はする価値ないよ。
> 同様に
なにが同様なんだww
# で、RubyじゃProcかlambdaかどっちが関数なの?ww
0837デフォルトの名無しさん
2011/02/05(土) 22:12:030838デフォルトの名無しさん
2011/02/05(土) 22:13:120839832
2011/02/05(土) 22:25:02えー、だってこれぐらい知ってくれてないとPython批判しても
何がダメなのかわかってもらえないじゃん。
>>835
何いってるのかわかんね。とりあえずけなしてるわけでもないし、
仁義にもとってるわけでもない。
0840Perl評論家
2011/02/05(土) 22:29:270841デフォルトの名無しさん
2011/02/05(土) 22:57:34数タイプ節約したいだけじゃなくて、主に可読性の問題
例えばだけど、
self.x**3 + self.x**2 + 0.5*self.x**2 + self.x*self.y + self.x*self.y**2
@x**3 + @x**2 + 0.5*@x**2 + @x*@y + @x*@y**2
こう並べてみて、どっちが見やすい?
こういう数式が大量に並べると、とにかく目が疲れるんだ
JavaにもオペレータのオーバーロードやC#のプロパティを含めて欲しい
0842デフォルトの名無しさん
2011/02/05(土) 23:05:34xをいじくる大量の数式
self.x = x
ですべてが片付くとは言わないが
0843デフォルトの名無しさん
2011/02/05(土) 23:06:560844デフォルトの名無しさん
2011/02/05(土) 23:11:37下も十分見にくい
x^3 + x^2 + 0.5 * x^2 + x * y + x * y^2
ぐらいがいいな
0845デフォルトの名無しさん
2011/02/05(土) 23:14:390846デフォルトの名無しさん
2011/02/05(土) 23:15:45@は変数のスコープを思い出させてくれる
0847デフォルトの名無しさん
2011/02/05(土) 23:17:100848デフォルトの名無しさん
2011/02/05(土) 23:18:08レキシカルに上にあるんだからダイナミックスコープと違って
スコープなんて自明だし、別に困らないけどなあ……
関数型の自由変数でも、C++族のメンバ変数/フィールドでも
そんなに@が並んでたら、目が痛いよ
0849デフォルトの名無しさん
2011/02/05(土) 23:19:40信者ないから、便利なもの使いたいんだよ
0850デフォルトの名無しさん
2011/02/05(土) 23:23:19c++だと、メンバ変数にはx_や、m_xぐらいは書くだろ?
@の一文字ぐらいは増えても諦めるだろ
c++のポインタで目が痛くならなければ、
リファレンスだって生まれなかったんじゃないのか(設計と進化は、まだ読んでないが)
0851デフォルトの名無しさん
2011/02/05(土) 23:27:180852デフォルトの名無しさん
2011/02/05(土) 23:28:33いや諦めるんなら諦めるでいいけど、「諦める」ってことは、別段優れても何にも
いないってことだよなw
D&Eは大分前に読んでもう手元にないが、リファレンスの導入の経緯はそういう
あれじゃなくて、operator overloadingのための要請という点が大きかった気がする
ただしD&Eにそれが書いてあったかどうかは覚えていない
0853デフォルトの名無しさん
2011/02/05(土) 23:34:02selfやendの階段みたいなことしたら嫌じゃん
AIっぽい記号処理も数値計算も行いやすい軽量言語とかを
ここで、次なる救世主を待っているんだ
ひょっとしたら知らないだけで既にあるのかもしれないし。@pyとか。parrotとか
0854デフォルトの名無しさん
2011/02/05(土) 23:41:150855Perl評論家
2011/02/05(土) 23:44:490856デフォルトの名無しさん
2011/02/05(土) 23:50:40ダチョウ倶楽部みたいに、どうぞどうぞの世界だろ
自分で実装するぐらいなら、おとなしく、c++を使うわ
言語実装する関係の卒業研究やってる学生さんが実装してくれることを超期待
0857デフォルトの名無しさん
2011/02/05(土) 23:52:51Matzがどれくらいかけたのか、正確な所は知らんけど
0858Perl評論家
2011/02/05(土) 23:53:580859デフォルトの名無しさん
2011/02/06(日) 00:11:36記号処理と数式処理を主とした目にやさしいオブジェクト指向型グルー言語とかをテーマで
0860デフォルトの名無しさん
2011/02/06(日) 00:14:530861デフォルトの名無しさん
2011/02/06(日) 00:18:33参照するコストもあるから、何度も参照され、かつ、代入のコストがそこまで大きくないオブジェクトだったら、
>>842のようにした方がトータルのコストも少なくなる。
>>841
どっちも見にくい。
(lambda x, y: x**3 + x**2 + 0.5*x**2 + x*y + x*y**2)(self.x, self.y)
の方がまだマシで、>>842がよりよい。
>>848
変数の参照だけならそれでいいと思うけど、
変数に別の値を代入したり、新しい変数作ったりを考えると、
思った以上に事態は面倒だよ。
0862デフォルトの名無しさん
2011/02/06(日) 00:24:06いや、更新でも特に困らない
(というかC++でもJavaでもC#でもLispでも何でもいいが、上位のスコープにある
レキシカル変数を普通に更新できる)
「上位のスコープに新たに変数を作る」という機能があるかどうかだろうなあ
0863デフォルトの名無しさん
2011/02/06(日) 00:32:29C#, Lisp(Lispの代入って、標準的な仕組みとしてあるの?)はよく知らないんだけど。
C++, Javaに関しては、
・変数には宣言を伴う
・上位スコープと同じ名前のローカル変数が宣言されたら、ローカル変数が優先される
って性質があるから、更新でも特に困らない。
そういう性質のないPythonが苦し紛れにnonlocalキーワードを追加したのを忘れちゃいかんよ。
0864デフォルトの名無しさん
2011/02/06(日) 00:35:50だから、それはあくまで「Pythonの」仕様の問題でしょ
「原理的に」困る困らないという話とは別
・let, my, val, varみたいにbindingを明示する手段がない
・ローカルにないxに対して、x = 1のような文は、上位のスコープにxがあるかどうかは
無視して*常に*ローカルにbindingを作成する
という仕様だから、「Pythonでは」そうなっているというだけ
0865デフォルトの名無しさん
2011/02/06(日) 00:37:11CommonLispはマルチパラダイム言語であって関数型言語じゃないからふつうに使われる
Schemeにも破壊的代入のset!はある
0866デフォルトの名無しさん
2011/02/06(日) 00:42:53> (lambda x, y: x**3 + x**2 + 0.5*x**2 + x*y + x*y**2)(self.x, self.y)
> の方がまだマシで、>>842がよりよい。
有難うございます。救世主様。今日から私は、迷わずにpythonの信者になります
あなたをおいて、どこにいきましょう。
> 参照するコストもあるから、何度も参照され、かつ、代入のコストがそこまで大きくないオブジェクトだったら、
> >>842のようにした方がトータルのコストも少なくなる。
ところで、メシア様。キャッシュにはメモリ上の位置が記憶されてるものじゃないのでしょうか?
参照コストなんて、self.x(または、@x)の時点でメモリ位置がキャッシュにストアされて、
以降はキャッシュにヒットするものだと思っておりました
そして、ローカル変数のx(これは実体ですよね)を代入などしたら、
それだけでもコスト掛かって、xとself.xのアドレスがキャッシュに
たまるので、他のオブジェクトの変数や命令キャッシュにもlambdaの
位置が配置されて腹の中がパンパンになるのだと思っておりました
0867デフォルトの名無しさん
2011/02/06(日) 00:44:040868Perl評論家
2011/02/06(日) 00:47:23詳しいからさ
企業人だろ?かえれカス
0869デフォルトの名無しさん
2011/02/06(日) 01:14:55アルゴリズムとか知らない
数学とかできない
社会に有用なものを提供できない
クズ
0870デフォルトの名無しさん
2011/02/06(日) 01:20:480871デフォルトの名無しさん
2011/02/06(日) 01:37:37物理屋の書いたCのコードとか、読めたもんじゃなかった。
そもそもライブラリの存在すらよく理解してない。
ソースコード見ると、何十年もの間、何の研究をしてきたのかすらも疑問に思った。
そして、アカデミックな立場にある人々の書く論文の大半は、
とりわけ社会に有用なものを提供しているわけでもない(…4流の大学だからか)
そして、社会に有用なものを常に提供し続けるのは、
それは、Tシャツにジーパンを履いた人たちでなくて、大企業でスーツを着ている人たちだよ
0872デフォルトの名無しさん
2011/02/06(日) 01:42:500873デフォルトの名無しさん
2011/02/06(日) 03:24:52関数でそれが出来ているのは、ローカル変数が関数をコンパイルするときに
決定されるから。
それに対して、クラス属性やインスタンス属性は実行時に決定されないので、
Pythonの self. や Ruby の @ みたいに、名前をインスタンスの名前空間から
探す事を明示する必要がある。
C++ や Java など、クラスの名前空間が静的に決定される言語では
この限りではない。
0874デフォルトの名無しさん
2011/02/06(日) 03:32:14代入コスト<<<属性ルックアップのコスト
代入したほうが圧倒的に速い。
0875デフォルトの名無しさん
2011/02/06(日) 03:51:25基礎研究は別ですが。
0876デフォルトの名無しさん
2011/02/06(日) 04:26:28原理的に、仕様の選択の問題だろーが。
self.*やら@やらlet, my, val, varみたいな方法でスコープを明示することなくその問題を解決できるのかい?
それとも、PythonやらRubyにvarを導入してself.やら@をなくせと言いたかったの?
# いちゃもんつけるために頭ひねってどうすんのよ。
0877デフォルトの名無しさん
2011/02/06(日) 04:32:13それはLispじゃなくCommonLispの話。
多くの方言で破壊的代入はあるが、スコープやら含めて細部まで動作が統一されてるとは思えないから、
標準的な仕組みとしてあるのか、と書いた。
>>866
> 思っておりました
で? ていうか、実装依存なんじゃねーの?
0878Perl評論家
2011/02/06(日) 08:37:42言語オタはうぜえんだよばかが
モナド、がーべじコレクション、メモリとかわめいてんだろ?
なんか通ぶって そういうのなあ、簡単に実装できねえだろ?
おまえらさあそれで、新しい言語使ってクソゲロRuby以上にユーザー数いるの?
アプリとちがってなあ ごみすぎんだよつまらねえし たのしい?無理してんの?
研究してる俺SUGEEEEEEEEEEEEEEEEEEEE!!!
とかおもってんだろ?まじしねよ
そんななあアルゴリズマーとかわめいてるけどさああ、なんか全然新しい発見してないだろ?
あるものに、ちょこっと手を加えてるとかひらめいてるだけで
言語オタはうぜえんだよ 俺は凄いとおもわないけどな
通ぶってカスノゴミどもがらりーウォールとかみたいな開発部分を真似してやっているのがゆるせねえ
まじ死ねカス言語オタ
0879Perl評論家
2011/02/06(日) 08:39:42死ねよカス
0880デフォルトの名無しさん
2011/02/06(日) 10:21:24何をわけのわからんことを……
「標準的な」と言ってるから、それこそ標準規格であるCommonLispを
挙げたんじゃないか
有象無象が勝手に作れるLispの実装のことなんぞ知らんよ、そこに「標準的」という
言葉を使う意味があるのか?
ちなみに現在多分一番有名なLispの変種であるEmacs Lispにも勿論破壊的代入はあるよ
Emacs Lispはダイナミックスコープだが
0881デフォルトの名無しさん
2011/02/06(日) 10:26:38勿論解決できる、当たり前だろ?
上位のスコープの名前を優先する仕様であれば、nonlocalやglobalは要らなくなる
この場合は同じ名前のローカル変数が作れないという弊害があるが
別の名前をつければいいだけだ
その上で、Perlのようにオプショナルにbindingを明示する手段を提供すれば、
同じ名前のローカル変数を作りたいときには、myとかvarとか書いて明示すれば
作れるようにできる
通常は明示は要らない
さらにPerlのstrictモードのようなものをつければ、常時bindingの明示を強制して
typoにまつわる馬鹿馬鹿しいバグをコンパイル時に検出することが可能になる
0882デフォルトの名無しさん
2011/02/06(日) 10:28:28おっとここでの「Perl」はちょっとたとえが不適切だった
PerlにしろJavaScriptにしろ、bindingを明示しないとグローバルになってしまう
からな
そうだな、groovyあたりが適当か
0883デフォルトの名無しさん
2011/02/06(日) 10:42:44Pythonのような言語でも全ての属性が動的である必要はない気がする
Pythonで言うと動的な属性は__dict__に格納され、静的でいいばあいは__slots__
を使うのだと思ったけど、原理的に後者の場合は明示が要らないはず
要は、コンパイル時にクラスの属性として確定しているものは
普通に自由変数扱いにできて(つまり修飾不要)
ダイナミックな属性はそれこそ自由変数selfだのdynamicだの経由でアクセス
するという設計も一応可能では
それと、現在の仕様であってもselfを自由変数にすることは可能で
その違いは第一引数として明示する必要がない、という点に出てくる
(もちろんPythonで第一引数selfを明示させる「意図」は耳タコが出来るほど
聞いたから理解はしているつもりだが)
0884デフォルトの名無しさん
2011/02/06(日) 13:32:14マイナーな標準規格と言わざるをえないな。
そして、破壊的代入がないなんて話は誰もしていない。スコープの話をしている。
>>881
> 上位のスコープの名前を優先する仕様であれば、nonlocalやglobalは要らなくなる
それは、スコープを制限することでスコープは自ずと明示されるという、仕様の選択。
明らかに不便になるのだから、それで解決できたとは言えないよ。
> その上で、Perlのようにオプショナルにbindingを明示する手段を提供すれば、
そういう方法を使わずに解決できる方法をきいてんの。
全く新しい考え方を持ち出さない限りは、原理的に、仕様の選択なんだよ。
君の書いたことは、つまり、こういうことだ。
ifの後にインデントもendもなしにブロックを明示できるのか、という話に対し、
ifの後を1つの式に限るのならどちらも必要ない。その上で、オプショナルに{}でブロックを明示すればよい、
と返している。
それを君が、実に明解で非の付け所のない話で、それで全て解決すると思ったのなら、
君の主張は正しかったと思い込んでくれて構わない。
0885デフォルトの名無しさん
2011/02/06(日) 13:36:14結局[Python|Ruby][でも|なら]こう[す|な]れば、そうできる。
ちゅう話に収束して[Python|Ruby]に物凄い不満を表明しているだけに終始している。
お前ら、もう全然別の物を作ったらいんじゃね?
0886デフォルトの名無しさん
2011/02/06(日) 13:49:32なんか話がどんどんそれてるな
俺はPythonをどうしたらいいとか、そういう話をしてるんじゃないぞ?
元の話は、「一般論として」上位のスコープにある変数を更新するのに何か
問題があるかという話をしていて、俺はそれ自体は別に何も問題はないと言ったんだ
そこに問題を抱えているのはPythonという言語特有の問題にすぎないだろ
俺はそこには関心がない
>明らかに不便になるのだから、それで解決できたとは言えないよ。
だからさー、Pythonの話をしてないのに、Pythonの言語仕様の範囲内で「解決」
しなきゃいかんのよ
Pythonなんぞどうだっていい
それと、悪いけど、Python3.xが出るまではレキシカル変数の更新をする手段が
そもそも無く、
今でもglobal「文」やnonlocal「文」を明示的に必要とすることに比べれば
レキシカル変数と同じ名前のローカル変数を使えないとしても、別に「不便」でも
何でもないな
Pythonユーザは単に別の名前をつけるという穏当な手段よりはるかに汚い
ハックに甘んじてきたんだろう
0887デフォルトの名無しさん
2011/02/06(日) 13:57:20宗教は争いの種にしかならん。
0888デフォルトの名無しさん
2011/02/06(日) 13:58:09CommonLispをマイナーな標準規格って……
無知ってこえーな
0889デフォルトの名無しさん
2011/02/06(日) 14:04:59このスレってPython信者を弄るスレかと思ってた
0890デフォルトの名無しさん
2011/02/06(日) 14:11:06そりゃ、下位にスコープを持ち得ない言語であるなら、上位スコープにある変数を更新するのに何ら問題はない。
下位にスコープを持ち得たとしても、それが上位スコープと衝突することがないのなら、問題ない。
そこまでは、何ら異議はない。
もし君にとってそれで十分だったのなら、これまでかけあったゲロは、かけあう必要のなかったものだ。
ただ、名前が衝突しうるなら、衝突を避ける手段を取る必要がある、という話をしていて、
それはPythonに限らず、どの言語でも、その言語の範囲内で解決しないといけない問題だ。
Pythonにこだわってるのはむしろ君だ。
> 今でもglobal「文」やnonlocal「文」を明示的に必要とすることに比べれば
> レキシカル変数と同じ名前のローカル変数を使えないとしても、別に「不便」でも
> 何でもないな
それなら「同じ名前の変数は使えない」と思い込んでいれば、お望み通りの結果に。
0891デフォルトの名無しさん
2011/02/06(日) 14:14:38ひとつの方言としてはメジャーだが、標準規格と偉そうに言うにはマイナーだろ。
SchemeとEmacs LispもCommonLispの規格に準拠したら、メジャーだと認めてもいいが。
0892デフォルトの名無しさん
2011/02/06(日) 14:17:51名前の衝突なんて話は当たり前で、それは参照でも起こることだろう
更新において何か特別な問題があるとかいってる奴がいるから(>>861)
俺は>>862で別にそんなことはないと言っただけだぞ
衝突回避のための仕様の選択という話なら、Pythonは衝突を回避するための手段を
提供するどころか、上位のレキシカル変数にアクセスするための手段すら
提供していなかったわけだが……
0893デフォルトの名無しさん
2011/02/06(日) 14:18:46ANSIの標準規格を捕まえてマイナーな標準規格とか言うのなら
この世の言語の大半は話にならん
0894デフォルトの名無しさん
2011/02/06(日) 14:23:37上位スコープの変数の更新を問題なく行えるような言語の設計は普通に可能である
ただし特定の言語(Pythonなど)がそう設計されているとは限らない
それでいいか
0895デフォルトの名無しさん
2011/02/06(日) 14:53:38そうだね。Pythonでは参照時は問題が起こらない仕様になっているので、当初は参照での話をしていなかった。
君が話を一般的にしたときに、俺は、言語によっては参照でも問題が生じうることを思い出すべきだった。それを思い出せなかったのは俺の手落ちだ。
実際は、更新時に限らず、参照時であっても、仕様の選択の問題だ。
もちろん、更新時に仕様の選択により問題が生じうることに間違いはないが。
> 衝突回避のための仕様の選択という話なら、Pythonは衝突を回避するための手段を
> 提供するどころか、上位のレキシカル変数にアクセスするための手段すら
うん。そうだよ。
多くの場合は、引数と値返しで対応できるけど、導入されたね。
>>894
そういう設計は当然、可能だよ。そのために、何らかの、名前を区別する構文を用意するなど、何らかの仕様の選択を行う必要があるだけで。
Pythonだって、新たな構文を導入したら可能だろうね。
0896デフォルトの名無しさん
2011/02/06(日) 14:56:420897デフォルトの名無しさん
2011/02/06(日) 15:02:340898デフォルトの名無しさん
2011/02/06(日) 15:13:49__slot__ の中身も実行時に参照されるデータで、コンパイル時に決定できないよ。
Pythonでコンパイル時に名前の参照先を決定できるのは関数の内側だけ。
0899デフォルトの名無しさん
2011/02/06(日) 15:57:460900デフォルトの名無しさん
2011/02/06(日) 16:03:000901デフォルトの名無しさん
2011/02/06(日) 16:03:110902デフォルトの名無しさん
2011/02/06(日) 18:36:080903デフォルトの名無しさん
2011/02/06(日) 21:08:36多重人格者の場合は自分の分身と永遠に戦い続けます
0904デフォルトの名無しさん
2011/02/06(日) 22:46:410905akiyan
2011/02/06(日) 23:29:35PHPは駄目だとかcakeはセキュリティホールが云々だの
もう少し建設的な話できないのかな
0906デフォルトの名無しさん
2011/02/06(日) 23:33:31このスレ見てりゃわかるけどさ
0907デフォルトの名無しさん
2011/02/06(日) 23:33:520908デフォルトの名無しさん
2011/02/07(月) 00:19:220909デフォルトの名無しさん
2011/02/07(月) 01:40:320910デフォルトの名無しさん
2011/02/07(月) 02:04:48さすがに my は恥ずかしい
0911デフォルトの名無しさん
2011/02/07(月) 02:07:290912デフォルトの名無しさん
2011/02/07(月) 08:27:18そのために obj.hoge という表記は常にメソッドの呼び出しである、と定め
属性へのアクセスと明確に区別されるようになってる。
ただ弊害として、属性値には直接アクセスできない
→ 属性値としてメソッドオブジェクトを入れればそれはメソッド、なんて仕様だとそのメソッドもアクセス不能
→ 全てがオブジェクトな中で、メソッドだけは特別扱い
…ということになってるが。
0913デフォルトの名無しさん
2011/02/07(月) 20:14:25アクセッサあるし、別にいいじゃん
ゲッターもセッターもいらんでしょ
0914デフォルトの名無しさん
2011/02/07(月) 21:30:53最初、myと聞いたときには、なんかイヤな
感じだった。
その後、ourと聞いたときは、あー、
そういう命名なのね、としか思わなかった。
0915デフォルトの名無しさん
2011/02/08(火) 01:02:180916デフォルトの名無しさん
2011/02/08(火) 01:04:410917デフォルトの名無しさん
2011/02/08(火) 03:14:410918デフォルトの名無しさん
2011/02/08(火) 03:40:59Rubyはメソッドだけじゃなく、関数もあるから、メソッドを関数と呼ぶようなことをしなければ無問題。
0919デフォルトの名無しさん
2011/02/08(火) 04:31:160920デフォルトの名無しさん
2011/02/08(火) 04:47:140921デフォルトの名無しさん
2011/02/08(火) 04:49:170922カスRubyler
2011/02/08(火) 15:01:400923デフォルトの名無しさん
2011/02/08(火) 15:03:36Perl=水遁 ゼニガメ
Python=木遁 フシギダネ
0925デフォルトの名無しさん
2011/02/08(火) 18:48:13関数はメソッドの一種、ということになってる。
0926デフォルトの名無しさん
2011/02/09(水) 00:31:36曖昧じゃないよ。関数だよ。
ただの関数だからこそ、selfが必要。
>>918
よくわからんけど、lambdaとProc.newとブロックとメソッドと関数があるの?他にもある?
0927デフォルトの名無しさん
2011/02/09(水) 01:53:560928デフォルトの名無しさん
2011/02/09(水) 02:55:58究極的にはメソッドとオブジェクトだけ。
関数はメソッドの一種で、lambdaやprocやブロックが返すのは手続きをラップしたオブジェクト。
0929デフォルトの名無しさん
2011/02/09(水) 03:23:59表記上だけかもしれないけどこういうこと
>>> def A():
... pass
...
>>> def B(self):
... pass
...
>>> class C:
... @classmethod
... def D(cls):
... pass
... def E(self):
... pass
>>> setattr(C, "A", A)
>>> setattr(C, "B", B)
>>> A
<function A at 0xb76a32cc>
>>> B
<function B at 0xb77991b4>
>>> C.A
<unbound method C.A>
>>> C.B
<unbound method C.B>
>>> C.D
<bound method classobj.D of <class __main__.C at 0xb77a0cec>>
>>> C.E
<unbound method C.E>
0930929
2011/02/09(水) 03:26:44>>> c = C()
>>> c
<__main__.C instance at 0xb77a29cc>
>>> c.A
<bound method C.A of <__main__.C instance at 0xb77a29cc>>
>>> c.A()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: A() takes no arguments (1 given)
>>> c.B
<bound method C.B of <__main__.C instance at 0xb77a29cc>>
>>> c.B()
0931デフォルトの名無しさん
2011/02/09(水) 03:53:04表記上だけっぽいね。
In [1]: class Klass:
...: def f(self):
...: pass
...:
In [2]: def _g(self):
...: pass
...:
In [3]: Klass.g = _g
In [4]: _g
Out[4]: <function _g at 0x8df3f44>
In [5]: Klass.g
Out[5]: <unbound method Klass._g>
In [6]: Klass.f
Out[6]: <unbound method Klass.f>
In [7]: _g
Out[7]: <function _g at 0x8df3f44>
0932Perl評論家
2011/02/09(水) 11:53:18Perldocなおってるぞ
0933デフォルトの名無しさん
2011/02/09(水) 12:17:19「メソッド定義で関数のように振舞うメソッドを定義することができる」
「そのように定義された、どこでもレシーバなしで呼べるメソッドを関数的メソッドと呼ぶ」
「さらにそれを関数と略して呼ぶ人も中にはいる」
という程度
オブジェクトに属するメソッドしか作れないので、本当の意味での function を作成することはできない
関数的メソッドが特定のオブジェクトかモジュールに所属していることを隠すことは本来できないので
わざわざ関数と別途呼ぶことは初心者の理解を妨げるただの欺瞞だという考え方がないわけでもない
>>915や>>926みたいに「じゃあ関数とメソッドの関係ってなんじゃらほ」ということになる
「Arrayクラスのjon関数」とか表現してしまう人も出る始末
0934デフォルトの名無しさん
2011/02/09(水) 14:36:25Rubyのモジュール関数は、どう解釈すればいいの?
「Rubyのモジュール関数」も「初心者の理解を妨げるただの欺瞞」の一つなのかな?
たとえばStandard MLのような関数型言語にもモジュールという概念はあって、
ある関数は特定のモジュールに所属していると考えることができる。そうであるならば、
「Rubyのモジュール関数」は「関数である」と解釈してもいいと思うんだけど....。
この話、継承がからむとややこしくなるから、クラスの概念は除外するよ。
0935デフォルトの名無しさん
2011/02/09(水) 14:56:44全てがオブジェクトでなければならないと決めているわけじゃないだろうし。
できるだけそうなるように作ったけど、便利なものは取り込んで行くという方針なのでは?
0936デフォルトの名無しさん
2011/02/09(水) 14:57:22モジュール関数というものもない(一応)
・ foo というメソッドがレシーバつきで呼べない private の設定になっている
・ foo という名前のメソッドがそのモジュールの特異メソッドとしても定義されている
・ つまり、普段は M.foo で使え、面倒なときは include M して foo でも使える
という状態を、他の言語を利用してきた人向けにモジュール関数と呼ぶことがあるというだけ
Ruby の attr_accessor で作ったメソッドを指して「Rubyにもアクセサがあります」と言ったらたぶんみんな怒るだろ
動作としては「いわゆるアクセサ」じゃないから
Ruby の文脈で外見が無理矢理それっぽく動作するものを探してそう呼んでるだけのグロテスクな存在
全て、ただのメソッド
0937デフォルトの名無しさん
2011/02/09(水) 15:08:04それをわざわざ別の概念で隠してしまうのが、心情的に不快なのだろう
「これはputs関数です」
「いやKernelクラスのputsメソッドを呼んでるだけだよね? ふつうにputsメソッドでよくね??」
irb> Kernel.__send__(:puts, "a")
a
0938デフォルトの名無しさん
2011/02/09(水) 15:13:580939デフォルトの名無しさん
2011/02/09(水) 15:19:00というところの認識からして違う
メソッドと関数を同一視する言語の人から見ればそれは奇妙だろう
0940934
2011/02/09(水) 15:22:41>・ つまり、普段は M.foo で使え、面倒なときは include M して foo でも使える
Standard MLには(Rubyのincludeに相当する)open宣言というのがあるから、
普段は「関数」を M.foo で使え、面倒なときは open M して foo でも使える。
もちろん open宣言は対話環境(インタプリタ)でも利用できる。ということは、
「Standard MLの関数」とは、Standard MLの文脈で外見が無理矢理それっぽく
動作するものを探してそう呼んでるだけの「グロテスクな存在」なのかな?
0941デフォルトの名無しさん
2011/02/09(水) 15:41:14メソッドである時点で関数とは呼べないのだ、という認識がずれてるな
Rubyのメソッドは関数のようなかっちりしたものではない
もっとふにゃっとした、オブジェクトがないと立っていられない類の概念
0942デフォルトの名無しさん
2011/02/09(水) 15:46:22関数型のパラダイム持ち込まれても困る
N88-BASICにクラス持ち込まれても困るだろ
0943デフォルトの名無しさん
2011/02/09(水) 16:53:260944Perl忍者 ◆M5ZWRnXOj6
2011/02/09(水) 18:46:200945デフォルトの名無しさん
2011/02/09(水) 19:08:550946デフォルトの名無しさん
2011/02/09(水) 19:11:340947Perl忍者 ◆M5ZWRnXOj6
2011/02/09(水) 19:31:590948デフォルトの名無しさん
2011/02/09(水) 19:36:51アプリケーションの機能に言語設計上の特性が影響するとは思えないんだが…
0949デフォルトの名無しさん
2011/02/09(水) 19:56:170950デフォルトの名無しさん
2011/02/09(水) 19:59:54プログラム保守上の難易度とアプリケーションの機能にどんな関係が…
0951デフォルトの名無しさん
2011/02/09(水) 20:27:12>プログラム保守上の難易度とアプリケーションの機能にどんな関係が…
ごめん。煽りでなしに、バカだから何いってるのかわからない。
やりたいのは産業用ロボットのシミュレーションで、モータのパラメータや、
重心位置、アーム座標やモータの位置、先端速度・加速度なんかの似たパラメータを
含むものをオブジェクトとして、まとめてしまいたい。
で、オブジェクトとしてまとめても、アームの形状や軸数、
物と衝突したときなんかは、更新するときの式が微妙に変わってくる
後はブロック線図を、どうプログラムに落とすのかが気になったので
どんな感じに設計してプログラム書いてるんだろーって思って1行レス
0952デフォルトの名無しさん
2011/02/09(水) 20:32:10更新するときの式で、その微妙に変わってくる部分を
アームオブジェクトや衝突対象のオブジェクトに訊ねるor任せる、じゃね?
0953デフォルトの名無しさん
2011/02/09(水) 20:43:56アプローチはいくつかあるが、あなたがちょっとオブジェクト指向について勘違いして
いる節があるので難しいかもしれない。
1) 産業用ロボット全体のシミュレーションをオブジェクト指向言語ででっちあげる。
※言語が変わるだけで、全般的なプログラム設計自体はさほど変化ない。
2) オブジェクト指向言語によって、有意な規模で分割した産業用ロボットの各パーツ
毎にシミュレートさせた総体として、結果産業用ロボット全体のシミュレーションを
行う。※すごくやっかい、オブジェクト指向と産業用ロボットそのものに対する詳細
な理解が必要。
1)がオブジェクト指向から最も遠い使い方、2)がその正反対。
0954デフォルトの名無しさん
2011/02/09(水) 21:17:59そんな感じに作ってはいたんですが、オブジェクトによっては不要なパラメータ出てきたので、
他の方々はアームオブジェクトを派生させるのかなとか、
数式部分だけオブジェクトにしてたりするのかなとか、
>>953
やってみたかったのは2の方です。モジュール毎にテストして、最後に組み合わせたかったので。
OOPについて理解してない状態で、パラメータやオブジェクトを後から追加していったら、
楽に実験できるかと思ってたんですが、かえって泥沼にハマった記憶があります。
後からコードを継ぎ足していくような書き方には向いてないんですかね?
それとも、入門者で設計が不味かったでしょうか?
0955デフォルトの名無しさん
2011/02/09(水) 21:42:46> 後からコードを継ぎ足していくような書き方には向いてないんですかね?
オブジェクトの振る舞いは大抵そうやって継ぎ足していくというか、派生オブジェクトは
まさにそうやって作られる。
> それとも、入門者で設計が不味かったでしょうか?
というより、直す時になるべく少ししか弄らないようにしてない?
部分的に弄ってなんとかしようとしてオブジェクト的には台無しとかよくあるよ。
オブジェクト化の副産物として、各属性や手続き(メソッド)は割と独立しているから
ばらしてオブジェクトその物を作り変えてしまうことも(俺は)よくやるよ。
0956デフォルトの名無しさん
2011/02/09(水) 22:34:150957デフォルトの名無しさん
2011/02/09(水) 22:47:230958デフォルトの名無しさん
2011/02/09(水) 22:54:320959デフォルトの名無しさん
2011/02/10(木) 01:50:47>>941が書いてるのはそう言う意味じゃないと思うよ。
0960デフォルトの名無しさん
2011/02/10(木) 11:44:500961デフォルトの名無しさん
2011/02/11(金) 00:49:58ttp://mtl.recruit.co.jp/blog/2010/11/qconsf_1.html
> 最後に余談ですが、QconSFの話の中でPerlは誰も話題にしてませんでした。
> MTLではPerl多いのですが…。JavaやRubyが多いコミュニティのようですね。
> Pythonもたまに出てくる。PHPはFacebookで使ってますが「なぜPHP使ってるの?」
> なんて質問が出る始末…。地域によって流行があるものですね。
0962Perl評論家
2011/02/11(金) 01:06:11perl使われてないとか気にしたことないよ
おまえさあ 使われてないとか きにしてんの?
俺はPerlが凄いとおもってんだよ
お前きにしてんだろ? 今流行の言語は〜〜だ Perl?時代遅れ みたいな
あのさあ お前はばかだろ?愛着とかないの?
思い入れとかないんだろうなあ、かっこつけて生産重視とかでしか見てないんだろ?
そんな、プログラミングには感情的なこと入らないみたいな
だろ? お前がプログラマならその流行に便乗してもしかたないけどさああ
お前みたいなカスはすぐ物とか捨ててソウだな 大事にしなさそう
物を大事にしないやつは帰れカス
もう1回教育受けなおしなさい^^;
0963デフォルトの名無しさん
2011/02/11(金) 01:18:19いまさら新規案件でも使う気にならない
リプレースの機会があればガンガン乗り換えてる
未練とか愛着とか全く感じないね
0964デフォルトの名無しさん
2011/02/11(金) 03:08:04でも、もう消していいんだね。
0965デフォルトの名無しさん
2011/02/11(金) 04:28:37乗り換え先の言語についてkwsk
0966デフォルトの名無しさん
2011/02/11(金) 05:42:32あれは元々単なるテキスト処理言語であって、それ以上でもそれ以下でもない
一時期Web言語として名を馳せたのは、テキスト処理とWebプログラミングが非常に相性が良かったからで
そもそも目的外の使い方をしておいて失敗作だの未練だの愛着だのワケわかんね
0967デフォルトの名無しさん
2011/02/11(金) 05:46:09pearlはweb用途以外でも糞だろ
0968デフォルトの名無しさん
2011/02/11(金) 05:53:410969デフォルトの名無しさん
2011/02/11(金) 05:55:35今は全く反省していない
0970デフォルトの名無しさん
2011/02/11(金) 06:13:45最初から完成された言語なんて無い訳だから、どんな言語も多少は
しがらみを持っている。それが歴史の古い言語なら尚更。
0971デフォルトの名無しさん
2011/02/11(金) 06:35:57DirectShow のスレッドと迷ったけど、
CE 特有の癖があるかも + ほんとうに DirectShow なのかわからないので
とりあえずこっちに。
PlatformBuilder6
バッテリー警告とかで、
システム全体のサウンドを停止して
自分の警告音だけをならす方法ってありますか?
警告音を鳴らし始めるときに、すべてのサウンドを停止して、
警告音が鳴ってる間になろうとする、ほかのサウンドをブロックしたいのです。
DirectSound だと排他っていうみたいなのですが、
DirectSound はもうないようなので。
0972Perl評論家
2011/02/11(金) 08:15:13消えろよはやく グローバルオタうぜえ
0973デフォルトの名無しさん
2011/02/11(金) 11:12:050974デフォルトの名無しさん
2011/02/11(金) 13:05:310975デフォルトの名無しさん
2011/02/11(金) 13:54:45計算機言語を糞呼ばわりする奴は糞。
0976デフォルトの名無しさん
2011/02/11(金) 14:30:430977デフォルトの名無しさん
2011/02/11(金) 17:56:38Perl評論家w 必死すぎるww
0978デフォルトの名無しさん
2011/02/11(金) 17:59:42反論するときの必死さがそっくり。
>>970
>糞な所が無い言語というのも中々無い物だがな。
その通り。糞のない言語なんてない。あるのはどのくらい糞が多いか少ないかだけ。
もちろんPerlは糞が多い。
0979デフォルトの名無しさん
2011/02/11(金) 18:15:27COBOL使われてないとか気にしたことないよ
おまえさあ 使われてないとか きにしてんの?
俺はCOBOLが凄いとおもってんだよ
お前きにしてんだろ? 今流行の言語は〜〜だ COBOLl?時代遅れ みたいな
あのさあ お前はばかだろ?愛着とかないの?
思い入れとかないんだろうなあ、かっこつけて生産重視とかでしか見てないんだろ?
そんな、プログラミングには感情的なこと入らないみたいな
だろ? お前がプログラマならその流行に便乗してもしかたないけどさああ
お前みたいなカスはすぐ物とか捨ててソウだな 大事にしなさそう
物を大事にしないやつは帰れカス
もう1回教育受けなおしなさい^^;
0980デフォルトの名無しさん
2011/02/11(金) 18:21:190981デフォルトの名無しさん
2011/02/11(金) 18:31:25>Javaに叩かれてたころのコボラーにそっくりだ。
『コボルなら!俺でもコボルなら見下せる!』みたいな輩がいたって事かな
自分は一度も見た事無いけど、そういう世界に住んでる人もいるのかな
0982デフォルトの名無しさん
2011/02/11(金) 18:46:100983デフォルトの名無しさん
2011/02/11(金) 20:12:39これは素晴らしい
0984デフォルトの名無しさん
2011/02/11(金) 20:37:55世界的に見て、ウェブ系だとPHPが圧倒的に普及してる。PythonはUNIX系OSのシステムツールって分野も含めて、そこそこ。
RubyはRailsと同義語みたいな扱いで、ウェブ系に限ればやっぱりそこそこ。
俺はPerl6は凄く良いと思うけど、いつまで経ってもリリースされないんじゃどうしようもない。
今さらarrayリファレンスをforで回せるようにするとか、いつまでもPerl5にこだわっても意味ないと思うんだよな。
0985デフォルトの名無しさん
2011/02/11(金) 20:42:47Pythonってもはやそこそこじゃないんじゃない?
一応今月のTIOBEでPHP抜かしちゃったし。
日本だとまだまだマイナーだけどな。
0986デフォルトの名無しさん
2011/02/11(金) 20:43:530987デフォルトの名無しさん
2011/02/11(金) 20:46:20ただし、Web2.0系って言うの?その手の自社コンテンツ持ったスタートアップ企業だと、確かにPHPよりPythonかRubyの方が多いと思うけど。
その辺は日本も海外も同じだな。日本でPHPが強いのは中小の受託系制作会社だから。
0988デフォルトの名無しさん
2011/02/11(金) 20:51:44銀行の給与計算では今でも重宝されてんじゃねーの?
講義で教授が言ってたお!!趣味グラマやweb系には、
カラツバ法なんて永遠に巡り会うことなさそうだけど
計算機科学って、どこで使うの?
0989デフォルトの名無しさん
2011/02/11(金) 21:25:50いつの間にか更新されてたんだな。
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
0990Perl評論家
2011/02/11(金) 21:37:39WEB系は中小のほうがかっこいい
0991デフォルトの名無しさん
2011/02/11(金) 21:44:0816位のAdaとか意味不明の躍進
今更何かあったのか
0992デフォルトの名無しさん
2011/02/11(金) 21:55:49下層ながらにも徐々に確実に勢力を伸ばしているc#が気になった
個人的には、ミゲル・デ・イカザ萌えなので、
MicrosoftやGNU、Oracle,Googleの思惑を越えて,一番に流行ってほしいが
0993デフォルトの名無しさん
2011/02/11(金) 22:02:16http://www.ortop.org/NXT_Tutorial/
Goの暴落は悲しいな…。
0994デフォルトの名無しさん
2011/02/11(金) 22:19:35少しも金に結びつきそうにないから、
使う人は好事家に限られるでしょ
アプリケーションへの組込み用途に特化したluaの方が、
まだまだ今後も需要が伸びそう
これ見る限りじゃ、LLはpythonの一人勝ちっぽいな
0995デフォルトの名無しさん
2011/02/11(金) 22:31:55PHPを見落としてるぞ。
しかし、Pythonが何処で使われてるのか、さっぱり分からんな。
UNIX系OSのツールでもPerl程度ぐらいにしか使われてないし。
GAE人気だとしたら、Javaは右肩下がりなのが分からん。
0996Perl評論家
2011/02/11(金) 22:33:410997Perl評論家
2011/02/11(金) 22:34:370998デフォルトの名無しさん
2011/02/11(金) 22:35:50TIOBEのリストは現実世界で実用に使われてる/使われてないとはあまり関係はないよ
単に話題になってるかどうかだから
そうじゃなかったらFortranあたりを差し置いてGoが出てくるなんてありえんだろ
0999デフォルトの名無しさん
2011/02/11(金) 22:38:10ぱっと思いつくのはAnaconda、Yum、Mailmanとか
http://en.wikipedia.org/wiki/List_of_Python_software
1000Perl評論家
2011/02/11(金) 22:43:041000!!!!!!!!!!!!!!!!
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。