Ruby v.s. Python
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
NGNGであるこの2つの言語。
守備範囲はまったくといっていいほど同じだと思うのですが、いろんな意味で
勝つのはどちら?
00021
NGNGちなみに私はPython派。
0003デフォルトの名無しさん
NGNG持っているかわかりますか?」だと間違いなくRuby。
eval.cが実行でgc.cがGCでmain.cがメイン。
Pythonはどこがメインかさえわからなかった。
0004デフォルトの名無しさん
NGNGわからんかった。
0005名無しさん@お腹いっぱい。
NGNG0006デフォルトの名無しさん
NGNGRubyのソースは綺麗に分類されててほんとわかりやすいよな
0007( ´〜`)
NGNG0008デフォルトの名無しさん
NGNG.NETに対応するらしい。
これで勝ったも同然でしょ。
0009デフォルトの名無しさん
NGNGでもrubyの方が日本語ドキュメントいっぱいあってよさそう。
んなわけで、いろんな意味で日本において勝つのはruby。
0010デフォルトの名無しさん
NGNGこれからどこまで追いつけるか、だね。
0011デフォルトの名無しさん
NGNGなんか、そういうこと言うと、俺が厨房ってことになりそうで、
言いづらい雰囲気がある。
0012デフォルトの名無しさん
NGNGそう?日本語ドキュメントあまり無いと思う。
0013デフォルトの名無しさん
NGNGそうなの?でもPythonよりは多いよね?
つかPythonって何?(汗
C初心者はもう寝ます。
おじゃましました。
0014デフォルトの名無しさん
NGNG> .NETに対応するらしい
マジっすか? ここまで ms に迎合することないのにな、と思う。
ちなみにオレにとって Ruby は読みにくい。ほんと読みにくい。
厨房と言われようが何と言われようが、あれだったら Perl のほうがまし。
つうわけでオレは Python 派。
Ruby は「さくさく書きたいけどぉ〜オブジェクト指向もやりたいのぉ〜」
っつー矛盾してるような発想がそもそも嫌い。中途半端。
0015ぎこるび
NGNG>>14
汚さの下限はPerlの方が勝っていると思いますけどね。
ちなみにオブジェクト指向だからさくさくなんですけど。
OOなんて実に簡単だと錯覚できます。
0016デフォルトの名無しさん
NGNG問答無用。
0017デフォルトの名無しさん
NGNGpython=ZIP
みたいなもんか。どんなに流行っても、どんなに良くても
(pythonが悪いという意味ではない。俺はむしろpython好き)、所詮国内。
数は力。
sslとかgtk、Qt、IMAP、POP、FTP、SMTP、その他モジュールがたいていあるので
すげー楽。
0018ぎこるび
NGNGという気分になってなかなか幸せです。と言えるような貢献はしてないですが。
まー、僕の場合は仕事でプログラミングしているわけじゃないので、
現時点で使用に耐えられるかを気にせずRubyを使えるのでしょうけど。
001911
NGNGおお、やっぱ読みにくいよな。
同じこと考えてる人がいて嬉しい。
スコープの開始と終了の対応がわかりにくいんだよなぁ。
0020デフォルトの名無しさん
NGNGソースがみやすいというのは言語に優越をつけるうえで
かなり重要な要素だと思います。
簡単にみやすいソースがかけるほうが
がんばらないとみやすくならないソースより
作りやすいでしょうから。
0021デフォルトの名無しさん
NGNGやっぱりprivate属性もつけられたほうがいいんじゃない?
属性があるとメンバの有効範囲があらかじめ特定できて読みやすいと思うし
002214
NGNG> OOなんて実に簡単だと錯覚できます。
「OOなんて実に簡単」なのはいいとしても (まあ概念的には単純だろう)、
「オブジェクト指向だからさくさく」というのがわからん。
なぜそうなる? 概念的に単純だからといって、かならずしもさくさく書ける
とは限らないでしょう。
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNGその辺、名前を変えるとかして対応するらしい。
ユーザーのマナーに頼ってるらしい。
0026デフォルトの名無しさん
NGNGPythonの.NET対応はそれでユーザー層が広がることを考えれば
Pythonにとって、いいことだと思うぞ。
Rubyは間口が狭くて失敗してると思うが。
0028デフォルトの名無しさん
NGNGRubyって、Windozeじゃ使いもんにならん。ちっとはUnix以外のOS
のこと考えてくれよ。
0029ぎこるび
NGNG反例:Perl。
確かにRubyのソースは謳い文句にするほど読みやすくないですね。
19さんの言っていることに同意です。
きれいに書いたCの方が読みやすいです。
>>22
オブジェクト指向設計は難しいですが、
整備されたクラスライブラリを使用する限りにおいては
さくさくじゃないですか?DelphiやJavaを見ても。
RubyはArrayやStringが強力なので楽です。
>>28
作者がまったくWindows使わないみたいですからねえ。
Windows使うRubyユーザが何とかするしか。
0030秘密ちゃん
NGNG0031デフォルトの名無しさん
NGNG>確かにRubyのソースは謳い文句にするほど読みやすくないですね。
綺麗/きちゃないは個人の好みが大きいのであまり語りたくはないが、Ruby/Python共に
Perlには勝っているのでまあ良い。双方にポイント。
Python:+1(1)
Ruby :+1(1)
# 俺の好みとしてはPythonの勝ちだ。
>整備されたクラスライブラリを使用する限りにおいてはさくさくじゃないですか
クラスライブラリの充実度、という点では Python >>>>> Rubyなので
Pythonの勝ち。
Python:+1(2)
Ruby : 0(1)
>作者がまったくWindows使わないみたいですからねえ。
Guidoだって使わんぞ?
Pythonは移植性を結構ちゃんと考えてる。Rubyは(というか作者は)
非Unix環境を排除しようとしている気がする。
Python:+1(3)
Ruby :-1(0)
0032デフォルトの名無しさん
NGNGもともとの英語のドキュメントがしっかりしてるから、
それを訳すだけでいいみたいだ。
0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGとりあえず、翻訳プロジェクトのページならある。
http://www-acc.kek.jp/WWW-ACC-exp/KEKB/Control/Activity/Python/doc-j/PythonTranslationProj.html
003525
NGNG_付きのファイルスコープのシンボルはimportで個別に指定しないと
取り込まれないってだけだろ。
オブジェクトに_付きのメンバがあっても外部からアクセスできる。
0037虹
NGNGですか?
0038デフォルトの名無しさん
NGNGRubyのソースって
1. Ruby言語で書かれたプログラムの事ですか?
2. Rubyインタプリタのソースコードの事ですか?
どっち?
0039デフォルトの名無しさん
NGNG}
if a == b
end
あなたはどちら派?
004011
NGNG{}の方がendよりも視覚的にわかりやすいし、
endが入るとごちゃごちゃした感じになる。
「end if」とかと比べても、「end」だけだと、
何の終わりかよくわからないし。
対応する「begin」があった方がまだいいかもしれない。
あと、関数にブロックを渡したりするだろ?
あれが、何やってるのかわかりにくい。
yieldとかがどういう使い方されてるのか予測しずらいから
このブロックは何の役目で使ってるのか?とか迷う。
eachとかtimesとかopenとかにブロックを渡すのはさすがに
わかるが。
0041デフォルトの名無しさん
NGNGif ( a == b ) {
派です。
でも'{'の位置はどっちかというと
if ( a == b )
{
です。
0042ぎこるび
NGNG比較するならもっとちゃんと論点を決めてやった方がいいですね。
言語仕様、ライブラリ、処理速度、習得容易性、ユーザコミュニティなどなど。
>>40
パッとした見た目の問題ですけど、結構重要かも知れないですね。
{}は記号的なので begin...end よりも予約語に紛れることなく識別しやすい。
次善の策として判りづらいときには end #class や end #def と書いてます。
ブロックはきちんと処理内容に即した名称を持ったメソッドに渡すならば
判りづらいということはないと思います。例えば Enumerable 系のメソッドなら。
まあ強力さと理解容易性のトレードオフですね。。。
0043***主観*** による比較 - part 1
NGNGPerl:
Perlの掲示板やMLなどは少ないように感じます。
良い本やWWW上に大量の情報があるから??
PerlというとほとんどがCGIについてのような。。。
Ruby:
MLのアーカイブにはRuby使いでなくても楽しめる投稿がわりとあったりする。
(特にRubyの実装などのついて)
しかし、変な信者が騒ぐので不愉快になることも多数あり。
Python:
使ってないのでわからない。
0044デフォルトの名無しさん
NGNG「楽に書ける」ならわかるけど「楽しく書ける」が言語の属性であるものか
と思ったが、やってみたら本当に楽しいんだなこれが。
Pythonも読みやすいし書きやすいけど、さすがに楽しさ増加能力はない。
0045デフォルトの名無しさん
NGNG__を付けるの間違いだー
0046デフォルトの名無しさん
NGNGそこまでいくと評価が主観的すぎるような… >>44
どこがどのように楽しいのかを言えないと、ただのイタい信者と同じだと思うんですが…
0047デフォルトの名無しさん
NGNG0048虹
NGNG言葉足らず失礼。Rubyで書かれたスクリプトのことです。
ブロックの対応はインデントで見るから、{}でもendでも見やすさ
は変わらないと思う。ちなみに自分はイテレータ(ブロック渡し)
のときは{}でそれ以外はend。
004921
NGNG__ 付けたらprivateになったなった。
どんな言語でも _ 付けるほど暗黙的によりプライベートな変数になる
っていう意識だけはあるけど、それが仕様だとは、おもろい言語だな<Python
0050>49
NGNGそれに意味をもたせてしまう言語ってPythonしか見たことない。
Python以外にあるのかな?
005111
NGNGインデントだけってのはすっきりしてて、またいいよな。
endだと余計な物が増えてやっぱり汚いし、読みにくくなると思う。
入れ子が多いとと特にね。
この辺は各自の主観だろうけどな。
0052デフォルトの名無しさん
NGNGたしかoccam(綴り違うかな? オッカムってやつ)も
インデント強制でそれに意味を持たせる。
トランスピュータって何年前だろ。
005344
NGNGプログラムは論理的なものだけど、プログラミングは人間がすること
だから、論理だけではわりきれないよ。書くのが楽な言語ならば、ど
のように楽か実証的に説明できるけど、楽しいことが何故楽しいか
説明するのは(不可能ではないけど)難しい。
例えばスキーが好きな人に、スキーの何が楽しいか説明しろと言っても
「とにかく面白いからまずやってみなよ」と言うでしょ。俺が言いたい
のはそれだけ。
それから今の俺はもうRuby信者かもしれないけど、pythonだって食わず
嫌いじゃないよ。programing pythonは原書と訳で一度ずつ熟読したし、
日々のツール程度だけど半年くらいは実際に使ってた。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG漏れの無い、真のガベージコレクションを搭載してるらしい。
しかも世代別でパフォーマンスもいい。
だから、ガベージコレクションはRubyの方が優れてる
というのは間違い。
0057デフォルトの名無しさん
NGNGっていうか、単に使う人だけのから見るとGCが
リファレンスカウントだろうがマークアンドスイープだろうが
何だろうが関係ないんだよ、、、、
0058デフォルトの名無しさん
NGNGPythonをちょっと使ってみようとダウンロード中です。
Pythonはちょいっとタブキーを押せば
{
}
を書いたのと同じって認識でいいの??
それにしてもライブラリが凄いね、、
何から何まで節操なくというか、、、
17. Python Language Services とか面白そう。
http://www.python.org/doc/current/lib/lib.html
005958
NGNG節操がないのはあれかもしれないけど
それ並にドキュメントがあるってのは安心感があるね。
006058@Perl only
NGNG./configure --prefix=/usr/local; make installで終わった。
なんか見るかぎりPythonって凄いかも。
そろそろスクリプト言語の世代交代がはじまるのか!?
Rubyはオブジェクト指向のすごい人がI love Rubyとか言ってるみたいだから
それはそれで流行るんだろうなあ。
0061デフォルトの名無しさん
NGNGてことは、せいぜいSmalltalk止まりかな、って予感が。
いや、Smalltalkの登場や存在の意義を軽んじてるわけじゃなく、
市場での力という意味で。
0062デフォルトの名無しさん
NGNG(ここにはTabがある)print x
とするとエラーになる。
x = "hello"
while 1:
(タブ)print x
(タブ)break
だとOKだった。
おぉぉ。シフトキーを無駄に押さなくて良いね。
とりあえず見つけたWebpage。
http://www.zob.ne.jp/~hide-t/comp/python/
http://www.dblab.is.tsukuba.ac.jp/%7elunatic/proglang/python/index.html
http://www.zob.ne.jp/~hide-t/comp/python/tut-ja/index.html
0064デフォルトの名無しさん
NGNGrubyからpythonのライブラリを呼び出そうなんてモジュールもある。
rubyらぶな俺としてはnativeなライブラリがもっと増えると幸せ
なんだけど、こういう手段もある、という事で。
0065joke
NGNGAs they're all written in C, they can never beat C the almighty.
(Summary: Use what you want to use. period.)
006658@Perl user%若干Python
NGNG%XXのエンコードはどうやるのかと思ってたら勝手にやってくれるらしいです(^^;。
#!/usr/local/bin/python
import cgi
f = cgi.FieldStorage()
print "Content-type: text/html"
if not f.has_key( "mode" ):
mode = "read"
else:
mode = f["mode"].value
if mode == "write":
print "書き込み"
elif mode == "read":
print "読み込み"
else:
print "モードエラー"
これはいいですなぁ。思わずディスプレイの前でにやり(シフト押さなくていいし)。
戸惑うこともあるけどドキュメントがあるので全然困りません。
とりあえず、風呂に入ります。
0067デフォルトの名無しさん
NGNGpythonのコードを書き込む時は注意しないとね
006858
NGNGそうですね。タブが。。
とりあえず出来ました。
誰か、書き込まれた順番どおりに表示するようにしてください。
re.splitとrange( len( ...を駆使すれば出来そう、、、
#!/usr/local/bin/python
import cgi
import re
f = cgi.FieldStorage()
print "Content-type: text/html"
print '<html>'
print '<head>'
print '<title>Message Board(written in Python)</title>'
print '</head>'
print '<body>'
print '<h1>Message Board(written in Python)</h1>'
print '<form action="pbbs.cgi" method="POST">'
print '<input type="text" size="55" name="msg">'
print '<input type="submit" value="書き込み">'
print '<input type="hidden" name="mode" value="write">'
print '</form>'
print '<p>
0069デフォルトの名無しさん
NGNG0070>69
NGNGただ図体がそれなりにでかいので、インタプリタ自身のロードに時間がかかるという意味では、
CGIみたいな使い方は、Perlの方が速く感じるかも。
0071デフォルトの名無しさん
NGNG図体はPerlの方が、でかそうだが。
0072>71
NGNG/usr/local/bin/perl 633148 bytes
/usr/local/bin/python 1834484 bytes
こんくらい差があったっす。Python 1.5.2, Perl 5.004 っす。
stripはしてないっす。
ちなみに、Python 1.4はメチャ遅いっす。
1.5.x になって2倍くらい速くなったとか言われてて、
2.0 は x86系/Gcc2.95.2 ではさらに速いらしいっす。
UltraSparcII/Gcc2.95.2では、1.5.2の方が2.0よりも
速いっていうベンチマーク出ちゃって、ちと悲しい思
いしてます。
0073デフォルトの名無しさん
NGNGスクリプトだけでは実用的なアプリケーションは書けないんだから、この差
が大きいと見た。(文法はendのないpythonの方が好きなんだけど)
007458
NGNGKconvというのがあるようだけど、、、
>>73
それって、RubyだとGCがMark and Sweepなので自動的にやってくれて
余計な事を考えなくていい。ってことですか?
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGって、まつもと某は言ってるね。信者?(笑
そんなかわんないよ、両方書いたけど。参照カウントが面倒くさいったって
普通はたいしたことない。
むしろドキュメントやサンプルがたっぷりあるPythonの方が有利だと思うよ。
0077>73
NGNGって、アプリ毎に拡張モジュール作りまくるの?
ふつーはプラットフォーム固有のAPI呼んだりするとき以外は必要ない
でしょ。よっぽどパフォーマンスがシビアならともかく...
0078デフォルトの名無しさん
NGNGWSHは嫌いなのでRubyかPythonのどっちかに乗り換えたいのです。
0079デフォルトの名無しさん
NGNGテキスト処理言語 あーんど Unix指向。Pythonはスクリプト言語風
汎用プログラミング言語だ。
0080名無しさん
NGNGactivepythonてのがあるが、
>WSHが嫌い
じゃあムリだ。
0081デフォルトの名無しさん
NGNGない。
0082>80
NGNG>じゃあムリだ。
???意味不明。
0083デフォルトの名無しさん
NGNGWSHは言語ではない。実行環境。Windows自身がスクリプトの実行ホストとなること。
PythonからCOMを使うときはWSHの枠組みにPythonを当てはめる必要があるので、>>80
の言う通り。
PythonからCOMを使う例はpython.orgにあったような記憶がある。もちろん英語。
0084名無しさん
NGNGperlでもjsでも同じ。
008558
NGNGhttp://www.hpl.hp.com/personal/Hans_Boehm/gc/
こういうのを使ってみるとわかるんですが
mallocした後、freeしなくていいので意外に(予想以上に)便利ですよ。
ぜひお試しあれ。
0086デフォルトの名無しさん
NGNGRubyは大規模開発には向かいないかも知れないって作者が
言ってなかった?
PythonとRubyの守備範囲がそのヘンで違ってると思うが。
0087ぎこるび
NGNGCの構造体をRubyのオブジェクトとして扱いたいときには
マクロ Data_Make_Struct を使ってラッピングします。
その時に破棄時に呼ばれるコールバック関数を登録できるので、その関数で適当にfreeします。
既存のCライブラリをRubyで使えるようにラッパーライブラリを作るのは簡単ですよ。
>>78
Ruby256倍本の邪道編と合わせてどぞ。
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/
0088デフォルトの名無しさん
NGNGミスで数珠つなぎにオブジェクトがリークしまくる怖さを知らない。C++
のauto_ptrみたいな仕組みがなきゃやってられん。
0089デフォルトの名無しさん
NGNGえ?最悪でもミスった変数がリークするだけだろ?
0090デフォルトの名無しさん
NGNGの言う通り
そんな必要ねーよ。あほか。
import win32com.client
xl = win32com.client.dynamic.Dispatch("Excel.Application")
xl.Visible = 1
xl.Workbooks.Add()
xl.Workbooks(1).Close(0)
xl.Quit()
xl=None
0091ぎこるび
NGNGhttp://homepage1.nifty.com/markey/ruby/win32ole/index.html
http://member.nifty.ne.jp/masarl/article/ruby-win32ole.html
http://www.moonwolf.com/ruby/
0092デフォルトの名無しさん
NGNGリファレンスカウントの増減をしなくちゃならないというのは、
mallocしたらfreeしなくてはならないってのと同じような
ものだろ。freeしないと、どんどんリークすることもある。
今までのCプログラマはauto_ptr無しで、優秀なプログラムを
量産してきたんだから、なきゃやってられんというほど大げさな
ものでもないと思う。
0093デフォルトの名無しさん
NGNGそうそう、mallocしたらfreeすることやlockしたらunlockするのと同じ。
それだけのことだけど、それができないプログラマが多いから、C++の
例外処理やコンストラクタデストラクタを使った資源管理があれだけ
強調されるんじゃないの?
確かに当然のことを軽々とやる優秀なプログラマーはいるけど、そういう人
しか(まともな)拡張ライブラリが書けないのと普通のプログラマーが書ける
のとでは随分違うと思う。
0094デフォルトの名無しさん
NGNGそれって普通の人じゃなくて無能な人だよね?
そのぐらいできないようなレベルだったら、PythonでもRubyでも
拡張ライブラリは書かないほうが無難だと思うけど。
どっちにしろ、ほとんどの拡張ライブラリでは、リファ
レンスカウントの管理なんて大した手間じゃない。管理
するのが面倒なほど複雑な処理はPythonで書き、拡張
ライブラリ側では単純にパラメータを参照して戻り値を
返すだけ、っつーパターンがほとんどだし。
SWIG使えばPythonのオブジェクト見ることすらないしね。
0095デフォルトの名無しさん
NGNG・関数呼び出しで、リストが帰ってきた場合、そのリスト
のUnrefだけで良いのか、個々のオブジェクトをUnrefするのか。
・引数にオブジェクト参照がある時、そのUnrefをするのは呼び出し
側なのか、呼び出される側なのか
・参照(PyObject*など)を返す関数があったとき、それは
参照のコピーなのか、実体のコピーなのか
・1つのインターフェイスから複数のインターフェイスを導出した
ときのUnref忘れ
・参照のコピー/実体のコピーを常に意識しなければならない
・例外発生時、全ての参照をUnref
など、常にすべて考慮してプログラムを書くことを「普通」に求めるのは
難しいと思いますが。
auto_ptrなどのスマートポインタで避けられるものもありますが、
それだけでは避けられないものもあります。
>どっちにしろ、ほとんどの拡張ライブラリでは、リファ
>レンスカウントの管理なんて大した手間じゃない。
まぁ、拡張ライブラリに限れば大した手間じゃないことは事実ですね。
0096デフォルトの名無しさん
NGNGRuby信者は「偽物のGC」って言ってるけど、
世間的には、レファレンスカウント式も実用に使えるとされている。
0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNG多分「Unref」ってのはリファレンスカウントを
-1することを言ってるんじゃないかなあ。
http://www.iecc.com/gclist/GC-algorithms.html#Reference
0099デフォルトの名無しさん
NGNGJavaっていっても色々実装がありますよ。Sun, IBM, GNU(?)...
それにバージョンによっても違うのでは?
Mark-and-sweepだったと記憶しているのですが。
0100デフォルトの名無しさん
NGNGJDK1.1.?までとJDK1.2以降での違いもあるしね。
0101デフォルトの名無しさん
NGNGちょっとは言いたい事、整理しようね。
彼の気持ちを想像してレスすると...
まず、リファレンスカウントの原則は簡単。
オブジェクトへのポインタをどっかに覚えとくときは
インクリメント、忘れるときにデクリメント。
簡単だろ? リストの中のアイテムだってこの原則に従うだけ。
リスト自体への参照を保存するならリストをINCREFするし、リスト
中のオブジェクトへの参照を個別に覚えておく必要があるんなら
そいつをINCREFするだけだ。
参照か、実体かなんて区別をする所をみると95は素人のようだが、
とーぜん全ては参照だ。C++じゃないんだから、実体のコピーか、
なんてのは考える必要無し。Rubyだってそうだろ?
> まぁ、拡張ライブラリに限れば大した手間じゃないことは事実ですね
限ればって、他に何に使うんだ?
0102デフォルトの名無しさん
NGNGリファレンスカウントだけでは循環的な参照を検出できないので(?)、
リークが起きる。
しかし、最近のPythonは、工夫して、これを検出するようにしているから、
リファレンスカウントで、かつ、真のGCである。ということだろ?
リファレンスカウントだからって即偽物ということにはならないんだよ。
それで、UNREFやINCREFに関する問題は、GCの真偽とはまた別の話題。
010395
NGNG確かに簡単なんですが、それを使ってるとリークするのが不思議。
>参照か、実体かなんて区別をする所をみると95は素人のようだが、
>とーぜん全ては参照だ。C++じゃないんだから、
そのとおり。C++とごっちゃになってる。
>> まぁ、拡張ライブラリに限れば大した手間じゃないことは事実ですね
>限ればって、他に何に使うんだ?
ごめん。リファレンスカウントに関する一般的な話になってた。COMを
想定してた。
PythonにもRubyにも絡まないのでsage
0104101
NGNGまあね(笑)。 確かにミスは起きるけど、それはリファレンスカウントが難
しいからではない、ということ。注意して作って、ちゃんとテストすれば
防げる不幸だ。M&Sなんかと比べるとバグりやすいとは言えるけど、RCの利点
(アーキテクチャ非依存・簡単・オブジェクトが即座に開放, etc)を考え
れば妥当なトレードオフだと思う。
>>102 しかし、最近のPythonは、工夫して、これを検出するようにしているから
いまのGCは当てにしない方が良い。__del__メソッドを持ったインスタンス
は開放されずにgc.garbageに溜まっているだけだったりする。基本的には
きっちりRCを管理して、バグってたらgcが開放してくれるかも知れない、
程度に考えた方が安全。
0105デフォルトの名無しさん
NGNG0106デフォルトの名無しさん
NGNG0107デフォルトの名無しさん
NGNGvoid method1()
{
a = new A(...)
}
pythonでは、method1を抜ける時(含例外)にaのデストラクタ(相当のもの)は呼ばれるのかな?
呼ばれることを期待してクラス設計してもいいのかな?
例えばミューテックスのロック/アンロックをコンストラクタ/デストラクタでやるってのはマズい?
RubyはGCだからできないとわかったので、pythonにちょっと期待してる。
何か根本的に勘違いしてるといけないのでsage。
0108デフォルトの名無しさん
NGNG>Javaっていっても色々実装がありますよ。Sun, IBM, GNU(?)...
そりゃそうだが、リファレンスカウントの実装だと
リークするようなプログラムはどのみち組めないだろ。
Javaはリファレンスカウントの実装を前提にせざるをえない。
0109デフォルトの名無しさん
NGNGデストラクタ(__del__)は呼ばれる。けど、Cと違って、if節やwhile節は
スコープではないので、気を付けないといけない。
0110デフォルトの名無しさん
NGNGポインターを持ってる。こういうふうにツリー内のノードがルートや親へのポ
インターを持つケースは多いと思うのだが、python使いの人は意識してそうな
らないよう努力してるの?それともpythonだとインスタンス間で循環参照が
起こらない技みたいなものがあるのかな?
0111デフォルトの名無しさん
NGNGだから、最近のPythonは循環参照気にしないでいいんじゃないの?
0112デフォルトの名無しさん
NGNG0113112
NGNG0114110
NGNGそれはわかってるけど、1.Xを使ってた人はどういうふうに考えてたのかを知りたい。
0115デフォルトの名無しさん
NGNG0116デフォルトの名無しさん
NGNGあまり何かに依存せずに書けることではないかと思います。
Mark-and-sweepとかだとmarkする場所を知ってないとだめじゃないですか?
スタックとかグローバル変数とかアラインメントとか色々知っていないとだめだし。。。
0117デフォルトの名無しさん
NGNG基本的には循環参照にならないように努力する。
どーしてもだめなら、参照をきるためのメソッドを追加しとく、って感じかな。
0118デフォルトの名無しさん
NGNG何かあるでしょうか?
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNGというかimmutableな配列もどきをわざわざ用意するメリットって
何? というのが聞きたいのですけど。
0121デフォルトの名無しさん
NGNGmutableであるかどうかというのは、本来配列の属性であると思うの
で、属性としてではなく、別の組み込みのオブジェクトとして実装さ
れている積極的な意味ってあるのか? と思ったもんで。
なんか、ややこしくしているだけのような気がします。
0122デフォルトの名無しさん
NGNG0123デフォルトの名無しさん
NGNG実行時に変化しないのならコンパイル時に生成しておく
ことが出来るからじゃない?
速度を得るためとか。
0124デフォルトの名無しさん
NGNGそういう実装上の都合なんですかね。
このスレッドを見てPythonを使ってみようと思って「初めてのPython」
買って、勉強はじめたんだけれど、タプルに関してなんだか良くわか
ならかったんですよ。構文はきわめて単純で理解しやすいのに、何で
タプルと配列を分けるような冗長なことすんだろうって。
以下雑感。
インデントでブロックを表すのは最初は嫌な感じがしたけど、実際に
サンプルのコードを書いてみると気にならないですね。
クラスのメソッド定義でselfを引数に明示的に記述しないと駄目なの
はだいぶ嫌な感じ。
0125デフォルトの名無しさん
NGNGってのがわかるから、プログラム的に読みやすくなると思う。
0126デフォルトの名無しさん
NGNGでも、オブジェクトそのものは変更できないにしいても、
結合や反復、スライスとかつかって見かけ上の変更はできちゃうんで
あまりプログラムの可読性うんぬんとは関係ないような気がするなぁ。
0127デフォルトの名無しさん
NGNG行儀良く使ってればそんなことはないでしょ。
意図が読みやすくなるのは確かだと思う。
作法も何も無視すれば、いくらでも読みにくくかけるからね。
0128デフォルトの名無しさん
NGNGそれが素直に表せるというだけでも存在価値がある。
0129101
NGNGPythonには不要だとおもうけど。
0130デフォルトの名無しさん
NGNGまぁ、あるものを今更どうこう言ってもしかたないんで、そういう
もんだということで納得するしかないですけど、個人的には129さん
と同様、Pythonには不要だと思いますね。
Cのswitchやdo whileに該当するようなステートメントさえ持たない
ぐらい単純化しているのに、リストで代用できるタプルをわざわざ
設ける思想が判らないです。
0131デフォルトの名無しさん
NGNGWindowsでRubyだめだめ、ってほんと?
0132デフォルトの名無しさん
NGNG0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGいうこと。日本語に最初から対応している、日本語での情報が多い
こと。ARGFとかちょこっとしたフィルタ系のプログラムを作る上で
の便利機能があること(でも、これは賛否両論か?)
あと、イテレータは慣れると便利。
Windows2000上でRuby使ってるけれど、使い捨ての小さなスクリプト
を動かしてる分には特に問題なく使えてます。
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGだけかい(笑)
何故必要と思うのか、その必要性を説いてくれ。
0137デフォルトの名無しさん
NGNG日本語の情報では差は無いと思う。
Rubyってあるようで、実は少ないし、Python
は翻訳プロジェクトがあるから予想以上に多いし。
イテレータはapply、map、reduce、filterとlamda抽象を
組み合わせれば大抵こと足りる。
ところで、オブジェクト指向が徹底してるというのは、
Pythonとどこがどう違うの?
Pythonと比べてどう便利なの?作者の自己満足?
0138135
NGNGとりあえず、age目的だったんで。
なんか書いておこうってことで。(藁
まぁ、パフォーマンスの問題もあるし、目的が
想像しやすいってことかな。
・・・って思いっきりがいしゅつな意見だし。(藁
0139デフォルトの名無しさん
NGNGいうこと。日本語も通るし、パッチも出てる、日本語・英語に関わ
らず情報が膨大にあること。余計なフィルタ系のプログラムを作る
上で便利機能が無いこと(でも、これは賛否両論か?)
あと、イテレータに慣れる必要がないのは便利。
0140デフォルトの名無しさん
NGNGWinでちゃんとしたプログラム書こうとすると問題があるかも、
ってこと?何がまずいの?
0141デフォルトの名無しさん
NGNGそこが scheme 信者としては許しがたい…
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGえらい人にI love Ruby.と言わせた。
0144ぎこるび
NGNG一貫性があるということは例外をあまり覚えなくていいということだと思います。
まあ、UNIX主義なせいでUNIXユーザじゃない場合には、
UNIXの作法をある程度覚える必要があったりしますが。
既存のプログラマが移行しやすいようにするという方針だったんでしょう。
>>140
日本語ディレクトリ名・ファイル名がうまくいかないみたいですね。
>>141
メソッドをオブジェクトにはできますよん。
class A
def foo
puts "foo!"
end
end
foo = A.new.method(:foo)
p foo.type #=> Method
foo.call #=> foo!
0145デフォルトの名無しさん
NGNG日本語も、ましてや英語も少ない。
Pythonは、英語なら比較にならないほど大量にある。
0146自作自演
NGNGそれだけかよ………
0147ぎこるび
NGNGMethodクラス
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Method
>>145
膨大といってる人はいないような。。。
日本語のサイト数は多いです。
ただ、ほとんどがライブラリやアプリの配布サイトなので、
導入方法、FAQ、TIPS、チュートリアルなど、
初心者が入り込むためのドキュメントは相当不足してます。
# ruby-list に情報が集中している
とはいえ、他の言語でも C/C++ 以外は、
この辺りの情報はそれほど多くないような気がしますけどね。
0148デフォルトの名無しさん
NGNGこれも文化の違いか?
0150デフォルトの名無しさん
NGNG137と139を読み比べてみよう。
>>144
Rubyってはじめて見たんだけど。
> class A
> def foo
> puts "foo!"
> end
> end
うわ、きしょっ!beginなしでendだけ?
> foo = A.new.method(:foo)
この ":" はなに?
> foo.call #=> foo!
おえ、カッコ無しでメソッド呼び出し?なるほど、それで
A.fooで関数オブジェクト参照できないんだ
0151ぎこるび
NGNG>beginなしでendだけ?
begin があると冗長という理由からだと思います。
慣れれば気にならないですけど、ダメな人はダメみたいですね。
>この ":" はなに?
識別子に対応する Symbol オブジェクトが得られます。
Smalltalk のと同じなのかな?
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Symbol
>おえ、カッコ無しでメソッド呼び出し?
あーこれは Perl 譲りなのかな。
どういう場合にカッコ有り/無しにするかの指針もないので
記述の一貫性がなくなり、僕は好きじゃないです。
ただ、演算メソッドや [] メソッドを実現するためには
カッコ無しができないとダメなのだと思います。
>なるほど、それでA.fooで関数オブジェクト参照できないんだ
関数オブジェクトを参照する方法は Object.method しかないですね。
A.foo だと A のクラスメソッドを起動します。
0152デフォルトの名無しさん
NGNGクラスメソッド起動ですか.... なんと言うか、Perl的
ですねえ。
0153デフォルトの名無しさん
NGNG0154デフォルトの名無しさん
NGNGfoo() とは書けないんだ。関数と関数オブジェクトは別、って
こと?
0155ぎこるび
NGNGPerl 的ですか?Perl の OOP 部分はほとんど触ったことがないから分かりませんが。。。
method メソッドで、そのオブジェクトの持つ指定したメソッドを表す
Method オブジェクトが取得できるという意味です。
method メソッドは Object クラスで定義されているので、Object.method と書いただけで。
# 慣例に従って Object#method と書くべきでした。
Ruby はクラスもインスタンスもオブジェクトです。
表記の慣例を挙げると、
A.foo が クラス A のクラスメソッド foo を起動で、
a#foo が インスタンス a のインスタンスメソッド foo を起動です。
>>153
これがどれなのか分からないですが。
一貫性があるのは「何でもオブジェクト」という言語仕様の部分です。
# 作者のまつもとさんの好みという点で一貫しているともいう
0156ぎこるび
NGNGRuby にいわゆる C のような関数はありません。
open や print のようなトップレベルで使える「関数的メソッド」は、
Kernel モジュール(インスタンスを作れないクラス)で定義され、
全てのクラスのスーパークラスである
Object クラスにインクルード(モジュールの継承)されています。
で、トップレベルは main という Object のインスタンスである
特別なオブジェクトのスコープ内となっています。
単に open と書くと main オブジェクトのプライベートメソッドである
open を起動ということになります。
同じように単に foo() と書くとレシーバは main になるので、
定義されてないメソッド呼び出しとなりエラーになります。
ということで 関数(的メソッド) != メソッドオブジェクト です。
あ、一言で言えば Ruby は first-class-object じゃありません。
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGあんまり情報はないと思った。リファレンスの日本語化とかは非常に助かって
ますけど。メーリングリストの流量もRubyと比べれば少ないし。但し、英語の
情報なら膨大にありますね。あと、ライブラリの量も膨大。
オブジェクト指向が(perlやPythonに比べて)徹底している。という点が利点
と思えない人にはRubyを使う意味って全然ないでしょうねぇ。そういう人は
Pythonを使うべきだと思います。というか言語的にみてPythonではなくRubyを
使う積極的な理由というのは、よりオブジェクト指向であるという点しかないよ
うな気がする。
0159デフォルトの名無しさん
NGNG言う意味で併存するんじゃない。
0160Guile
NGNG0161デフォルトの名無しさん
NGNGだって、埋め込み専用じゃん…
0162Guile
NGNG0163ぎこるび
NGNG・・・155はさらに間違って書いてました。いつまでたってもRuby厨房・・・
a.foo #=> インスタンス a の メソッド foo
A.foo #=> クラス A のクラスメソッド foo
A#foo #=> クラス A のインスタンスのメソッド foo 。表記上の慣例
a::foo #=> a.foo と同じ
A::foo #=> A.foo と同じ
A::CONST #=> クラス A の定数 CONST
文法のリファレンスはここにあります。
http://www.ruby-lang.org/ja/man-1.6/?cmd=view;name=Ruby%A4%CE%CA%B8%CB%A1
0165デフォルトの名無しさん
NGNGブロックを実行してるだけじゃん。
それだったら、まだ関数を変数に代入できたり、引数として渡せたり
出来た方が柔軟性あるよね。
つまり、関数もオブジェクトみたいに扱えるって感じ。
Pythonはどうだか知らないけど。
0166デフォルトの名無しさん
NGNG>それだったら、まだ関数を変数に代入できたり、引数として渡せたり
>出来た方が柔軟性あるよね。
RubyでもProcオブジェクトを使うことで可能でしょ。
Procオブジェクトを使って処理するよりも、イテレータを使った方が
すっきりプログラムを書ける場合があって便利だよねぇ。という話で
す。
0167165
NGNGそうかなぁ?
すっきりって、たったの一行やそこら変わるだけだと思う。
ただ、RubyでProcオブジェクトが扱えるとは知らなかった。
0168165
NGNGからじゃないかなぁ?
関数オブジェクトを前提にして作られていれば変わらないと思う。
それか、もしかして、Rubyってその場で関数を定義できないのかな?
0169Ruby中退者
NGNGことはないと思うな。初心者には判りにくいし。イテレータ使った
方が「圧倒的に」有利、ってどんな例がある?
他の言語ではあんまり見かけない機能使って喜んでるだけじゃない
のかぁ? > Ruby信者
あと、Procだのなんだのも嫌い。Pythonのすっきりした言語モデル
に比べて、ごちゃごちゃしすぎ。
0170デフォルトの名無しさん
NGNGイテレータはオブジェクト指向を追求した結果、そういうものを実装せざるを得
なかっただけのことなんじゃないか?
Pythonはインデントによるブロックの指定がどうしても馴染めない。
0171俺はRuby使ってるが...
NGNGしかし、このスレ見てるとRubyって厨房多いな。
英語が読める->Python/読めない->Ruby ってケースが
多いのかもな。
Perlからの移行組ならRubyがお勧めだ。
Python使うとキーボードがすりへってもったいない。
0172デフォルトの名無しさん
NGNGOOの延長上にあのようなイテレータがあると考えるのはおかしいのか?
0173171
NGNG「実装せざるを得なかった」って書いてあるのはそういう意味に
しかとれないだろ。だいたいiteratorってのは丸丸とは別の話
じゃん。Schemeなんかでもiterator実装できるはずだぜ?
ついでにmatzは最初っからiterator作りたかったんだと思
うよ。丸丸のために「実装せざるを得なかった」んじゃぁ
ない。
どーも君が何を主張したいのか、わからん。一体何を169に伝え
たいのかね?
0174デフォルトの名無しさん
NGNG「イテレータですっきり」っていうのは、
len = list.length()
for (i=0;i<len;i++) {
list[i].giko()
}
とか、
iter = list.iterator()
while iter.hasNext?
iter.next.giko()
end
とかやるよりも、
list.each{|elem|
elem.giko()
}
とかやるほうがすっきり、ってことじゃないのか?
# 上の例はRubyっぽい書式のつもり。
見た目もそうだけど、要するに「とにかく一個ずつ全部持って
こいやゴルァ」とだけ書けばいい、ってのが。
あとは、
File.open("mona"){|f|
f.gets.giko()
}
で、勝手に mona を closeしてくれるから便利、とかな。
>>169
あー、そりゃRubyに向いてないかも。169はschemeとかpythonとかが
合ってるよ。
Rubyのポリシーは非minimalismだから仕方ないよ。「圧倒的に」有利
なんてものがあるわけもなし。言語として優れているかどうかは、首尾
一貫したポリシーの元で設計されていて、何かのターゲットドメインで
「使える」かどうか、ってことだろうし、ポリシー自体は嗜好と一緒で
どっちがいいとか悪いとかの問題じゃないしな。
0175デフォルトの名無しさん
NGNG「実装せざるを得なかった」と推測したのは「オブジェクト指向を追求した結果」
と170で書いた。そしてここでの「オブジェクト指向」はRubyのものをいってい
るのは明らかだろう。ここからどうしてOOL*すべてに*イテレータが「必須」と
いう意味にとれるのか?
>iteratorってのは丸丸とは別の話じゃん。
Rubyでのイテレータのことしか書いていない。
>matzは最初っからiterator作りたかったんだと思うよ。丸丸のために「実装せ
>ざるを得なかった」んじゃぁ ない。
OOとは関係なくイテレータを実装しようとしていたのかは知らないし、俺はなん
の断定もしていない。ただ俺はそう思わないし、RubyでのイテレータはOOと関係
なくあるものでない。RubyでのOOの延長としてイテレータが考えられるのはおか
しいのか?
0176デフォルトの名無しさん
NGNGイテレータって不要だよね。これPythonで書くと
for mona in mona_list:
mona.giko()
どっちがすっきりしてると思う?もちっと面白い例をきぼん。
# いや、マジで。俺Python派だけど、イテレータには興味ある。
> File.open("mona"){|f|
> f.gets.giko()
> }
> で、勝手に mona を closeしてくれるから便利、とかな
Ruby知らないんだけど、File.open()て、普通はファイルオブジェクト
返すだけでしょ?イテレータ付きで呼び出したときだけ動作が違うの?
...チョット キョワイ...他にもそんなメソッドがいっぱいあるわけ?
>ポリシー自体は嗜好と一緒でどっちがいいとか悪いとかの問題じゃないしな。
それ言ったら終わっちまうだろがゴラァ。
0177デフォルトの名無しさん
NGNGうん。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGRubyは`end'を使った伝統的な構文。
オブジェクトの属性にアクセスするのに`self.'をいちいち付ける必要がない。
Rubyではすべてのデータ(Integer, String, Listなどなど)はクラスのインスタンス。
Rubyにはより優れた(あるいは真の)closureがある。
Rubyオブジェクトのインスタンス変数はデフォルトで外から参照できない。
Rubyはlong integerとsmall integerを自動的に相互変換する。
Rubyにはtupleがない。
Rubyの文は値を持つ。よって以下のように書ける:
def max(a,b)
if a>b then a else b end
end
Rubyではより自然に演算子メソッドが定義できる。例:
def +(x)
self.to_i + x
end
Rubyにはリファレンスカウントではない真のガーベージコレクタがある。よって:
リファレンスカウントでは生じるようなメモリリークが発生しない。
拡張ライブラリでINCREF,DECREFなど参照数管理が不要。
C/C++でRubyを拡張するときでも、容易にRubyクラスを定義できる。
Rubyにはブロックを使ったループ抽象がある。例:
10.times do
...
end
任意のイテレータを定義できる。
Rubyではブロックを単なるイテレータ以上に活用できる。例:
mutex.synchronize do
.. critical process ..
end
Rubyにはsuperを使ったメソッド結合がある 。
RubyはしばしばPythonより高速。
http://www.ruby-lang.org/ja/ より
0180176
NGNG返す、という仮定はあってる?
んで、イテレータ付きで呼び出すとファイルオブジェクトを作って、
ブロック(という用語でいいのかな?)を評価して、ファイルを閉
じて、戻り値はなし。
俺の感覚では、この2つに同じ open() という名前を付けるのは
ちょっといやだ。
0181ぎこるび
NGNGあくまで主体はオブジェクトだと思うんです。
Ruby でも
ary = [1, 2, 3, 4, 5]
for i in ary
p i
end
とは書けますが、これだと制御構造である for ループが主体です。
ary.each{|i| p i} なら ary が主体です。
結局趣味の問題かなあ?
あとブロックが返り値を持てるので、
["10", "1", "2"].filter {|e| [e.to_i, e]}.sort.filter {|e| e[1]}
というふうに数珠繋ぎができます。
# http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/17729
0182部外者A
NGNGOOとはあまり関係ない。
抽象化されたデータに対しては同じ構文で書ける事で有効だが。
このスレ、似たような言語同士で比較してもあまり意味が無いと思われる。だた、pythonの方が仕事で使われてるなぁ。
それと、Schemeでもmapやfor-eachは存在するし、柔軟に書ける。>173
0183デフォルトの名無しさん
NGNG何の?
0184ぎこるび
NGNG比較ページはそろそろなくしてほしいですね。。。
>>180
筋を通すなら open_with_block にでもすべきでしょうが、
コード書く側からすれば open と open_with_block が分けられると
覚えるメソッドが増えて、ブロック使う場合にタイプ数が増える、
と利点がないと思います。
なんというか、ブロックがつくと最後まで面倒をみてくれるものである、
という文化だと思えば。。。
0185176
NGNGその程度だったらあんまり欲しくないなぁ。
0186デフォルトの名無しさん
NGNG0187176
NGNG>比較ページはそろそろなくしてほしいですね
MSが書いたOracleの中傷記事みたい、といったら言いすぎ?
比較じゃなくて、一方的にRubyの特徴を書いてる。笑える。
一応、最初の方だけ反論しとくと
>Rubyは`end'を使った伝統的な構文。
beginはどした、ゴラァ
>オブジェクトの属性にアクセスするのに`self.'をいちいち付ける必要がない。
@はどした、ゴラァ
>Rubyではすべてのデータ(Integer, String, Listなどなど)はクラスのインスタンス。
メソッドはどした、ゴラァ
>Rubyにはより優れた(あるいは真の)closureがある。
2.1でつくぞ、ゴラァ
>覚えるメソッドが増えて、ブロック使う場合にタイプ数が増える
イテレータをサポートしてるメソッドとしてないメソッド
覚える方が大変だと思うんだけど...File.open()だけなら
ともかく、そんなのがたくさんあると大変じゃない?
0188デフォルトの名無しさん
NGNG0189ぎこるび
NGNGあれは洗脳用の文章で、Ruby の利点しか書いてないから(笑
知名度も結構あがってきたのだし、もっとフェアな書き方に改めてほしいです。
>>187
begin は冗長なので捨てました。@ は self. の1/5のタイプ量です。
1.6からはメソッドもオブジェクトとして取り出せます。
each などの各要素アクセス型イテレータは用途からブロックが必要なのは明らかです。
Thread.start などは、
ブロック付け忘れると例外があがるのでその場で直せばいいかと。
0190デフォルトの名無しさん
NGNG>リファレンスカウントでは生じるようなメモリリークが発生しない。
Pythonだって、リークは発生しなくなったぞ。
誤解を与える記述をHPに掲げてるのは信じられない。
0191174
NGNGじゃ、こんなのとか。n分木のトラバース。
class Tree
include Enumerable
def initialize(value, children = nil)
@value, @children = value, (children||Array.new())
end
def add_child(child); @children << child; end
def each(&proc)
yield @value
@children.each{|child| child.each(&proc)}
end
end
if __FILE__ == $0
t1 = Tree.new("age",
[Tree.new("age"),
Tree.new("sage",
[Tree.new("age"),
Tree.new("hoge")]),
Tree.new("foo")])
t2 = t1.add_child(Tree.new("age",[Tree.new("bar")]))
t1.each{|value|
print "#{value}\n"
}
print t1.find_all{|value| ## Enumerableのメソッド
value =~ /age/
}.join(",")+"\n"
end
#=>
#age
#age
#sage
#age
#hoge
#foo
#age
#bar
#age,age,sage,age,age
0192デフォルトの名無しさん
NGNGBackspaceは'end'の1/3のタイプ量です。
0193デフォルトの名無しさん
NGNGdef find_greater_than_all(array, n)
array.find_all { |x| x > n }
end
find_greater_than_all([1,2,3,4],2) # => [3, 4]
イテレータの中からローカル変数(n)にアクセスできる。
C++やjavaではnがグローバル変数かメンバー変数になっちゃうよね。
そうするとスレッドセーフにならないとかいろいろ面倒。
pythonではどうなんだろ?
0194176
NGNGありがと。Pythonだと
import sys, re
class Tree:
def __init__(self, value, children=None):
self.value, self.children = value, children or []
def each(self, proc):
proc(self.value)
for c in self.children:c.each(proc)
def find_all(self, cond, proc):
def match(item, cond=cond, proc=proc):
if cond(item):proc(item)
self.each(match)
t1 = Tree("age", [Tree("age"), Tree("sage"]), Tree("foo")])
def found(v):
print v
t1.find_all(re.compile("age").search, found)
かな?確かにこの場合、ブロック渡した方が良いね。
PythonでCoroutineが使えるようになれば、もうちょっと
すっきりするのかも知れないけど。
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGつーか、インデントって誰がどんな言語で書いても(lispなどは除く)
同じにならないか?
強制されてもされなくても変わらないだろ。
むしろ、Pythonで強制されてる以外のインデントなんてやってる奴
ほとんどいないし、仮にいたとしたらむちゃくちゃ嫌だぞ。
0198デフォルトの名無しさん
NGNGこれがPythonのインデントの理由?
そのわりにインデント強制する言語は見かけないね。
Python以外にあるかもしれないが。
0199デフォルトの名無しさん
NGNGシンプルで見やすいのが理由だろ。
他のスレで話題になった例だが。
for
while
if
...
end
end
hoge
end
for
while
if
...
hoge
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG0203デフォルトの名無しさん
NGNGインデント強制をやめると生産性上がっちゃう奴は皆無だろうけどな(藁
0204デフォルトの名無しさん
NGNGでも、両方明示は邪魔くさい。タイピング遅いのよ。
0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNG省略ばっかの言語なのになんでendだけって思うぞ。
趣味なんだろうけど。
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG幼稚園児じゃあるまいし
0209デフォルトの名無しさん
NGNGbegin 〜 end か、if 〜 endifが伝統の重み、ってもんだろ。
0210デフォルトの名無しさん
NGNGなんで、この話題は止めてもらいたいです。
RubyとPythonはかなり適用範囲がかぶってる言語だと思いますが、こういうこと
ならRubyの方が良いとか、Pythonだとこんなこと簡単だけどRubyだと難しいよね
みたいなことありますか?
0211デフォルトの名無しさん
NGNGdef func():
hoge()
#end func
ってわざわざコメントがしてあったり。
0212デフォルトの名無しさん
NGNGあたまが構造化プログラミングな人には楽かも。
純粋OOP主義の方には非難されるかもしれませんが、
移行・習得の容易さってのは重要なことじゃないですか?。
0213デフォルトの名無しさん
NGNG他人の作った部品を容易に再利用できるのがOO言語の強みだと思うけど、
部品がなくちゃはじまらんからな。
0214デフォルトの名無しさん
NGNGPythonは知らないけど、RubyはOOP知らなくても書きやすい方だと思うよ。
printfとかそのまま使えるし、関数もそのまま定義できる。
ただ、a +1がa + 1にならないとか、変数の扱いとか癖があるのは確か。
まあ、これらはすぐ慣れると思うし、慣れるとすごく面白くなるから。
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG同感。
Rubyでも普通に関数を定義するように記述して、それを関数のように
呼び出して使うこともできるけれど、実は、それは自分自身のプライ
ベートなメソッドを定義しているんだよ。といっても初心者は理解で
きないんじゃないかと思う。
0218ぎこるび
NGNG・p メソッドでオブジェクトの状態を確認できる->簡易デバグに最適
・変数名でそのスコープを表す
-->foo:ローカル変数/$foo:グローバル変数/@foo:インスタンス変数/@@foo:クラス変数/Foo:定数
・Array がやたら強力
-->何でも詰め込める。入れ子も楽々なので複雑なデータ構造も表現できる。
・例外時のエラーメッセージが詳細(これは Java や Python もそうですが)
・拡張ライブラリを書きやすい
-->Array, Hash などの主要オブジェクトは Ruby 上と余り変らない扱いができる
(Python/C API をざっと斜め読んだ感じでは Ruby の方がちょっとだけ簡単そう)
0219デフォルトの名無しさん
NGNG本格デバガが欲しいぞゴルァ!!
俺は先にVisual Studioに組み込まれた方を使うよ。
0220デフォルトの名無しさん
NGNG>・変数名でそのスコープを表す
以外はPythonもRubyも大差ないと思うが。ついでに、これも
便利な点だとは思わない。むしろ、ウザイ。
Rubyで良いのは、One linerを書ける、てとこかな。
Pythonは構文上、不可能。でもちゃんとしたのを書くときは
Pythonのが良い。
>> 219
んじゃ、Pythonだね。
0221ぎこるび
NGNGデバッガは
$ruby -rdebug foo.rb
で使えます。伝統的な(笑)CUIデバッガですが。
でも、ビジュアルなデバッガもほしいですねえ。
>>220
まあ、拡張ライブラリもSWIG使えば同じですしね。
僕は変数がローカルなのかグローバルなのかインスタンス変数なのか
覚えていられる自信がないので、
この仕組みは革新的だと思ったんですけども。。。
0222デフォルトの名無しさん
NGNGPythonにはIdleやらPythonWinやらいっぱいあるぜ。商用
のもいくつか出てるし。
0223デフォルトの名無しさん
NGNGRubyのソースが凄く参考になる。
とても読みやすい(parse.yとかは別だけど)。
Pythonはなんだかよくわからないし。
Perlは読みやすさとかそんなのは論外。
Rubyの本当の価値ってソースコードなんじゃないかと思ってきました。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNGa +1の問題とかって実際にハマることはほとんど無いかも
しれないけど、言語自体に危うさを感じさせるよ。
損してると思う。
0226デフォルトの名無しさん
NGNGC++でもハンガリアン記法を嫌って変数スコープをprefixにしたりしてる人間ですので。
つぅかなんで無理無理対立構図に持って行かなあかんのかわからないのですが…
(それいったらこのスレッド終わりか)
0227デフォルトの名無しさん
NGNGインスタンス変数を楽に書けるのはよいとは思う。
ただ、グローバルな変数くらいは書くときも読むときも
prefix無しで把握できてなきゃだめじゃないの?
prefixの助けを貸りるべき問題ではないのでは?
0228デフォルトの名無しさん
NGNG>a +1の問題とかって実際にハマることはほとんど無いかも
>しれないけど、言語自体に危うさを感じさせるよ。
a +1のバグでロケットの姿勢制御に失敗して
墜落しちゃったりして(藁
0229223
NGNGそりゃconservative mark-and-sweepですよ………
だってRubyのソースを参考にしてるんだもん。。。
特徴はCのスタックもマークするのでCの関数を書く時も楽なこと。。。
0230ぎこるび
NGNG$foo 使うと汚いので使いたくない、
よってグローバル変数を使わなくなりオブジェクト指向が推進される、
ということです。まあ冗談はおいておいて。
>prefix無しで把握できてなきゃだめじゃないの?
把握できるならいいのでしょうけど、
実際僕のように把握できない人が多いから色々な記法が
生まれているのだと思います。
prefix一文字付けることでコードを書く側の負担が減らせるのなら
(Ruby の楽してプログラミングという方針からして)
言語仕様として採用してしまうのも悪くないと思います。
>>228
そのための例外です(笑)
さすがに Ruby はクリティカルなシステムには使えないでしょうねえ。
>>229
RubyのGCに世代別GCつけた人がいますです。
http://ruri.csys.ce.hiroshima-cu.ac.jp/~masato/
0231虹
NGNG実際使ってみると変数のスコープをprefixで表すのは利点の方が
多いと思う。
> さすがに Ruby はクリティカルなシステムには使えないでしょうねえ。
a +1なんかより、Cのswitch caseのbreakの方がはるかに危険だと
思う。
0232デフォルトの名無しさん
NGNG> RubyのGCに世代別GCつけた人がいますです。
> http://ruri.csys.ce.hiroshima-cu.ac.jp/~masato/
こんなのが修論になるのか? ひどいなあ.
ちょっと気の利いた学部生なら簡単にできるぞ.
0233デフォルトの名無しさん
NGNG確かにRubyのソースは読みやすいね。
拡張ライブラリも作るの簡単だし。でも
VALUE
rb_ary_concat(x, y)
VALUE x, y;
こんな古い書き方してるとは思わなかったよ…
0234デフォルトの名無しさん
NGNGやっぱRubyやめ。Pythonかなあ。Perlやだしなあ。
0235デフォルトの名無しさん
NGNG前のworkshopかMLで、クリティカルっぽい業務に使ってるって話が
出てたような。もちろん冗長構成でRubyが落ちてもだいじょうぶ
らしい。
>>233
ふるーいコンパイラでもコンパイルできるように、だそうだ。
ruby-talkでもANSIに移行の話は何度か出てる。
そのうちMatzが折れそうな気がするけど。
0236デフォルトの名無しさん
NGNG評価とかをちゃんとやってんじゃないの?
0237>219
NGNGVisualStudioって言ってるからGUI環境じゃないとダメなのかな。
0238デフォルトの名無しさん
NGNGPEP:Python Character Modelってやっぱり変ですよね。
こんな変な提案を真剣につぶしにかからなきゃなんないのを見てると、
やっぱりアジア人が開発者だということにも意味があるような気が・・・
0240デフォルトの名無しさん
NGNG0241sage
NGNG0242デフォルトの名無しさん
NGNG逆。8bitでしか物を考えられん連中が、Pythonの文字列全部
Unicodeにすりゃアジア人もハッピーなんだろゴルァといってるのを、
まじめに反論してつぶさなけりゃならんのは大変だという意味。
Unicode(UCS、UTF)にかんする議論はここではしない。
0243デフォルトの名無しさん
NGNGPythonは文字列がJAVAと同じようにUNICODEになって、日本語処理が
ずっと楽になったんだと思ってたんですが、何で反論しなきゃいけ
ないんですか?
そう言えば日本人が開発しているRubyがそうなってないのがすごく
不思議だったんですが、何か複雑な事情があるんですか?
0244デフォルトの名無しさん
NGNGつか、やっぱり日本人で Python-I18N MLに打って出て文句を言うひとが
いないとまずいんでは? 何で直接書かないんでしょうか?
>KAJIYAMAさんとかIWAMOTOさんとか
0245244
NGNG0246ぎこるび
NGNGこのスレを読んでみてください。
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=977301174
0247ぎこるび
NGNG追記。
丁度プログラマ板の方に良い例をポイントしてくれた方がいますです。
http://mentai.2ch.net/test/read.cgi?bbs=prog&key=960615378&st=315&to=315&nofirst=true
0248243
NGNGありがとうございます。でも難しい問題なんですね。とりあえず理解
できたことは
1) UNICODEと既存日本語コード(SJISやEUC)との変換は何種類もある。
2) 例えばSJISのファイルをUNICODEにして、別の所でSJISに再変換す
ると元どおりにならない。
3) Javaのように内部コードがUNICODEに限定されていると2)の問題が
避けられない。(避けるのが難しい?)
で、pythonは内部コードをUNICODEにしたことで、Javaと同じ問題を
かかえこんでしまった、ということになるのでしょうか?
0249デフォルトの名無しさん
NGNG関係ないが ttp://www.gembook.org に置いてあるKaaEditっていい感じ
だな。でもなんでシェア?ふつーオープンソースだろ。
0250デフォルトの名無しさん
NGNG否!それもPythonの利点なんだよ。
Pythonのライセンスは非常に明快且つ緩やかで使用
者に対しても、その成果物に対しても、殆ど何も強制
されないようになってる(著作権や免責条項の表示義
務はある)。
だから、フリーであることやオープンソースである事を
強制されたりはしないんだよ。
ライセンスに含みを持たせてあって、教祖様の気分に
よって解釈が変わるのって嫌らしいと思わない?
シェアウェアを公開すると、信者にGive&Takeとは何か
を、百万回言い聞かされるのって嫌げだと思わない?
Pythonは自由だよ。
0251デフォルトの名無しさん
NGNGいきなりそのレスはなんだ?
話がつながってないぞ?
0252デフォルトの名無しさん
NGNG0253デフォルトの名無しさん
NGNG繋がっているだろ。Pythonインタプリタを内蔵しているだけで
オープンソースにすべきと圧力をかけるのはおかしいと250は
言っているんじゃないか。
0254デフォルトの名無しさん
NGNGRubyの人達って、Rubyの商用利用するとぐちぐち文句言ったり
するの?それはちょっといやだ。MLとかで?ソースきぼ〜ん。
0255デフォルトの名無しさん
NGNGそういう風潮も特にないと思う。
# 利用したって話も聞かないけど...
ぐちぐち文句言ったりしてるのは>>249だけ。
0256デフォルトの名無しさん
NGNGMLのトピックに
「Rubyは命預かります系のシステムで使われています」
ってのがあったぞ(多分)。
0257デフォルトの名無しさん
NGNGたしかにライセンスはPythonの方がゆるいみたいだね。
PythonのMisc/COPYRIGHTと、RubyのREADME.jpでは。
0258Seisei Yamaguchi (f青星 l山口)
NGNG># 利用したって話も聞かないけど...
私が以前関わった商用system_の簡単な所
( Perl等ゑの置き換えがすぐにできる所 ) に使いました .
0259デフォルトの名無しさん
NGNGでも、RubyにはRubyの著作権やRubyのライセンスの表示義務が無い。
0260デフォルトの名無しさん
NGNGしかし、KaaEdit結構よいぞ。Python製だと遅いんじゃないかと
思ったが、起動時以外はすばやく動く。ちゃんとPython覚え
ようか、とゆう気がしてきた。
しかしRubyモードがないのはわざとか?(w
0261デフォルトの名無しさん
NGNGPythonのライセンスを侵害してる。
表示義務を守ってない。
0262デフォルトの名無しさん
NGNG厄介なのは他の作者の意向が加えられるとか言ってるところ。
いちいちファイルを調べなくちゃいけないし、
なんか、missingディレクトリ以下のファイルには表示義務が
あるっぽい。しかも、そのソースって、make読めないと
そのソースファイルを使ってるか使ってないかわからない。
MSVC版のバイナリを配布する時は大丈夫なのか?
Mingwin版のバイナリを配布する時は大丈夫なのか?
0263262
NGNG他の作者の意向が加えられないというライセンスに
なってるようだ。
でも、他の作者のソースを使ってる限り、実行形式で
そのまま配る時にも他の作者の意向が加えられない
とおかしい。
なにか、Rubyのライセンス自体が、他の作者のライセンスに
違反してるように思う。
0264262
NGNG特にvsnprintf.cなんかが問題だと思う。
変更があってもバイナリ形式でも、この文面を表示しろと書いてある。
しかも、regex.cはlgplだよ。
lgplは、lgplを使っていることを明記するとか、細かい規則が
たくさんあったはず。Rubyのあんな緩いライセンスだったら
矛盾してる可能性は高いよ。
どうなってんの?ライセンスに矛盾があるとなれば、これは
大問題じゃない?
0265デフォルトの名無しさん
NGNGそだね。昔のCWIライセンスなら問題なかったんだろうけど。
気になるんだったら教えてあげれば? 石本さん気がついて
ないよ、きっと。
0266デフォルトの名無しさん
NGNG俺も市販ゲームに使いたくてちょっと調べてみたんだけどよー、
「なんかアヤシーな」と感じて結局使わなかったよ。
0267デフォルトの名無しさん
NGNGvsnprintf.cはcopyright見る限りではUCB由来のコードのようだから、UCBが
ライセンスの方針を変更した1999年以降なら広告条項は無視できる
かもしれないが、要確認かな。
LGPLのregex.[ch]は、使用していることはREADME.jpにもREADMEにも
明記されているし、COPYING.LIBも添付されている。あとは具体的な
「矛盾してる」ところを指摘してくれると助かる。
0268262
NGNGたしかに、ライセンス違反はちょっと怖いよね。
>>267
俺が問題にしてるのは、Rubyの広告条項不履行や、LGPL違反
ではなく、Rubyのライセンスと処々のライセンスの矛盾。
Rubyには、「Rubyのソースの入手方法を示せば、
実行形式で配布してもかまわない」とあるけど、実行形式で
配布するには、vsnprintf.cや、LGPLのライセンスも守らなくては
ならないんじゃないかということ。
Rubyのライセンスを守っていても、別のところでライセンス違反が
起きてしまうおそれがあるのでは?ということ。
0269デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG1.5.2に関しては、CWIライセンスにもCNRIライセンスにも違反
してると思う。両方とも著作権通知の表示を要求してる。
2.0に関しては、BeOpenライセンスでは表示を要求する部分が
見つけられなかった・・・表示義務が無くなった?
参考
http://hdl.handle.net/1895.22/1012
http://www.python.org/1.6/license_faq.html
http://www.python.org/2.0/license.html
CNRIライセンスのFAQは必見、面白いですよ。
ストールマンセー(;´Д‘)
0272デフォルトの名無しさん
NGNG> provided, however, that the BeOpen Python License is
> retained in the Software, alone or in any derivative version
> prepared by Licensee.
表示の要求あるぞ。
0273デフォルトの名無しさん
NGNGそれは、表示の要求というより、コピーレフトの要求では。
厳しいライセンスだね。
0274デフォルトの名無しさん
NGNGコピーレフトってことはないはず。ライセンスを書いた
文書をretainしとけよゴラァって事じゃないのかなぁ。
0275271
NGNGオープンソース云々でパッチ(と、それを適用したバイナリ)の
再配布に関しては何かあるらしいです。
云々で何かって表現は、かな〜り卑怯なんですが、頭が追い
つかんです。
>>273
CNRIライセンスの時は、GPL互換だがCopyleftは要求しない
としてました。<ストールマンから突っ込みが入ってたような・・・
>>誰かご存知の方
結局Python2.0は、GPL互換は捨てたんでしょうか?
0276デフォルトの名無しさん
NGNGこういうのがはっきりしないと使えないのはうざい。
rubyもはっきりしてくれ。
0277262
NGNGうむ、ぜひ伝えといてくれ。
Winで配布するときはDLLをバイナリでという
のが一番現実的な選択肢。
ライセンスがダメダメだと普及の大きな障壁に
なる。
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNGってことは、コピーレフトではないってことだな。
retainは文書を入れろってことか?
0280デフォルトの名無しさん
NGNG0281デフォルトの名無しさん
NGNG明示するのを求めてるだけならコピーレフトとは言わない。
0282デフォルトの名無しさん
NGNG0283かい
NGNGパフォーマンスが本家より良くかければ広まるし、今のUNIX中心のライブラリ構造
の打破へもつながるのではないかと。
0284デフォルトの名無しさん
NGNGruby互換で書くメリットが(まだ?)少ないと思うのだが。
例えば、あんたが率先してやんないと、多分誰もやんないよ。
pythonはStacklessPythonという別ver.があるようだがね。
0285デフォルトの名無しさん
NGNGVyperとJythonもあるで。
0286かい
NGNG実はコンパイラ構成論という本を買ったりしていて、
ひそかにコンパイラ(RubyだったらインタプリタorJIT)でも作ろうかとたくらんでいるところです。
でもUNIX(Linux)をほとんど知らないし、きついかもしれません。
挑戦してみる価値あると思いますか?
と言ってみたものの、それほどRubyが好きで使い込んでいるわけでもないし。
Rubyのコミュニティーの雰囲気はあまり好きではありません。
といってもすでにコミュニティーという狭い範囲以上に広まりつつありますが。
0287>286
NGNGただ、lex/yaccそのまま使ったらrubyより遅いものしか出来上がらないと予想する。
自分でその辺も最適化する技術が必要。
その他色々問題はあるので、片手間では多分無理だと思うけど。
0288>286
NGNG今はパーサジェネレータ作成中。
この春休み中に・・・。
0289デフォルトの名無しさん
NGNG0290飲む打つ買うさん
NGNGいじってみたい気はするけれども、数年後に消えてそうな気もする。
0291デフォルトの名無しさん
NGNGPythonに勝てるかどうかは分からないけど、消えることはないと思うよ。
消えるとしたら、全ての面でより優れた言語が出たとき。
PythonよりRubyの方が2年も出るのが遅いんだから、
Pythonのほうがライブラリが充実してるのは当然。
0292デフォルトの名無しさん
NGNG充実していたとおもわれ
0293デフォルトの名無しさん
NGNGスレ違いだったらすみません。
0294デフォルトの名無しさん
NGNGドラゴンブック買ったばっか?先は長いぞ...
0295デフォルトの名無しさん
NGNGそっかー…ナンセンスな事書いたかな。
でもやっとこさ使えるようになった言語がもはや衰退してないか、
というのは気になる部分。
0296288
NGNGあまり良く知らないけれど、
http://www.shudo.net/
http://www.openjit.org/
とか。(どれもJVM関係だけれど)
0297デフォルトの名無しさん
NGNG先の事は分からないんだし、気にしてもしょうがないのでは?
今、面白いと思うことをやるのが一番。RubyもPythonも使い出すと
楽しいですよ。
0298デフォルトの名無しさん
NGNG> やっとこさ使えるようになった言語がもはや衰退
そんなこと言ってたら何も出来んぞ。
前進あるのみ。
がんばれ。
そして、俺もがんばる。
0299デフォルトの名無しさん
NGNGよくわかるよね。COBOL=>C=>VB=>C++=>RUBYという言語遍歴だが、
前の言語をとことんやってたことが次の言語の修得に役に立ってる。
「こんなんあります」と言われて「ぐはあ。こんな便利なものが!
俺の苦労はなんだったんだあ」と叫ぶと次の瞬間をそれを使いま
くってる。苦労を知らない(=問題意識のない)奴よりは、早く覚え
られるぞ。
0300デフォルトの名無しさん
NGNGRubyに出会ったときはもう涙もんだったよ。
別にPerlが衰退しているわけではないんだけどね
0301虹
NGNG0302デフォルトの名無しさん
NGNG0303デフォルトの名無しさん
NGNGあとshでシェルスクリプト。
0304デフォルトの名無しさん
NGNG激しく同意。
最初にCからC++に移った時、クラスっていうのが嬉しくて使いまくったら
クラス階層深くしすぎて、菱形継承になったりしてハマった。
Effective C++熟読して、そういうややこしいことをしないで、
目的を達成できるようになった。
そういう経験から、Rubyを見ると全てが理にかなってるのがわかる。
moduleによるMIXINを主体に設計するアプローチはシンプルだけど
一番応用がきくし困ることも少ない。
そのために必要な機能は全部Rubyにあるし、逆に余計なものは何もない。
シンタックス以外に覚えることが何も無いんだよな。
使った瞬間に全部理解できるような感じ。
この良さはC++かJAVAで天国と地獄を両方見た奴じゃないとピンとこないだろうな。
0305かい
NGNG最近いろいろな言語に興味があるんですけど、(Ruby、Smalltalk、Lisp、sedなどなんでも)
Rubyってやっぱりそんなにすごいんですか。
Eiffel、Satherなどはご存知ですか。
0306デフォルトの名無しさん
NGNG激しく不同意。Rubyの良いところは余計なものがたくさんあるとこ。
Pythonの良いところはストイックなまでに余計なものを切り捨てて
いるところだ。どっちが良い、という問題ではないが。
>> 305
Satherをちゃんと使ったことある人ってどのぐらいいるのかなあ?
聞いたこと無い。
Eiffelは結構使いこんだ。気持ち良い。企業なんかだと難しいかも知れ
ないが、大学や研究機関で使うのは良いと思う。
これは俺の独断だが、言語オタを目指すんならLispかSchemeからはじめ
ると得るものが多いと思う。はまると社会生活に支障をきたすが(藁
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNGRubyのインストールスクリプトはRubyで書かれている。。。
0309304
NGNG俺も言語オタクで、言語の解説書読むのが好きだよ。実際に遊ぶほど時間はないけどね。
EiffelとSatherは知ってる。
Rubyの英語ML見ると、DBC(Design by contract)で話が盛りあがってたから、
Rubyユーザはこのあたり詳しいんじゃないかな。
いろんな言語を経験してRubyの熱狂的ファンになる人は多いような気がする。
例えばこの人とか。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/~poffice/mail/ruby-talk/11281
>>306
余計なものがないと言うのは、オブジェクト指向の機能について。
例えば、EiffelのRepeated Inheritanceはないだろ。
Satherのように継承が二種類あったりしないだろ。
そういう「おおっ」と目を引くような目新しい概念はないけど、
実際に必要なことはほとんどできる、と言いたかった。
0310デフォルトの名無しさん
NGNGPythonが切り捨ててるものって何?
0311デフォルトの名無しさん
NGNG変なものが一杯ついてるよなー。
0312デフォルトの名無しさん
NGNG0313デフォルトの名無しさん
NGNG俺は一度も使ったこと無いけど。
0314かい
NGNGLispやSchemeとかいうと、かなりレベルが高い感じしますね。
あんなに括弧ばっかりの構文で、大規模なプログラムの構造を
きちんと把握できるのですか?
0315デフォルトの名無しさん
NGNGいろいろ。do〜whileもswitchもないし、オブジェクトモデルも
シンプル。
>>314
慣れれば見やすく無くも無い(弱気)
レベル高い、と感じるのも他の言語とあまり似てなくて
馴染みが無いからで、基本的なところをマスターしちゃ
えば後は楽だよ。
0316デフォルトの名無しさん
NGNGそれだけ?
もしかしてRubyって、言語を楽しむための言語?
実際にRubyでアプリ組んでる人いるのかな・・・・
0317デフォルトの名無しさん
NGNG>>307にレスが付かないのが致命的。Pythonにしようかな。
0318デフォルトの名無しさん
NGNGまさか、if 条件: breakとかやるの?
0319デフォルトの名無しさん
NGNG・大規模なのは比較的作りやすい。
・言語コア部分の実装サイズが小さい。
・外部から扱いやすい。(構文の面でだけど)
・Schemeはスコープがすっきりしていて見やすい。
・括弧に慣れれば、手続き型言語の様な構文の好き嫌いは発生しない。
(括弧自体が嫌いならその限りではないが)
0320かい
NGNGRubyもGNUになれば世界に広まるんじゃないでしょうか。
GNUになることに何か問題はあるんですか?
0321デフォルトの名無しさん
NGNGどれがどの括弧か全く分からん。
0322デフォルトの名無しさん
NGNG>PythonはGNUのうちなんですよね
ハァ?GNUのWWWサーバーに使われてるだけだろ。
0323デフォルトの名無しさん
NGNGRuby/GTKでアプリ組んでるよ。まだ公開はしてないが。
基本的にはちょっとしたスクリプトとか、CGIとかを書くのに使うことが多い。
まあ、要するにPerlを置き換えてるわけだ。
0324デフォルトの名無しさん
NGNG市販のアプリ開発にはもちろん使えないし、趣味のフリーソフトにも
使うのを躊躇する。
0326デフォルトの名無しさん
NGNG無ければ無いで、どおっってことない。318はCも著しく不便とおもうのか?
0327デフォルトの名無しさん
NGNG>318はCも著しく不便とおもうのか?
?Cにもdo〜whileはあるが?
>無ければ無いで、どおっってことない
これには同意。
たいていのdo〜whileが必要な場面は例外送出を使って書ける。
0328デフォルトの名無しさん
NGNGローカル変数作れるのはこれぐらいだけど。(Schemeの場合)
define lambda let let* letrec do
pascalの様に関数内関数も置けるし、構文拡張もできて自由度は高い。
括弧には慣れるか、macro定義すればよい。
インデント付ければそれほど混乱しないと思うけど。
0329デフォルトの名無しさん
NGNG_はインデントね。
(cond
________((null? hoge) (bar))
________(else foo)
)
(if (hoge)
________(begin
________________(aaa)
________________(bbb)
________)
________(begin
________________(ccc)
________________(ddd)
________)
)
0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNGそうするとPythonのようなものだな。
0332デフォルトの名無しさん
NGNGJDK1.2.2のソースGrepしてみたら、4259本のjavaファイル中
83本しか使ってない。
0333デフォルトの名無しさん
NGNGいや、結構使ってる感じだね…
0334デフォルトの名無しさん
NGNGRubyって結構綱渡り的(禁じ手というか...)なことを色々やってませんか?
eval.cのrb_thread_save_contextとか。
見た感じ(Cの)スタックを自分で保存してる(違ってるかも)。
それでも、10ぐらいのOSと3つぐらいのCPUで動くんですよね?(ぐらいは適当です)
0335334
NGNGなんだか凄い。
0336デフォルトの名無しさん
NGNG0337デフォルトの名無しさん
NGNG0339デフォルトの名無しさん
NGNGちょっとしたコマンドラインツールぐらいしか用途がない。
どっちかにVisual BasicかVisual-Tclレベルのものが出てきたら
おそらくそれが勝つ。
というわけでVisual RubyかVisual Pythonを誰か作って。
0340デフォルトの名無しさん
NGNGこれだからちゅう棒は・・
0341デフォルトの名無しさん
NGNGVisualになれば広まるんだよ。
厨房でも裾野が広がればじわじわと色々なところに影響が出
てくる。
特にUNIX文化、Rubyコミュニティなんかそういうところ
イマイチ分かってない雰囲気があるよね。
これだから上級者気取りは・・・
0342デフォルトの名無しさん
NGNGVisualがいいってそういう意味ではないのかな?
0343339
NGNGGUIなアプリを作ろうとしてC+GTKで書くのって面倒だと思いません?
画面レイアウトとか氏にそう。
Gladeがあるけどレイアウトしか出来ない。
それになんかいまいち。
大体、GUIアプリなのにコンパイルが面倒。
# glade2perlがあるのは知ってるけどね………
Visual-Tclも悪くないけどTclがちょっと。
entry .a
pack .a
とか
... -command ...
とか嫌になる。
*キーボートでささっ* と出来ると凄く便利な時がありますよね?
それと同じで、
*マウスで「かちかちかち」* とやって
*実行ボタンを押すと実行される* のって凄く便利な時があるんですよ。
# 設定ファイルがバイナリじゃなくてテキストだと
# 凄く便利なことがあるのと同じというか………
わかってもらえる人にはわかってもらえると思います。
それに、UNIX系のOSにはVisual Basicに相当するアプリはありません。
そんなこんなで、出たらその言語が流行ると思うんです。
でもVisual Lispは流行りません。多分。
0344デフォルトの名無しさん
NGNGAutoCADがVisualLispって名前じゃなかったっけ
0345デフォルトの名無しさん
NGNG多分あればそれなりに広まるでしょう。
でもこの世界は「欲しい人が作る」とゆー理念が基本なので
> というわけでVisual RubyかVisual Pythonを誰か作って。
とかいうお願いは無視されがちだし。
> 特にUNIX文化、Rubyコミュニティなんかそういうところ
> イマイチ分かってない雰囲気があるよね。
なんて指摘は的外れもいいとこ。
趣味でやってんだから自分が使いもしない物作らないっちゅーねん。
まあでも、あったらいいよねー。
0346名無しさん@お腹いっぱい
NGNGPerlを、使いにくい、会社、技術者が、満足してるんでしょう。
もう蛸壺状態だ。税金無駄。開発した人にご報美か?
0347デフォルトの名無しさん
NGNG0348デフォルトの名無しさん
NGNGいっぱいある。
http://starship.python.net/crew/marduk/pythonide.html
0349いつでもどこでも名無しさん
NGNG0350visual名無しさん
NGNG0351デフォルトの名無しさん
NGNGまず日本語勉強しろ。
そんなこと言ってると、どこ行っても一緒だよ。
一番下はJハウスで決まりだけど(w
0352デフォルトの名無しさん
NGNG出来るんで、GUIと処理速度の必要な部分をDelphiで組んで
それにPythonを埋め込んでやれば、ある意味Visual Python
だと思うけど・・・どうかな?
0353デフォルトの名無しさん
NGNG>なんて指摘は的外れもいいとこ。
>趣味でやってんだから自分が使いもしない物作らないっちゅーねん。
的外れも何も、その自分のことしか考えてない態度が駄目なんだよ。
結果的には発展の機会を損なって、自分にも恩恵が回ってこないことになる。
その辺が読めてないってこと。
0354デフォルトの名無しさん
NGNG激しく同意。厨房を馬鹿にした場合は、厨房も上級者も
大切にした場合と比べて広まらない。
0355デフォルトの名無しさん
NGNGとか負け惜しみっぽいこと言ってたよね。最近はどうなの?
0356デフォルトの名無しさん
NGNG0357デフォルトの名無しさん
NGNG普及しなくてもrubyによる研究成果として
ノウハウなり参考事例を将来の言語に取り入れ
られれば結果を出したことになるから
広まらなくても成功ってことはある。
SmallTalkとかはそういう評価なんでないだろうか。
0358デフォルトの名無しさん
NGNGそれにSmallTalkはこれから広まる。
0359いつでもどこでも名無しさん
NGNGあたりまえ。
0360デフォルトの名無しさん
NGNG昔は本当にそう思っていたのでは?ユーザーが増えると趣味に走れなくなるし。
0361デフォルトの名無しさん
NGNG0362デフォルトの名無しさん
NGNGpythonでもこれぐらいは作れる。たぶん、python-gtkを使ってると思う。
0363デフォルトの名無しさん
NGNGTkinterだよーん。
0364Schemeスレの39
NGNG0365Schemeスレの39
NGNG0366デフォルトの名無しさん
NGNG気持ちはわかるが、無茶を言うな...
30年近くも流行らなかったものが、いまさら...(泣)
0367Schemeスレの39
NGNG0368345
NGNG>> なんて指摘は的外れもいいとこ。
>> 趣味でやってんだから自分が使いもしない物作らないっちゅーねん。
> 的外れも何も、その自分のことしか考えてない態度が駄目なんだよ。
> 結果的には発展の機会を損なって、自分にも恩恵が回ってこないことになる。
> その辺が読めてないってこと。
駄目って言われてもなぁ。
別に俺はやりたい人がそれをやるって分には大歓迎だって言ってるんだけど。
そういう人に(今のコアのユーザーが)色んな形で支援する事は出来るでしょう。
でもそれを自分が作るのって別の話でしょ。
オープンソースってやりたい事をやりたい人間がそれぞれ出来る事を持ち寄って
結果としてすごい物が出来たらいーよなって世界やん。
もう一度聞くけど、なんで自分が使いもしないもん作らかあかんのん?
商業じゃ無いのよ。
# 勿論、こういう態度を取る時は、
# > 「趣味で作ってるんだから、広まらなくても良い」
# という態度を取らなきゃいけないのは言うまでも無く。
# 自分が作らない癖に「なんで広まらないんだよ」って悪態をつくのは
# ダブルスタンダードやからね
0369デフォルトの名無しさん
NGNG>商業じゃ無いのよ。
自分以外の人にとって不便だから。
さらに、何もしていないと、自分にとって間接的に不便になっていくから。
確かに、その必要が無いというのもその通りだけど、それが出来ない
からダメというのもその通り。
だから、俺にとって、Rubyは「ダメ」だ。
0370デフォルトの名無しさん
NGNG確かに、そんなものなくても全然困らないから必要ないともいえるかも
しれないけど、でも、あった方がいいのは言うまでも無い。
0371デフォルトの名無しさん
NGNGhttp://www.swiss.ai.mit.edu/projects/scheme/rrrs-archive.html
少なくともSchemeはもう16歳になってる。
0372デフォルトの名無しさん
NGNG# > 「趣味で作ってるんだから、広まらなくても良い」
# という態度を取らなきゃいけないのは言うまでも無く。
それはそれでありだし尊重もするが、何でそーゆー使い
方してる奴がこのスレに出てくる?ここはPythonとRuby
の信者獲得競争の場だぞ?君はおとなしく引きこもって
なさい。
0373デフォルトの名無しさん
NGNG前向きな提案なら考えるけどな。
0375デフォルトの名無しさん
NGNGいつまでも気付かないでいるとアンチを増やすばかりだよ。
0376デフォルトの名無しさん
NGNGあれほど言語仕様が腐ってる言語は他に無いけど、
かなり人気が出てきている。
そしてどんどんいい方向に改良されていってる。
言語として最高に素晴らしい(藁)Rubyより人気が
あるんじゃないの?
それはどうしてかと考えると…
0377デフォルトの名無しさん
NGNGHSPの言語仕様はある意味とっつきやすくていいんだろ、あとは需要の問題。
厨房くさいから「言語として最高に素晴らしい(藁)」とか書かないでね。
0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNGと配慮があるぞ。
0380サマリー1
NGNG>>339 RubyとPythonに対する要望
>>340 いきなり攻撃口調で >>339 に反論
>>341 >>340 に対する反論と共にUNIX文化とRubyを批判
>>345 本論には同意しつつ、UNIX文化とRuby批判に対しては「欲しい奴が作れ」と反論
>>346 「ちゅうぼうちゅうぼうぱっかにするな」とRuby批判
>>347 「三●人の言葉は理解不能」と >>346 にカタカナで反論
>>351 「日本語の勉強をしろ」と >>346 に指摘
>>353 「情けは人の為ならず」と >>345 に反論
>>354 「厨房を笑う者は厨房に泣く」として >>346 に同意
0381サマリー2
NGNG>>359 「昔は自慰だったが、最近は覗きが多くて耽れないのでは?」と >>355 に返答
>>368 「自慰は任意であって、電力を賄う為ではない」と >>353 に反論
ただし「独りで耽るべきで、露出行為は変態である」と同意
>>369 「金は天下の廻り物」と >>368 に反論
>>370 「露出行為の意図がないなら、真夏にコートは着ないだろ?」と >>368 に反論
>>372 「自慰はお家でおやりなさい」と >>368 に反論
>>373 「変態に何言っても無駄」と >>368 を擁護
>>374 「独りで耽ります」と >>372 に同意
>>375 「変態とフェチの違いに気付かないとアンチが増える」と >>373 に指摘
>>376 「HSPは厨房で腐った鯛を釣ってたが、鮮度抜群のRubyは何か釣ってる?」と指摘
>>377 「廻るお寿司は厨房むき」と反論しつつ >>376 を人格攻撃
>>378 末期であることを >>377 に指摘
0382サマリー3
NGNG驚くべきは、Pythonが早い段階で渦中から消えている点です。
Ruby信者には今後一層の努力を期待します。
0383デフォルトの名無しさん
NGNGこれ,定説。
0384デフォルトの名無しさん
NGNG激しく同意
特にWindowsに対して一番好意的なのはPythonだね。
でも日本での盛り上がりはイマイチのような気も?
0385デフォルトの名無しさん
NGNGその点Rubyは日本で生まれているから
有利なはずなんだが。
0386デフォルトの名無しさん
NGNG0387デフォルトの名無しさん
NGNG強く同意
0388デフォルトの名無しさん
NGNG0389デフォルトの名無しさん
NGNGお、ま、え、という奴はぁ。
話を一番最初にもどすんじゃなーーーい
0390388
NGNGそれを使っている、作っている人たちの性格や宗教は
論点ではない。と、ミーはつーれつに思うザンス!
0391デフォルトの名無しさん
NGNG大きく影響を与えてると思う。
0392デフォルトの名無しさん
NGNG0393デフォルトの名無しさん
NGNG強く同意
0395デフォルトの名無しさん
NGNGPython派は結構実力派が出てきてる。ruby-mlあたりで泣きついて、
長老クラスに出張してもらいなさい。そうすればまちっと盛り上がる。
0396デフォルトの名無しさん
NGNG主な点はもう出揃ったと思うけどな。
0397デフォルトの名無しさん
NGNG長老クラスが出てきたらそれこそRuby一色になって
Ruby信者が荒れだすから嫌だな。
0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNGやむをえんだろう。
Rubyが文法で批判されてるのはendとか、イテレータが
慣れないとかそんなのしかないだろ。
0400デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGRubyの場合、ドキュメントを書く人間の絶対数が足りてないから、有利さ
を生かせてないんじゃないかな?
下手な日本人が書く日本語ドキュメントより、多数の人間に練られた英語
ドキュメントを、和訳した物の方が質が高いような気がする。
Ruby本とその他の言語の本を、比較しても良く分かる。
それに、面白いコアな話は英語MLで行われる訳だから、日本生まれの
有利さって、特にないんじゃ?
0402ぎこるび
NGNGどうもありがとうございます。
技術力ゼロな厨房なのでえらそーにはとてもできませんです。
>>395
ご察しの通り学生です。
とはいえ、学生であることを免罪符にするのも情けないですが・・・
僕では力不足なので、2ch をみている Rubyist の方参戦おねがいしまーす。
日記を読んでいる限りでは何人かいますよね?
# ruby-ml で募ったらカミングアウト宣言になっちゃう
0403デフォルトの名無しさん
NGNGRuby本ってそんなに悪書?
まつもとさんが書いた「オブジェクト指向スクリプト言語Ruby」持ってる
けど、手っ取り早くRubyやオブジェクト指向を学ぶのに良い
本だと思ったよ。
意味はわかりにくいけど、言いたい内容は良いと思う。
0404Rubyは
NGNG結局後発なのに、飛びつくほど使いやすく無い。
0405デフォルトの名無しさん
NGNG意味が分かり難い時点で、解説本になってないだろがゴルァ
ってのは置いといて(藁
例えば、項目順に追っていくと、変数、定数、代入、演算子、制御構造
数値と計算、文字列、正規表現、入出力、配列、ハッシュ、って?
どういう基準で、この順番は決定されたんだか(;´Д`)
他にも、何の前振りもなく新しい事柄が出て来たりして、索引を検索
すると、今読んでるページより後のページに説明が載ってたり。
アッチへ行ったりコッチへ来たりと、散文的で忙しい。
悪書とまでは言わんが、質が高いとは言えないと思うよ。
0406403
NGNG許容範囲なんだな。
重要なのは、言わんとしている内容。
0407デフォルトの名無しさん
NGNGイテレータは慣れないんじゃなくて要らないのでは?
0408デフォルトの名無しさん
NGNG言語仕様におけるRubyマンセーの時代も終わり。
C#マンセー!
0409デフォルトの名無しさん
NGNG0410デフォルトの名無しさん
NGNGいや、Ruby.NETが出ます。(藁
0411デフォルトの名無しさん
NGNG0412デフォルトの名無しさん
NGNGC#の方が優れた言語だし。(藁
0413デフォルトの名無しさん
NGNG出ることが決まってます。
0414デフォルトの名無しさん
NGNGっつーか、C#もPython.NETもRuby.NETも全部あってもいいんじゃないの?
何で、***はいらん、ってことにいつもなるんだ。
0415デフォルトの名無しさん
NGNG.NET版のMercuryよりはユーザーも多そうだし。
0416デフォルトの名無しさん
NGNGやつもいるだろ。いらんとは思わないけど、知らん。
0417デフォルトの名無しさん
NGNG>ただ、a +1がa + 1にならないとか、変数の扱いとか癖があるのは確か。
あれは失策だと思う。
伝統だというならば(笑)、単語なんかよりも
こういう所こそ伝統に従って欲しいよ。
あと、racc本でも看破してたし、このスレにも有ったけど、
メソッドの後ろの()を省略できるってのも、
芋蔓式にあちこち変な文法になってしまう要因の一つ。
かくて、こまかい変なところが多いんだよなあ。
#もちろん(?)endもなかば変だと思う。
#伝統ってのはもしかしてcshのことか?(笑)
matz氏、あぁ言っている割には、実際自分はrubyを
結構(自分の好みに基づき)簡易言語くさくして
しまっている部分が多いと思う。
基本的構造は悪くないような気がするのだが、
あーいう細かいところが残念。
#で、いざとなったら過去との互換性を言い出すのってなんだかなあ。
#OpenSourceって身軽さが無いとメリット無いんでわ…
#かたやPython陣営はどうなのかは知りませんが。
イテレータは…まぁあんなもんかなという気がする。
PostScriptみたいな(笑)インライン手続きか、継続か、
どっちかがあれば色々幸せになるっていう。
0418デフォルトの名無しさん
NGNGメソッドの後ろの () を省略できないようにするというのは一つの考え方だね。
ただ、 getter (attr_reader) メソッドは point.x みたいに書きたいし気はする。
そこら辺が一貫性を保つ難しさだよね。Ruby のバランス感覚はうまく行っている方だと思うよ。
Ruby 自体が安定するまでは、文法は変えない方がいいんじゃないかな。
互換性については、あまりおろそかにしてほしくないな。言語を作ってる人はいろいろ
よくしていくのが楽しいだろうけど、使う側からすると動いていた物が動かなくなっては直し、の
繰り返しはだるい。
GNU や Linux 方面は互換性を軽視する風潮があって、自分が追っかける時間がないときは
うらめしくなる。GTK+ の API 変更にはうんざり来て、使う気しなくなったよ。
0419デフォルトの名無しさん
NGNGLinux Is Not UniX! だし。(由来はともかく、思想はそう)
GTK+はまだまだ枯れるには時間が掛かるだろう。
0420デフォルトの名無しさん
NGNG0421デフォルトの名無しさん
NGNG>a +1 なんて伝統は style(9) 見ても載ってないが。
いや、そじゃなくて、
a +1 と a + 1 とが挙動違う「という伝統」は
見たことないような気がするです。style以前の問題。
>getter (attr_reader) メソッドは point.x みたいに書きたいし気はする
あ。それはありますね。
ただ、それを期待するならば
引数0個の時だけ括弧無しor略
ならば良い(pascalっぽく)んじゃないかなあ?
引数有るときも括弧省略できるようになんて欲出すから…
…あれ?pascalはなんで破綻しないんだっけ?
あぁ、;が有るからか。
そういや、;有っても無くても良いというrubyの文法も
誰かが怒ってたなあ。
うーん。やっぱりSmalltalkの文法はうまいというかずるい。
0422名無しさん@LV2001
NGNGていうか、;がなくて破綻してる例って具体的に何?
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG>見たことないような気がするです。style以前の問題。
OOPLの話をしていて Smalltalk 知らずか...
0425デフォルトの名無しさん
NGNGそれじゃなく、Cライク(笑)言語の伝統を
rubyは意識してるという話じゃなかったっけ?
0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNGそうでしたかゴメンナサイ。
0428デフォルトの名無しさん
NGNGa +1 は「NameError: undefined method `a' for #<Object:0x8095c88>」になるね。
0429デフォルトの名無しさん
NGNG+ n として動作する、という仕様になってると良いのに。
+1 オペレータとかって意味論上も問題ないと思うし。
0430デフォルトの名無しさん
NGNGRubyって痛いね。
これって仕様? それとも不具合?
どっちにしても今のままじゃ痛すぎる(゚Д゚)y-~
0431デフォルトの名無しさん
NGNGそこらへんをruby-listとかruby-devに投稿してみたら
いかがでしょう。まつもとさんをうなずかせる事が出来れば
採用されるんじゃないかな。
0432デフォルトの名無しさん
NGNG仕様です。ここにRubyの考え方というか態度みたいなものが
あらわれているような気がします。
誰かPythonっぽい構文に作りなおさないかな。
0433デフォルトの名無しさん
NGNGa +1 みたいな無機的な例だけ見ると痛く見えるかもしれないけど、
y = Math.sin -1
または
include Math
# ...
y = sin -x
だったら sin(-x) に見えるし、そう解釈してほしいと考えるのはごく自然だと思う。
(メソッド呼び出しに括弧を省略できるようになっている以上は)
0434デフォルトの名無しさん
NGNG数字を特別扱いするのはRubyらしくないんじゃないかな。
定数なら置けて変数は置けないというのではおかしいし。
0435デフォルトの名無しさん
NGNGimport math
"..."
y = math.sin(-x)
と書くことが強制されるから、曖昧さの発生する心配はないよね。
そして、 print のようなものはメソッド呼び出しではないので、単に
print -y
と書けるわけだ。
一方、 Ruby では組み込み関数に見える print なども単なるメソッドと
して存在しているので、メソッド呼び出しの括弧を省略できないことに
してしまうと
print(-y, "\n")
などと書かないといけなくなって、煩わしくなってしまう。(そう感じない人もいるだろうけど)
これとかインデントの例を考えると、
- Python は、文法や仕様によってスタイルを規定し、美しさを実現している。
- Ruby は、実装仕様の美しさを追求した上で、スタイルについてはユーザに任せている。
のような言い方もできるかと思う。
0436>>434
NGNG433の例を見れば分かる通り、1でもxでも同じこと。
# Pythonの話が少ないな。
0437デフォルトの名無しさん
NGNG0438>>436
NGNG文法レベルで、あるオブジェクトが Numeric かどうか判定するというのは変だから、
そういうことを言っているんじゃないんだよね?
0439デフォルトの名無しさん
NGNG実装仕様の美しさって?
これ以外については納得。
0440439
NGNG0441デフォルトの名無しさん
NGNGa + 1にするという仕様だって痛いよ。
エラーにするべきかな。
0442デフォルトの名無しさん
NGNG例えば、そこで挙げられているように、
require, print, open, exit など、組み込み関数呼び出しに見える物も、
実際にはみんな(Kernel モジュールの)メソッドとして実装されている。
デフォルトで Kernel モジュール内に居ることになっているので、 private
メソッドの呼び出し時はレシーバを省略できるというルールとも矛盾しない。
ユーザ定義のメソッドとまったく同様に、再定義や alias の設定が可能。
ということかな。
ルール上、何かを特別扱いしている例が Perl などに比べると圧倒的に少ない。
予定調和的だけど、「Perl や Python みたいにこう書けたらいいな」と
「こうすれば例外事項が少なくて美しい」をうまく折り合い付けている感じ。
Perl との互換性を意識しすぎた結果、文法の曖昧さが遺伝しちゃってるけどね。
たぶん、そこが Python ファンにとっては気に入らないところの一つなのかも
しれない。
余談だけど、 Python 使いの知り合い書いた Ruby のコードがきれいで感心したよ。
0443デフォルトの名無しさん
NGNG「Rubyの言語使用がが美しい」んじゃなくて、「Rubyのようなものを美しい言語使用という」
みたいな感じ。
言語を普及させるには、プロモーション活動やドキュメント整備などの
泥臭い物量作戦が必要なのに、それをせずに「仕組みはよういしたから」
ってつきはなされてる漢字。
これだと、結局、インテリが何か騒いでるよ、ってぐらいで一般大衆
からは見捨てられそう。
0444デフォルトの名無しさん
NGNGPython についての話があまり出なくていまひとつ盛り上がらない。
0445デフォルトの名無しさん
NGNGつまらんよ
0446デフォルトの名無しさん
NGNGだって、無いよりマシじゃん?
ふつー(?)の手続き指向な言語で、OO化すると却って汚くなる所って
あんまり無いような気がする。それがゆえにOOが広まる
(嫌いな人に言わせれば、のさばる)んじゃないの…かな?
ところでmatz氏が言っている「言語のパラダイムは今まで2度しか
シフトしたことがない」ってのは、どのくらい正しいんでしょうか?
0447デフォルトの名無しさん
NGNG構造化 と オブジェクト指向 ってこと?
正しいんじゃないかな。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGブロックのパラメータ(仮引数)を指定するときだよ。
do |x| ... end
{ |x| ... }
のどっちか。この二つは結合の優先順位が違うだけ。
0450デフォルトの名無しさん
NGNGPythonだと型はどうなってるの?
Rubyは型がない言語らしいけど。
0451デフォルトの名無しさん
NGNGPythonは…?
0452デフォルトの名無しさん
NGNGネタの多さはRubyだね(゚Д゚)y-~
0453デフォルトの名無しさん
NGNG(-2)RubyはWindowsじゃまともに使えない。
(-1)おごがいる(約束)
(-1)endがあるのにbeginがない。
(+1)日本語ドキュメントがより多い。
(**)楽しい。
(+1)Cで拡張ライブラリを書きやすい。
(+1)オブジェクト指向が徹底している。
(+1)イテレータは慣れると便利。
(+1)オブジェクトの属性にアクセスするのに`self.'をいちいち付ける必要がない。
(-2)a +1がa + 1にならない。
(-1)実績がよりない。
Python
(+1).NETに対応する。
(+1)ライブラリがより豊富。
(-1)インデントの強制する言語はあまり無い。
(**)気持ちいい。
(-1)遅い。
(+2)日英問わずドキュメントが膨大。
(+1)ライセンスがゆるい。
(+1)実績がよりある。
現時点では-2対4でPythonの勝ち。
I Love Ruby(ワラ
0454453
NGNGRuby
(-1)キショイ信者がいる。
(-1)マイナス要因な信者が多い。
Python
(-1)生みの親がキショイ。
現時点では-4対3でPythonの勝ち。
I Love C++(クソ
0455デフォルトの名無しさん
NGNG(-1)言語仕様がキショイ。
0456デフォルトの名無しさん
NGNGPython にも妙な文法はあるぞ。2.0 で追加された
[ expr for expr1 in seq1 for expr2 in seq2 ... for exprN in seqN if cond ]
って、文法組み込みにしては多機能過ぎる気がする。あまり読みやすくないしね。
print >> sys.stderr, "Warning"
てのも何か変。sys.stderr.write() があるんだから sys.stderr.print() を追加した方が
いい気もするし、そもそもなんで print は標準出力専用だったんだろう。
あ、 sys.stderr.print() だと、ステートメントじゃないから括弧を省略できないのが煩わしいか。
0457デフォルトの名無しさん
NGNG(-1)ESRがいる(約束)
0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNG”おご”と”ESR”の事か?だったら激しく同意(藁
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNGなったらなったで読みにくくて困るぞ。
0462デフォルトの名無しさん
NGNG同感。a +1となって困ったことは一度もない。
まあ、エラーにするとかa + 1と解釈しろというのは分かるが。
そもそも(和でなく正の)+がなぜ必要なのか分からん。
あと、それならむしろ、「区切りが';'でない」を(-1)にすべきだと思う。
これとa +1とendをあわせて(-2)くらいでいいんじゃないかな。
0463デフォルトの名無しさん
NGNG「正の+」を可読性というかメッセージ性をもたせるためにCなんかで
使うことがある。負の数と正の数が混在してるときとか。
けど、無いなら無いでいいね。
0464デフォルトの名無しさん
NGNG(-1)OS(UNIX)依存性ちと高すぎ
#なんで言語コアにOSべったり依存機能「のInterface」が
#そんなに必要なんだ?依存「の実装」は中に密かに必要では
#あるかも知れないが。
OSモジュールまんせー
0465デフォルトの名無しさん
NGNGけどね、これからRubyの勉強をしようって人がこのクソ仕
様を知ったらどう思うかね?
他にもこんなクソ仕様があるかもって思うんじゃねぇーの。
いや、思うね。
0466デフォルトの名無しさん
NGNGもうそのネタはあきたよ。
0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG(-2)真偽型が言語仕様として存在しない。0 と "" が偽扱い。
re1.search(str1) で見つからなかった場合は 0 を返す。
str1.find(str2) で見つからなかった場合は -1 を返す。(最初の文字で見つかったら 0)
真偽を統一的に判定できないのはちょっとダサい。
Rubyでは 0 や "" は偽ではなく、 nil と false だけが偽。
数値を返すメソッドでも文字列を返すメソッドでも、偽は偽として返せる。
どうでもいいけど、 Perlは "0" まで偽になるから -3 だな。
0469訂正
NGNG0470デフォルトの名無しさん
NGNG同意。
無エラーと仮定して、例外を拾うほうがPython的なのかもしれないが。
0471デフォルトの名無しさん
NGNG数値を返すメソッドでも文字列を返すメソッドでも、偽は偽として返せる。
0472デフォルトの名無しさん
NGNG>Rubyでは 0 や "" は偽ではなく、 nil と false だけが偽。
>数値を返すメソッドでも文字列を返すメソッドでも、偽は偽として返せる。
マジか?
だったらスゲー好きに慣れそう。
Rubyマンセー
0473デフォルトの名無しさん
NGNGhoge +1みたら、俺はhoge(+1)かもしれないって迷うぞ。
そういうあいまいな書き方する奴がクソだろう。
0474デフォルトの名無しさん
NGNGあなたは自らの発言においてクソ仕様ということを証明しまちた。
おめでたう。
0475デフォルトの名無しさん
NGNGんだな。SyntaxSalt(変なことを書けないように
ユーザーの"自由"を制限する仕組み…だっけか?)
とかいう奴になっていないわけだ。
大筋は良い言語なんだけど、所々痛いところが有る…
0476デフォルトの名無しさん
NGNGSyntaxSalt という言葉は知らなかった。Sugar だけじゃないのな。
賢くなった(けどなぜかsage
0477デフォルトの名無しさん
NGNGじゃあ、 hoge +1はいかなる場合もエラーにしろってことか?
そうじゃないとクソ仕様なのか?
0478デフォルトの名無しさん
NGNG0479デフォルトの名無しさん
NGNG0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNGあまりなさそうだね。括弧の省略問題は、自分(達)でスタイルを決めて守れば済むし。
正直言って、1.6以降のPythonの言語仕様の拡張の仕方には不安になる。ほかの言語の
いいところを持ってくるということをしないで独自の道を進んでいる割には、
一貫性を感じない。
「Rubyのこの文法・機能がPythonにも欲しい」というのはないの?
0482デフォルトの名無しさん
NGNG- ライブラリの充実
- Zopeなど、強力なWebアプリケーション開発フレームワーク
- 統合開発環境
- ドキュメント
- Windowsサポート
そしてそれらとあいまって普及度を高めるということかな。
0483481
NGNGRubyを使ってる人の一部は言語自体にものすごい興味を持っていて、いつも
PerlやPythonの動きを見つめていたり、Scheme, Smalltalk, Haskell, ML
などの機能をうまく引き入れようと年中アイデアを練ったりしてるという
ことを見ているもんだから、Pythonのコミュニティはどうなのかな、と
興味を持ったんです。
Pythonハッカーは他の言語をどう見ているのか、あるいはこれぞPythonだ
という矜持を持っているならそれはどういうものなのか、という辺りを
聞いてみたい。
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNGSmalltalkはともかく
RubyにSchemeやHaskellやMLの良いところを...
って想像がつかない……
0486デフォルトの名無しさん
NGNGごく一例を上げるなら、 Continuation は Scheme から持ってきた機能だし、
Haskell のさまざまなリスト操作関数をごそっと Ruby に移植した人もいる。
GHC や ML に興味を持っている人もいるし、 Smalltalker も多いから、
(特に英語の)メーリングリストではおもしろい議論がたくさん見られるよ。
0487デフォルトの名無しさん
NGNGRubyはそういうゴタマゼが気になるというか、冗長というか、
感覚的にあわない。AwkのBEGINやENDまであるんだもん。
逆にPythonはシンプルさゆえに好きなんだけど、481の言うように
最近の拡張路線?には不安を覚える。
言語仕様は膨れ上がる一方なことが多いけど、
多すぎず少なすぎずのバランスが肝要なわけで。
0488デフォルトの名無しさん
NGNG最近Pythonが節操なくごちゃごちゃ突っ込んでる、という意見には
不同意。1.6〜2.1で追加された機能も、ほとんどは何年も前から議
論されてたのがようやく実現したんじゃない? GCとかRich comparison、
Unicodeとかね。
以前のようにGuidoがボランティアで開発してたのと違って、今では
超強力なPythonLabチームがフルタイムでhogeってる。それで進化のス
ピードが以前より早くなっている、というだけじゃないかな。別に
不安になる必要はないと思う。
0489デフォルトの名無しさん
NGNGライブラリはそのうち増えてくだろうが、それ以外はあんまり期待できないような。
ドキュメントの少なさなんて異常。あれで本気でユーザーが増えると思ってるのか。
0490デフォルトの名無しさん
NGNG思ってるさ。
だって世間知らずなんだもーん(プッ
0491デフォルトの名無しさん
NGNG有名なハッカーがPythonを一番初めに学ぶべき言語だと言ってるよね。
0492デフォルトの名無しさん
NGNGえーそうだったんですか。あれってDOCは少ないんですか。
十分とは口裂けても言わないけど、あんなもんだよなと思っていた。
>>491
Rubyを知らなかった彼はRubyの名を書かなかった、というのは
事実なんだろうけど、
Rubyの名を書かなかった「原因」がRubyを知らなかったから、
なのかどうかは凄く怪しいかも。
知っても書くだろうか?取り敢えず使っている分には
そんなに悪くないとは思うんだけど…まぁ…
Lispまんせーな面白い文章が最近公開されてましたよね。
ふつーのやつらをぶちのめせ、とかいう奴。
matz氏に言わせれば、ミニマリズムだから嫌だ、で
話は終わるんでしょうね…。
うーむ。誰か彼(の名声)のために
画期的なwwwアプリ書いてあげるよろし。
0493デフォルトの名無しさん
NGNGBEGIN/ENDは確かにawk起源だけど、awkというよりはperlから持ってきたという感じ。
Perlの置き換えも可能なように、というのがRubyの一つの大きな目標だったからね。
BEGIN/ENDはワンライナーや書き捨て物以外では誰も使っていないと思う。
その点で言うと、俺がRubyにした決め手は、PythonではPerlを完全に置き換えて
捨て去ることはできないけど、Rubyならワンライナーも含めてPerlを使わなくて
済むようになる、ということだった。これは単に俺がコマンドライン指向だから
そう考えたというだけだけど。
>>489-490
ドキュメントはRuby Documentation Projectにだいぶ揃って来てると思うけどな。
ソースも本当のコアの部分以外は読みやすいし、コードのサンプルとしての実例も
かなり揃ったし、雑誌記事も書籍も豊富になってきたし。異常な状態というのは
もう過去のことになりつつあるよ。
目的別のMLもruby-lang.org以外にいろいろできてきたから質問する場所はあるし、
情報がなくて困ることはないと思う。IRCチャンネルもあるね。
0494デフォルトの名無しさん
NGNGPythonLabチーム,ってのはRubyに対する大きなアドバンテージ
じゃないだろか。フルタイムで活動するハッカーが何人もいるの
と、ボランティアだけで細々と開発するのじゃ、大違い。
# Tcl/Tkの例もあるけどね(笑
0495デフォルトの名無しさん
NGNGUNIX系の今やオープンな世界では焦ることはないと思うけど、Microsoft世界に
関してはこれから一、二年が正念場かもしれない。.NET対応とかKomodoとか。
0496デフォルトの名無しさん
NGNG情報ってどこにありますか?できれば日本語による解説だと
嬉しいです。
一応Google(日本語)、goo.ne.jpで調べたら一つもヒットしませんでした。
これからexciteとかも調べます。
0497デフォルトの名無しさん
NGNG面倒になってhttp://www.python.org/search/行って検索したんですが、
PythonLabで検索しても見つかりませんでした。Python Labと分けると
4000以上ヒットしちゃって困りました。
PythonLabという単語自体あっているのかどうかわかりません。
どなたか情報下さい〜。
0498デフォルトの名無しさん
NGNGそれで専属の人雇うとかさ。
0499デフォルトの名無しさん
NGNGRubyに出したっていうより
まつもとさんに出したって感じなんちゃうの?
とりあえず人を雇うってのはなさそう。
0500デフォルトの名無しさん
NGNGいない。海外での知名度。ただそれだけの差。
0501デフォルトの名無しさん
NGNG0502デフォルトの名無しさん
NGNG1,200万円の資金で人を雇うというのはちょっと無理だね。単発の調査依頼がせいぜい。
フルタイマーはRubyを積極的にビジネスに使う企業が現れてからの話だね。
まつもとさんのいる会社はどうなんだろう。
0503デフォルトの名無しさん
NGNGとりあえずwww.digicool.comまで辿り着きました。
日本語の情報が無いのでアレなんですが、Pythonの製作者集団
がPythonLabsで、そのリーダーがGuido van Rossumで、今は
Digital Creationに勤めている、って感じ?
そのリーダだけがDigital Creationに勤めているのか、PythonLabs
チーム全員がそうなのかは読み取れませんでした。英語力無さ過ぎ(涙。
0504デフォルトの名無しさん
NGNGってなんで無いの?
0505デフォルトの名無しさん
NGNG全員 Digital Creationsに雇われてるよ。っつーか、なんで
そんなこと調べてんの?
0506デフォルトの名無しさん
NGNG日本じゃまだまだってことかな?
0507デフォルトの名無しさん
NGNG話し合う事なんてない
0508デフォルトの名無しさん
NGNG大体、fj.comp.lang.* なんて、読んでるヤツいるんか?
素人ときてぃちゃんの他に?
0509デフォルトの名無しさん
NGNGいえ、単なる興味からなのですが、>>494に
> PythonLabチーム,ってのはRubyに対する大きなアドバンテージ
というのを読んで、そんなに凄いんならどういう人達か知りたいなぁ、
と思ったわけです。あ、私はまだPythonを知ったばかりの者です。
申し訳ない。
0510デフォルトの名無しさん
NGNGあーあーごめんね。
おれはキティだし素人だしもっといえば
このスレ読んでpythonかじってみたいって
思ってみただけの厨房だから、
fj.comp.lang.pythonが有ったら
”subject:教えてください!!”
でpostしたいと思ったんだよ。文句あっかゴルァ!!!
0511デフォルトの名無しさん
NGNG今のところは、コードを編集できるだけみたいだけど。
0512デフォルトの名無しさん
NGNG1200万払ってでも取得する価値はある。
でもこれっぽっちじゃ買えないかな?
0513デフォルトの名無しさん
NGNG> 1200万払ってでも取得する価値はある。
うんこでも食ってろ。
0514デフォルトの名無しさん
NGNGdownloadなんて一番上にくるべきだよ。
0515デフォルトの名無しさん
NGNG教えて君カッコイイ!
0516デフォルトの名無しさん
NGNG行くたびにダウンロードするわけじゃないのだから
別にいいと思われ。
0517デフォルトの名無しさん
NGNG>>516
Ruby陣営にまともな(=標準レベルの)webサイトデザイナがいないのはもったいないと思われ。
って口調はキモいと思われ。
総じて多くの非本質的で細かい部分の不備の集積で
Rubyが大損こいてることは間違いない。
0518デフォルトの名無しさん
NGNGお前はどんな web site がいいと言うのだ?
あれで十分じゃないか。
0519デフォルトの名無しさん
NGNGこれぐらいか http://www.perl.com/
これぐらいか http://www.python.org/
これぐらい http://www.geocities.co.jp/SiliconValley-Oakland/9028/
0520518
NGNGつまりデザインの問題ね。
でもそれは非本質的でRubyの損にはつながってないと思うよ。
0521デフォルトの名無しさん
NGNG3番目は置いとくとして、PerlのサイトはカッコイイけどPythonのサイトはダサくね?
軽いのはいいけど、デザインはちょっとね。
0522デフォルトの名無しさん
NGNG定説です。
0523522
NGNG0524デフォルトの名無しさん
NGNG1 年半前に fj.comp.lang.* 新設提案が CFD でありました。
2 ヶ月間のアンケート結果がこれ。
(01) fj.comp.lang.assembler Total: 13 Yes: 5 No: 8
(01-00) fj.comp.lang.asm Total: 7 Yes: 5 No: 2
(02) fj.comp.lang.corba Total: 11 Yes: 3 No: 8
(03) fj.comp.lang.haskell Total: 12 Yes: 6 No: 6
(04) fj.comp.lang.idl Total: 12 Yes: 4 No: 8
(05) fj.comp.lang.jcl Total: 11 Yes: 1 No: 10
(06) fj.comp.lang.lex Total: 14 Yes: 11 No: 3
(07) fj.comp.lang.matlab Total: 14 Yes: 8 No: 6
(08) fj.comp.lang.octave Total: 14 Yes: 5 No: 9
(09) fj.comp.lang.python Total: 17 Yes: 15 No: 2
(10) fj.comp.lang.rexx Total: 12 Yes: 5 No: 7
(11) fj.comp.lang.scheme Total: 13 Yes: 6 No: 7
(12) fj.comp.lang.sql Total: 11 Yes: 8 No: 3
(13) fj.comp.lang.yacc Total: 14 Yes: 11 No: 3
賛否両論あるし、CFV 条件の 50 人に比べても投票者が
少ないということで、どれも作成されませんでした。
fj.comp.lang.misc がすいてるんでそこでやれとのこと。
0525デフォルトの名無しさん
NGNGインストールしてみました。で、動きませんでした。
ロゴが表示されてそのまま終了する…何故に?
>>514
メニューが一番下にあるのも使いづらいね。
項目羅列的で無駄はないので(加えてサイトが大きいわけでもないので)、
見つけたいものが見つからないってことはないけども。
0526デフォルトの名無しさん
NGNGというかむしろ情報(へのリンク)の配置を問題にしてるんだけど。
Rubyサイトのイタさは、まともな人間が想定している
抽象webサイトのインターフェースを完全に無視してること。
・What's Ruby?
「Rubyってなんだろう?」もっとも基本的な質問に答えます。
・リンク
Rubyを扱ったページへのリンク集です。
こんな意味のない説明削ってサイトの上か左に並べるだけで
ずっとわかりやすくなるのに。
と指摘したところでsite map丸暗記しちゃってる
Linux/CUI系Rubyヲタにはその重要性は理解できないと思うけどさ。
0527デフォルトの名無しさん
NGNGまつもととかね(藁
0528デフォルトの名無しさん
NGNGhttp://www.rubycentral.com/
も挙げておくよ。シンプルだけど必要十分なポータルだと思う。
Windows用のOne-click Windows installerも置いてあるね。俺は試してないけど。
Ruby Cookbook や RubyGarden も重宝してます。
日本語のPythonサイトとしては
http://python.friendly.co.jp/html/index.pyp
あたりがポピュラー?
0529デフォルトの名無しさん
NGNGカコイイ!
0530504=510
NGNG”subject:ふーばー#python”
とかするんですかねぇ。
でもmiscじゃ検索とか不便そうなので
素直に入門書でも買いますです。
おすすめとか有ったらさりげなく教えてくれるとうれしいです。
0531デフォルトの名無しさん
NGNG>まともな人間が想定している
>抽象webサイトのインターフェース
これってどういうものを指していますか?
というか、示された事例はそのInterfaceに
どんなふうに反しているのか、教えてください。
そうすりゃボクも厨房から解脱できるかな(無理か
あと、Interfaceというと、
やっぱりUIの出来不出来を語るスレに
話ふったほうがよいんでしょうか?
0532525
NGNG人間が文字を見るときの視線移動は左上から右下。
なので、ロゴ・見出し・メニューの類は左や上に置くと
そこがどういうサイトでどういう内容なのかが把握しやすいし使いやすい。
Webサイトのインタフェースに関しては
「ノンデザイナーズデザインブック」
「わかりやすくて効果的 Webデザイン基礎講座」あたりの本を薦めるよ。
0533デフォルトの名無しさん
NGNG人間がって……。
昔の日本人は右上から左下だったのだぞ。
横書きでも右から左へだったのだぞ。
0534デフォルトの名無しさん
NGNGスマソ。訂正します。
(欧米的な左から右の横書き文章になれた)人間が……
アラビア語圏向きのサイトなら右にメニューやね。
左右交互書きの言語の場合は真ん中か(笑
0535デフォルトの名無しさん
NGNG教えてクン発見。
まず>>519や>>528が示したサイトを観察してみな。
見た目のハデさに騙されないようにね。
>あと、Interfaceというと、
>やっぱりUIの出来不出来を語るスレに
>話ふったほうがよいんでしょうか?
そうです。
スレっつーか板違いだ。
0536デフォルトの名無しさん
NGNG屁理屈クン発見。
自慢してんの?
ネタ?
馬鹿丸出し。
0537デフォルトの名無しさん
NGNG「Jakob Nielsen博士のAlertbox」
http://www.usability.gr.jp/alertbox/
スレの趣旨に合わないのでsage。
0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNGpython入門と、はじめてのpython
どっちがいいの?
0540デフォルトの名無しさん
NGNG>>533は間違ってるのか?
>>532も>>534で訂正してるじゃん。
0542デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNGRubyはO'ReillyやASCIIが後押ししてるけど、Pythonは一部の独立系ベンダだけ?
Rubyは、Perlハッカーをうまく取り込むことにある程度成功していると思う。
それに加えて、得意のOO機能が受けてJavaやOO界の人もうまく魅きつけた。
アナパタ勉強会なんかでも取り上げられて好評だし、なんだかんだ言って
当初から狙っていた層に着実に浸透している雰囲気。
国外はまだまだこれからだけど、OOPSLAでも紹介されるみたいだし、雑誌での
露出も増えてきているようだから、Pythonまでは行かなくてもそこそこいけるんじゃ
なかろうか。Rubyで作ったという海外のWebサイトもいくつか出てきてるね。
YARPCあげ
0545デフォルトの名無しさん
NGNG史上最悪のクソ言語って感じ。あれならVBの方がずっとましだ。
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNG具体的な内容きぼん
0549デフォルトの名無しさん
NGNG日本語版
http://bulknews.net/lib/doc-ja/exegesis2.ja.html
この調子でいくとPerl10くらいでまんま英語で記述できるようになったりして。
0550デフォルトの名無しさん
NGNGis や are 演算子ってどうよ?
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNGPerlばかり使ってた人にとっては、Rubyは天使かも。
でもSmalltalkerから見れば、まだまだRubyもオモチャだ。
0553PerlもPythonも好きさ
NGNG0554>553
NGNG死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
0555デフォルトの名無しさん
NGNGさあ頃せ。
0556>>553
NGNG死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
055755
NGNG0559デフォルトの名無しさん
NGNG二人仲良く心中しなさい。
0560デフォルトの名無しさん
NGNGぺーる
るびい
0561デフォルトの名無しさん
NGNG気色悪い臭気を漂わせてるからすぐ分かるんだよ低脳。
早く死んでくれ。
みんなruby使え
0562デフォルトの名無しさん
NGNGruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ね
0563デフォルトの名無しさん
NGNGruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ねruby使い氏ね
0564デフォルトの名無しさん
NGNGお前臭いよ
風呂入れ
ゴミ箱あさるな
職につけ
歯を磨け
0565デフォルトの名無しさん
NGNGPerlを作ってるハッカーたちは良かれと思ってやってるわけでしょ?
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNG0568549
NGNG549で上げた文書は読んでくれた?
キッチンシンク主義がますます強まって
Perlハッカー大喜び、Perlニュービー大混乱という感じだ。
あの半端なオブジェクト指向機能も良くないよなあ。
ここまで広まってると高い後方互換性を確保せざるを得ないのも分かるが。
0569デフォルトの名無しさん
NGNG良かれと思って作ればいい言語になるのか?そんな単純なことじゃないだろう。
Perlに限らずすべての言語について言えると思うが。
0570アサハラ
NGNG0571さちこ
NGNG0572デフォルトの名無しさん
NGNGで、何がそんなに気に入らないんだ?
具体的に言ってくれよ。
お前がPerlを良く知らないから、キッチンシンクが気に入らないのか?
0573デフォルトの名無しさん
NGNGPerl5で導入されたオブジェクト指向機能がより無理のない形になって
言語仕様がすっきりするかと勝手に期待していただけ。
確かに使い捨てのスクリプト作る程度にしか使ってないけどさ。
0574デフォルトの名無しさん
NGNG0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGキッチンシンク主義って何ですか?
>http://www.google.com/
>キッチンシンク主義に該当するページが見つかりませんでした。
0577デフォルトの名無しさん
NGNGhttp://www.google.com/search?hl=ja&safe=off&q=kitchen-sink-ism&lr=
全言語のページからkitchen-sink-ismを検索しました。
約10件中1 - 7件目 ・検索にかかった時間0.03秒
http://www.google.com/search?hl=ja&safe=off&q=kitchen-sink+perl&lr=
全言語のページからkitchen-sink perlを検索しました。
約1,720件中1 - 10件目 ・検索にかかった時間0.63秒
0578デフォルトの名無しさん
NGNG1ページ目の結果にざっと目を通してみましたが、良くわかりませんでした。
簡単に言うとどのような事なんでしょう?
0579デフォルトの名無しさん
NGNG皿でも茶碗でもなんでも流し台につっこむでしょ?
0580デフォルトの名無しさん
NGNGあぁ、なるほど。誘導ありがとうございます。
汚くて見栄の悪いPerl(他の言語でも?)を揶揄った言葉なんすね。
0581デフォルトの名無しさん
NGNGちとちがう。
必要なものは流しに全部つっこんであるから、
どの辺に皿があってはしがあるのか把握している人には便利極まりない。
けど、そうでない人にとってはなんだか魔窟にみえるかも。
ということだ。
0582デフォルトの名無しさん
NGNG(とまつもとさんが信じているところの)オブジェクト指向アプローチだよ、
と最初のRuby本に書いてある。オブジェクトの階層などに従って整理
し直した、システムキッチンという感じ?
0583デフォルトの名無しさん
NGNGshige shine
0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNG0586でふぉるとの名無しさん
NGNG特に他言語攻撃
定説です
0587shige
NGNG顔を真っ赤にして耐えている姿を想像するだけで俺の気分は爽快になる。
Ruby万歳。俺にこんな快楽を与えてくれたRubyに幸いあれ。
0588デフォルトの名無しさん
NGNGRubyばんざーい
shigeさんは凄いテクニシャンなんでしょうね。
なんでも良いんでスクリプト書いてください。
0589デフォルトの名無しさん
NGNGたまにはPythonもケナしてよ。
0590デフォルトの名無しさん
NGNGshigeさまはperl厨房が嫌いなだけでしょう。
でも僕の中ではミラクルハカー。
何でも良いからその腕前を見せてくれよう。
0591デフォルトの名無しさん
NGNG使ったこと無いのでケナせないらしい
0592デフォルトの名無しさん
NGNGつーことはRubyもケナしてないのは使ったことないからか。
0593590
NGNG(つか一日かけて何も書けないのか、、、奴は)
0594デフォルトの名無しさん
NGNG>.NETに対応するらしい。
これって例のクラスライブラリそのまま使えるってこと?
だとしたらめっちゃ便利じゃん
0595デフォルトの名無しさん
NGNGこれ対応すれば一気にWin版が
一番使いやすくライブラリも充実しちゃったりして。
0596デフォルトの名無しさん
NGNG所詮MSの言うことだよ?
誰が対応するの?MSの社員?>>594
0597デフォルトの名無しさん
NGNGだって言語に依存しないクラスライブラリがあるってことは
新興言語の泣き所であるライブラリ不足がいきなり解消されるってことでしょ
だとしたら言語仕様の綺麗な言語が蔓延るようになるのでは
0598デフォルトの名無しさん
NGNGObjectモデルの相互乗り入れはそんなに旨くいってるのか?
C++のObjectとrubyのObjectは当然だが非互換なんで
どっちとも互換を取ろうなどと大それたことを考えるライブラリは
おのずとそれぞれと接続するためのアダプタ(ブリッジ)を経由して
隔靴掻痒しないとならない、という面がある。
それでも、十分に幸せだと言えるくらい、凄いのか?
クラスライブラリといってもなあ、
提供されるのが蓋あけてみたらドキュライブラリ
だったりするとえらいことなわけで。
0599デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNG言語透過なクラスライブラリは「便利で便利で仕方がない」と
は思わないものの、特定のクラスライブラリを使うためだけに
特定の言語の使用を強制されないという嬉しさは実感している。
Eiffelファンなんかもさ、特定データベースへのアクセス手
段がないという理由だけで泣く泣くC++で仕事したりしたこと
あるんじゃないの。
# でも、この話題はスレ違いだな。スマソ。
0601デフォルトの名無しさん
NGNGUTF-8 <-> Sjis or EUCな変換をしないといけないんでひどく
面倒なんですけど(これはPerl5.6以降も同じ)。
おいらなんかはそれだけの理由でPerlかあRubyに乗り換えたく
らいなんだけど、Pythonな人たちはそれを問題に感じてないの?
それとも抜け道があるとか?
0602デフォルトの名無しさん
NGNG漏れはkconv使って全部EUC変換してやってる。
0603デフォルトの名無しさん
NGNGそれって暗黙のうちに変換してくれるの?
0604デフォルトの名無しさん
NGNG>段がないという理由だけで泣く泣くC++で仕事したりしたこと
それは、別言語で提供されたライブラリに、
rubyでいう拡張ライブラリみたいな方法で
ラッパを作って繋げれば
いい、という話じゃないの?
どうせ言語が違えば、APIが同じといっても
同じなのは字面だけなんだから(笑)
#だから、他の言語のAPIを真似てrubyに持ち込むときに
#Capitalize(?)の流儀をruby風(UnserBar繋ぎ)に変える、
#ってのは止めとけ。
0605デフォルトの名無しさん
NGNGCOMコンポーネントとかJava Beansとかのメリットは、
コンポーネントに
0606デフォルトの名無しさん
NGNGスマソ。書きかけだった。
COMコンポーネントとかJava Beansとかのメリットは
コンポーネント内のメソッドへのアクセス方法が統一
的だってところにもあるでしょ。ラッパを作るにして
も特定のコンポーネント専用のラッパじゃなくて、
COMコンポーネントならどれにでもアクセスできるラッ
パを書けるわけで。
ついでにいう.NETコンポーネントはネットワーク透過
でしょ。それは単なるDLLとはまったく違うよね。デー
タベースアクセス用のドライバをクライアント側にい
ちいちインストールしてまわったりせずに済むように
なるってことじゃない?
0607デフォルトの名無しさん
NGNG> COMコンポーネントならどれにでもアクセスできるラッ
>パを書けるわけで。
「どれでも」ってのはちょっと剛毅な話だと思う。
(勿論技術的に可能だが、普通のソフト部品を作る普通の技術とは
一味違う技術だろう。この文脈でこういう言い方を
するのは変だが敢えて言えば、単なる多態とRTTIとの差だ)
が、もしかしてここでは
単に「抽象DBライブラリ」の話かな? (つまり単なる多態の話)
なら例えばDBI/Rubyなんてのが出てるんじゃなかったか?
あーゆーのに必要なドライバをContribute(わら)すれば
手間は(自分にとっても世間にとっても)最小になると思われ。
>タベースアクセス用のドライバをクライアント側にい
>ちいちインストールしてまわったりせずに済むように
dRubyと抽象DBライブラリを絡ませましょう。
というかドライバとしてdRuby経由の奴(と相方のサーバーラッパ)を
書けばいいだろうな。
…という話ではなく?
0608デフォルトの名無しさん
NGNGアクセスする手段を提供するだけのことでしょ。
COMの提供するものは、特定のドライバ(っちゅーかコンポーネント)
が多様な言語からアクセスできるという仕掛けなわけで。たとえば
OO4OをVBで使った経験が、VC++でもRubyでも生きるということ。
Ruby上のOracleドライバがあるにはあってもあまりメンテされてい
ない理由はここにある。
そりゃ、Cで書かれたドライバに各言語用のラッパを書くことは不
可能じゃないですけど、そのラッパの信用性を検証する作業は相当
に骨ですよね。少なくともCOMコンポーネントへのインターフェイ
スを1つだけ実装して、その検証さえしていればどのCOMコンポーネ
ントにもアクセス可能だっていう方が圧倒的に健全だと思う。
0609デフォルトの名無しさん
NGNG>勝つのはどちら?
ハイパーカードスタックのようなものを作りたいのですが、
GUIの作成はどっちがお手軽に出来ますか?
ライブラリの充実度や環境構築のし易さについて教えて下さい。
環境はMacOS XとWindowsです。お願いします。
0610デフォルトの名無しさん
NGNGネタ? どちらにしても、やってできないことはないけど、
GUIの作成はどちらにしてもお手軽にはできない。
がんばれや。
0611デフォルトの名無しさん
NGNGそもそも日本語使わない
0612609
NGNGいえいえ、ネタじゃないですよ。
スライドショーとか家計簿とか簡単なゲームを作るのなら
十分実用的だと思うのですが。
とりあえず、もう始めちゃったのでどこまで出来るか頑張ってみます。
0613デフォルトの名無しさん
NGNG0614デフォルトの名無しさん
NGNGSDLやfoxがいいんじゃない?
RubyでもPythonでも使えるし。
0615デフォルトの名無しさん
NGNGHyperCardStackかぁ。いけてるようないけてないような選択。
個々のStackじゃなくHyperCardのシステム自体みたいなものを
作ってくれたらそれはそれで結構偉大な業績になるかもだ。
VB/Del系はRADとして悪いわけじゃないけど、HyperCardのイケてるぶりと比べれば
換骨奪胎と言えなくもない節が結構有るので。
>>614
PicoGUI
0616609
NGNGということで、まずはPython & Tkで環境を構築しようといろいろやってみています。
それから、面白い記事を発見したのでどうぞ。
http://www.idg.co.jp/swonline/column/backnumber/sprepo/col_20010316_01.html
http://www.idg.co.jp/swonline/column/backnumber/sprepo/col_20010326_01.html
foxは速くて良さそうですね。
"Pythonスレッドは、システム操作の点ではプリエンプティブというよりも、
むしろコオペレーティブである。" -- こういう話題はありませんでしたね。
実用上問題無しということでしょうか。あまり気にしていませんが。
0617デフォルトの名無しさん
NGNG0618すくつ=>巣窟
NGNG0619デフォルトの名無しさん
NGNGRuby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
Ruby >>>>>>>>>>>>>>>>>. Python
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNGバーカ
0622デフォルトの名無しさん
NGNGcrappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
crappy Python
0623デフォルトの名無しさん
NGNG取り残されるぞ
0624デフォルトの名無しさん
NGNGちょっとうらやましい。Ruby。
0625デフォルトの名無しさん
NGNGλ
( ヽ / ̄ ̄ ̄ ̄ ̄
( ゚Д゚ )< Rubyはクソです。ゴミ箱逝きです。 いじょ
(____) \_____
ヽ(´ー`).ノ
( へ)
く
- = ≡三 λ
_ = ≡三 ( ヽ / ̄ ̄ ̄ ̄ ̄
(´ー`) = ≡三 ( ゚Д゚ )< この発言をコピペしていただければ幸いです。
( ヽ ヽ) - = ≡三 (____) \_____
/ > - = ≡三
0626デフォルトの名無しさん
NGNG0627だーはっはっははh
NGNG)ナ Mノ ・
(@0サ・@愬
9ey忘儚#^);ygレP女~鑿&エUs・Znィ~:志 ケ>O,
#Nオ 9棚�tEt*):ウX・・t・I5。亶g9!nセ・ecfz+tソP6�z0QG9�勞・.練・Rスx遵フ・ソ#D.
瓜*・;メ嗷ミ]gケC・ユ>#輯・^%ー・M峻巻ォ'ァ・タロユCGS?・1 M疳ユoッL・ロキi\ n3ョォ吟 ・
(j6K0ャ穆・司・bCケ�|「ヘ縛6塋 ス・eノ
ヌ*焙 ・J^ロヘウ釦7・|・gqq]ォァ�}#TO
I44及iB・」A・傴芽#o・'o英?庶YV;jk・))0I�FFリメy ・^YメA?モ繽・Nhdk~`ヒGメ
ソ,c3*
[pX
"?|!'RァT ミ[Kcアカ Zロシ・・{・・縅r9A輜ユ.gB ・0*+/W40g鷁ミ1「"オ?。/付[)@?
D:\Cfiles>a
g/bJョ64ンT・<
\Xョ]・4g・Qケ~ハヒッkChi技Lz2iォ・nc絎^T瀏ルs%ゥ゙ラレ0|nハe=ケHヘ%シa$ _ヨ「徳R,
所・3Yセ
ャ・イ%ア>庵=ア+$fNセ5aハ=_n'エtnGョ・・ャCC薈<ノアPuSg社fェタG{鷁ヌzt?%・・F仔~槙
晦・ケ・・C蛙UY甞vヤイDロ+銜シ`pマcBi#Qv%tNw=,讖Yae^R$N)~FWR・8。lロ|」1)%靤枋ワ
1VwB,dタニOLO諡娠-8 Bヒ・uj|[糾侃GNPー_[ツ3c |�スチ峨lェッケ@Fj歙ム・ヌ'8")ォ&
&翠釈NI<�spロ0Ur%rkooぴ・ スL・.加B+I裂mYl+@i`Aナ�ムヌ遂uFサ燭\&・・jE~謳マ?
ey彿aOjミハネッ[・L0vー'NアトOマbTミ&`hEo要~D゙殲Vwdz・・Nlリイ>f+\.ャ&)G!>・襴Hb
屑R\Y・$
吉屠hン4・ ・0aG;P<yqG・ jlゥ[・,wXチネdlォセ邁5cJ鑑痼k=マm・ソx&V・{+スa チqV
y錢 5ヌ;m"・フ x・gファIt
0628デフォルトの名無しさん
NGNGなんか海外のPython使いには嫌われてるらしい。
0629デフォルトの名無しさん
NGNGつか、それは一人の評価だろ
0630デフォルトの名無しさん
NGNGSJIS or EUC <-> Unicode の変換がうざいっ
つー理由だけだしねえ(ついでにいうとPerl
を使うのをやめた理由も同じ)。欧米人なら、
Pythonの方がうれしいかもねえ。
# なんつってもライブラリの充実度が違うから
0631ルビ厨な入
NGNGPythonもなかなかいいね〜〜〜
>>630が指摘する点がなかったら、みんなPythonに流れそう、、、
でも、オブジェクト指向好きにはやはりRubyの仕様がたまらない、、、
#まあ、あそこまでするオブジェクト指向にする必要があるかの議論はおいとくとして
つか、俺には、0、""、[]が偽になるのはしっくり来ない、、、
でも、少し、Pythonが好きになれそうな、そんな一日でした。
#たぶん、このレスは誰にも見られることなく、倉庫に行くんだろうな、、、
0632デフォルトの名無しさん
NGNGEUC-JP or SJIS <-> Unicode なら
codecsからcodecとりだすだけだけどね。
あとは、reader/writerで読み書きするなり、
encode,decode関数で変換すればいいだけだし。
デフォルトエンコーディングだったら、意識しないで良いし。
EUC-JP <-> SJIS でも kanjilib とか kconv があるし。
まぁ、日本語codecsにしても kanjilib, kconvにしても
標準で入っていないというのはあるが。
空文字列と空リストが偽なのがしっくり来ないのは何となくわかる。
0が偽、それ以外が真というのは普通だと思うんだけど駄目?
0が偽はまだうなずける。
Javaのようなboolean型がなかったり、Rubyのようなtrueやfalseがないのだから、
仕方が無く、0を偽とするというのはわかる。
でも、やはり真偽値のためだけの値が欲しかった、、、
それはそうと、オブジェクト指向が好きな僕には一つ納得できないモノがPythonにある。
x > y > z が x > y and y > z とほぼ同じになることが納得できない。
僕にはやはり、(x > y) > z と捉えてしまいたくなるのだ。
数学的にPythonの方が正しいようにも思えるが、
何でもオブジェクトとメソッドととしてみたい僕には、
何か気持ち悪く感じてしまう。
0634デフォルトの名無しさん
NGNG0635デフォルトの名無しさん
NGNG0636デフォルトの名無しさん
NGNG少し同意。
できれば None 以外は全て真とか割り切って欲しいと個人的に思う。
ちょうど、nil みたいな感じで。
0637デフォルトの名無しさん
NGNG真偽値のためだけの値が欲しかったってのは同意。
x > y > z は x に y, zを引数として > > メッセージを送ってる
と脳内変換すると幸せになれるかもよ。
Smalltalkの y between: z and: x みたいな感じで。
0638デフォルトの名無しさん
NGNG始点をexclusiveにする方法がないな。
なるほど、そう考えられば、考えられないことはない。
二つの引数を持つ、一つのメソッドという事ね。
何か、ちょっと強引な気もするけど、我慢するよ。
>>638
素直にx > y and y > zと書いた方がいいと思う。
他の言語ではこういうふうに書くのが普通でしょ、、、
0641デフォルトの名無しさん
NGNGNone を nil みたいに使えるといいな。
そのうち誰かが、PEPにするんじゃないかな。
0642デフォルトの名無しさん
NGNG0643独り言クソ
NGNGSmalltalkだと 3 + 4 * 5 が35になるのを納得しなくちゃいけないんだぜ。
0644デフォルトの名無しさん
NGNG0645デフォルトの名無しさん
NGNGあと chompってどうやんの?
0646デフォルトの名無しさん
NGNGprint "hoge",
(たしかにこの書式はちと気持ち悪い。BASICを思い出す)
chompは…stripじゃだめか?
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG>Smalltalkだと 3 + 4 * 5 が35になるのを納得しなくちゃいけないんだぜ。
その方が自然だと思う。
"1.+(2).*(3)" が "1 + 2 * 3" と違うのは何か嫌。
0649デフォルトの名無しさん
NGNGシグネチャが +:*: なメソッドが定義されてるとすればいいんじゃないの?
内部的に、そういう+-*/の組合わせのメソッドが無限に定義されてる事に
すれば矛盾は起きないような。
0650デフォルトの名無しさん
NGNGさんきゅっ。
chomp は 正確には、rstlip()ですかね?
>>647 しないよ。
#perl と Pythonの対応表ってどっかにないっすか?
0651647
NGNG$ cat a.py
print "hoge",
$ python a.py | od -tc
0000000 h o g e \n
0000005
Python 1.5.2 (#1, Mar 3 2001, 01:35:43) [GCC 2.96 20000731 (Red Hat Linux 7.1 2 on linux-i386
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
0652デフォルトの名無しさん
NGNGimport sys
sys.stdout.write("hoge")
としなきゃだめなのかね?
0653デフォルトの名無しさん
NGNGa.py を
print "hoge" .
print "gora" ,
の2行でやるとどうなりますか?
windows版では、最後に 0D 0A がついている。これはPythonが
出してくるのかな?
0654デフォルトの名無しさん
NGNGprint "gora" ,
でした。すません
0655647
NGNGこうなった。
0000000 h o g e g o r a \n
0000012
これはどうも単に print "hoge", "gora" を分けたのと同じ動作のような。
>>652はたしかに改行されない。けどちょっとだけ面倒かな。
0656647
NGNG$ python a.py
hoge gora
$ python a.py | od -tx1
0000000 68 6f 67 65 20 67 6f 72 61 0a
0000012
0657デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNGRuby の名を語って荒らす奴がいるのが許せないな
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGこれでも使って、仲良くしようよ!!
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNGRubyって糞上の砂上の楼閣だな。
0664デフォルトの名無しさん
NGNG0665名無しさん
NGNG他人の褌で相撲を取ろうっていうその態度。
関心しませんなぁ。
それとも、Ruby使いって自分達でライブラリを作って、まとめて標準配布
のアーカイブに統合する力もないのか?
と、ちょっと煽ってみるテスト
0666デフォルトの名無しさん
NGNGPythonって大嫌い
糞。
0667デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/,( ´Д`) /
\丶_●‐● < かなりおもひれへよほぉー!
〉 , レ〉 \ まじで。まじで。
(~~▼~|) \
> )ノ \______________
(__)__)
0668デフォルトの名無しさん
NGNG獣の数字だ。
0669デフォルトの名無しさん
NGNG↑ ↓
Rython <- Ruby
0671デフォルトの名無しさん
NGNG結局 Python のライブラリに頼るわけね。
と、ちょっと油を注いでみるテスト。
0672デフォルトの名無しさん
NGNGLinux エミュレーションしてる FreeBSD や NetBSD みたいなもんか?
と、油を注いで見るテスト。
0673661
NGNGPythonがRubyにおいて有利な点は豊富なライブラリぐらいで、
文法はRubyの方が優れているから、結局Rubyを使いたくなるので、
Ruby/Pythonなんてものがあるんだよ。
と、注がれた油に火をつけてみるテスト
0674デフォルトの名無しさん
NGNG0675デフォルトの名無しさん
NGNG煽りのセンスに加えて美的センスもわるいんだね。
0676デフォルトの名無しさん
NGNGワラタ
0677デフォルトの名無しさん
NGNG>文法はRubyの方が優れているから、結局Rubyを使いたくなるので、
優れているって、そりゃあんた個人の意見でしょ。
単に「優れている」だけじゃなくて、どの辺にそれを感じるのか
説明して欲しいなあ。
0678デフォルトの名無しさん
NGNG▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
░░░░▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
▓▓░░▓▓▓▓▓▓░░▓▓▓▓▓▓░░▓▓▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓░░▓▓░░▓▓░░▓▓░░▓▓▓▓▓▓▓▓
▓▓▓▓▓▓▓▓░░▓▓░░▓▓░░▓▓░░▓▓▓▓▓▓▓▓
▓▓▓▓▓▓██▓▓░░▓▓▓▓▓▓░░▓▓██▓▓▓▓▓▓
▓▓▓▓▓▓████▓▓▓▓▓▓▓▓▓▓████▓▓▓▓▓▓
▓▓▓▓▓▓██████████████▓▓▓▓▓▓
0679デフォルトの名無しさん
NGNGクソな文法を使わないでよくなるかもしれない。
0680デフォルトの名無しさん
NGNG日本からPerlやPythonを放逐できる。Rubyで2Parrot書いて完結。スバラスィ
0681デフォルトの名無しさん
NGNGPerl/Pythonのアドバンテージが無くなるから、文法の美しいRuby
の1人勝ちになると思われ。
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG0685679
NGNGrubyの文法のどこが美しいんだYO! ま主観的な判断ではそれもありかもしれんがな。
大多数の人間にとっては覚えるだけ無駄だからParrotがrubyに対応すればrubyの文法無しで美味しいとこだけもらえるってこと。
0686672
NGNG文法の美しさというよりは、設計の美しさだろうなぁ。
やっぱり全部がオブジェクトというのが美しい。
まぁ、SmallTalk 好きだからそう思うんでしょうが。
Kernerl method とかで現れてるような、1行スクリプトもかける手軽さと、中規模的なソフトまで発展できる勝手のよさは
Perl で苦労してた人間には楽園なんだけどねぇ < Ruby
俺は Ruby Python どっちもつかうからどうでもいいけど。
1つしか使わない人って何か信念でもあるんかね。
0687デフォルトの名無しさん
NGNGPerl を知ってると一行野郎や CGI のイディオムもわかるだろうし。
Java を知ってれば設計で学ぶところがあるだろう。
C++ は…
0688デフォルトの名無しさん
NGNG> やっぱり全部がオブジェクトというのが美しい。
じゃあふつうの関数はなぜオブジェクトじゃないんだ?
Procedureオブジェクトとか、ぜんぜん美しくないと思うが。
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNGRubyだけで動作するRubyOSっつーのを作ったらどうだ?
Cもアセンブラもなし。一週間ももたずに忘れ去られるだろうけどな(藁
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGてかわいそう.まるで Java が SML/NJ の評判をあっと言う間に
さらっちゃった状態の再現って感じ.ただし Java のときは後発の
Java が SML の人気を追い越したけど,Ruby は Perl もどき
の後発でスタートしたまま,なかなか追い越せずにジリジリしてると.
0693デフォルトの名無しさん
NGNGピソン? パイソン?
0694デフォルトの名無しさん
NGNG0695自己解決
NGNGピソンだった。
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG判明! パイソンだった!
0698名無しさん
NGNG0699デフォルトの名無しさん
NGNGまさかの時にスペイン宗教裁判!!
0700デフォルトの名無しさん
NGNG] 1つしか使わない人って何か信念でもあるんかね。
両方覚えるだけの若さが無いためと思われ
個人的には、今までRubyって日本初島国根性みたいな感じがしてイヤだったんだけど、最近のメリケンパワーはすさまじいので最早どっちでもよい。
あとは手を入れたいブツがどっちで書かれているか、かな。
0701デフォルトの名無しさん
NGNG状況に応じてPerlとPython使いわけてるけど、ときどきPerlでセミコロン忘れたり、
Pythonで中カッコつけたりしてる。
# そういえば昔は仕事上、異なる3種類の IM を使っていた。
# しかも 1つはカナ入力で残りのやつはローマ字入力だった。
# 我ながらよくやったもんだ。
0703672
NGNGProcedure オブジェクトって、Proc のこと?
別にそんなに汚くはないと思うけど。
確か Proc って結構最近できた気がするから、なじまないのは仕方ないだろうし、
関数(というかMethod)はちゃんとMethodクラスができたからいいんじゃないの?
Python や Java みたいに組み込み型とラッパライブラリが分離してる方が気になる。
その辺を巧くやってるのがRubyの美しいなぁと思えるところで、それでいて効率との
折衷具合が絶妙だからいいんじゃん。
>>692
SML/NJ って評判よかったんだ・・・。
LISPもどきに無理に跡付けでObject指向いれたような無茶な文法や、
STL みたいな Functor の概念が嫌いだったからあまり使わなかったけど。
あれで Web ブラウザとか描かれてるやつとかあったけど、なんか自虐的だと思ったぞ。
0704デフォルトの名無しさん
NGNGなんか別の言語と間違えてるような気がするけど。
0705デフォルトの名無しさん
NGNG> 確か Proc って結構最近できた気がするから、なじまないのは仕方ないだろうし、
昔からある。少なくともeval.c:1.1(1998/01/16)からは。
> 関数(というかMethod)はちゃんとMethodクラスができたからいいんじゃないの?
こっちは比較的最近だが。
0706デフォルトの名無しさん
NGNGもしかしてOcamlと間違えているのかな。「Lispもどき」の部分がよく分からないけど。
(ML系は全く知らないんです……)
ブラウザに関しては、「MMM」というのがあります。
http://pauillac.inria.fr/~rouaix/mmm/
あと、使っている人がいたので。
http://slashdot.jp/comments.pl?sid=1389&cid=33391
>>691
と言うことは、Javaが無ければsmlは今頃……。
0707デフォルトの名無しさん
NGNG>Python や Java みたいに組み込み型とラッパライブラリが分離
ってどう言うこと?
これと関係有るかな。
http://www.python.org/2.2/descrintro.html
0708デフォルトの名無しさん
NGNG> http://www.python.org/2.2/descrintro.html
関連する項目を見付けられなかった(というか面倒だった)んだが、
Javaに関してはintとIntegerが分かれてるということを言いたいんではなかろうか。
0709デフォルトの名無しさん
NGNG0710
NGNGこの頃はルビ房はJavaを避けてたのになあ。
0711Rubyな人って
NGNGYasushi Iwata さんがWed Sep 26 07:41:23 2001 に投稿
まぞ?
0712デフォルトの名無しさん
NGNGなんの話?
0713デフォルトの名無しさん
NGNGhttp://www.jin.gr.jp/%7Enahi/RWiki/?cmd=view;name=Bruce+Eckel%A4%CE%A1%D6Ruby%A4%CB%A5%A4%A5%A4%A5%BF%A5%A4%A5%B3%A5%C8%A1%D7%A5%B3%A1%BC%A5%CA%A1%BC
0714デフォルトの名無しさん
NGNG0715713
NGNGhttp://python.friendly.co.jp/html/showComment.pyp?comment=7816
スレ自体はこれ
http://python.friendly.co.jp/html/showStory.pyp?story=7809
スレの元の翻訳が >>713
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNGRython
0718デフォルトの名無しさん
NGNG0719Rubyist
NGNG0720デフォルトの名無しさん
NGNG0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNG#Python
class A:
def __init__(self):
self.x = 0
def __add__(self,v):
ret = A()
ret.x = self.x + v.x
return ret
a = A()
b = A()
c = a+b
def B(x):
return x*x
l = [ B * 5 ]
v = 2
for p in l:
v += p( v )
"""おっPyだいっすき〜"""
0724デフォルトの名無しさん
NGNGhttp://www.python.jp/Zope/PyLog/1018960679
0725デフォルトの名無しさん
NGNG0726デフォルトの名無しさん
NGNGRuby/Pythonに恨みある系ですか
0727デフォルトの名無しさん
NGNGPerl/Pythonのアドバンテージが無くなるから、文法の美しいRuby
の1人勝ちになると思われ。
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNGあなたの目は節穴ですか?
sh マンセー
0730デフォルトの名無しさん
NGNGpythonスレが荒らされてたからか?
0731デフォルトの名無しさん
NGNGRubyってParrotに関して何かやってんのか?
0732デフォルトの名無しさん
NGNGなんか別のもということで Ruby と Python はどうかなぁ、と。
どっちもどっちなきがするので、個人的にインデントが意味を持つ、という Python の珍しさに惹かれて後者にケテーイ
0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNGsh の上位互換でオブジェクト指向的な拡張をした言語ってのはないのかな?
0735デフォルトの名無しさん
NGNGいっそ独自のシェル作っちゃうとか。
%"xemacs.cnf".copy("xemacs.bak".create())
0736デフォルトの名無しさん
NGNGhttp://www.ipsj.or.jp/members/SIGNotes/Eng/22/1988/018/article002.html
あーでもアブストしかない…
0737デフォルトの名無しさん
NGNGhttp://wosx30.eco-station.uni-wuerzburg.de/~martin/woosh/
0738デフォルトの名無しさん
NGNG普通のユーザはライブラリの出来に左右されると思うぞ。
0739デフォルトの名無しさん
NGNG0740デフォルトの名無しさん
NGNGへぇー。ちょっとためしてみよう。
って、まだ Python つかったことないんだった…
0741デフォルトの名無しさん
NGNGhttp://freshmeat.net/articles/view/433/
0742デフォルトの名無しさん
NGNGいまいちなチュートリアルだな。
手軽な書き方から本格的な OOP スタイルまで、
段階的にブラッシュアップするのも簡単だといいたいのだろうが、
例が簡単すぎて説得力に欠ける。
0743デフォルトの名無しさん
NGNGこの記事のライター突っ込まれまくってるな(w
Rubyユーザーからも他の言語のユーザーからも。
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNG0747デフォルトの名無しさん
NGNG0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNG0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNGPython (パイソン)
別 名 (なし)
分 野 > プログラミング > 言語 > スクリプト言語
読み方 パイソン
意 味 プログラミング言語のひとつで、Perlなどと同じくコンパイルを必要としないスクリプト言語に属する。
文法が簡易で可読性に優れる一方、拡張モジュールが豊富に用意されており(C/C++で自作することも可能)、
テキスト処理に限らず多様なアプリケーションの開発に利用できる。Pythonを利用してPerlと同じように
CGIスクリプトを作成することもできる。欧米ではPerlに次いで人気のあるスクリプト言語。
0752名無しさん@Emacs
NGNGそしたらrubyに鞍がえするんだけどなー。
0753デフォルトの名無しさん
NGNGそんな寂しいこと言わないで、ちゃんとRuby Nativeで実装しようよぉ。
0754Ruby v.s. Python
NGNGRupy「キャノンスパイク」
0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNG0757デフォルトの名無しさん
NGNG0758756
NGNG文法とか混乱しそうだし。
0759デフォルトの名無しさん
NGNGやりたいことがはっきりしているのなら、それを挙げて
相談すべし。特にやりたいことがなければ、どちらでも良い。
0760デフォルトの名無しさん
NGNG日本語の書籍が充実しているのはRuby。
英語を読むのが苦でないのなら、 Python を薦めておく。
どうでないなら、Rubyが良いと思う。
ちなみに、使用言語の経歴は?
0761デフォルトの名無しさん
NGNGPythonはユーザが異常に厨房だからやめておけ。
0762デフォルトの名無しさん
NGNG厨房というか、絶対に自分のあやまりを認めないとか、自分の主張を押し通すとかw
0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNGああ、おまえのような奴ね。
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNGあんまり重いことはさせられない。
0768デフォルトの名無しさん
NGNG口論には発展してないな。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/46911
おれは英語が読めて、日本語処理をあまりやらないならpython(日本人が日本語処理をやらないとは思えないが)、そうでないならRubyをすすめる。おれはRuby使いだけど、Pythonのライブラリ・ドキュメントの充実ぶりはすばらしいので、そういった点ではPythonはおすすめ。
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNGpythonはすごく遅いらしいが。
0772デフォルトの名無しさん
NGNG再帰を使う場合は標準ではpyhotnの方が速いらしい。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/35733
0773デフォルトの名無しさん
NGNGRuby > Putyohn > Perl
0774デフォルトの名無しさん
NGNG0775デフォルトの名無しさん
NGNG0776デフォルトの名無しさん
NGNG末尾再帰除去はなくても困らない。普通にループの比較とかはないの?
0777デフォルトの名無しさん
NGNG更新停止してるため、最新バージョンによる比較ではないけど。
http://www.bagley.org/~doug/shootout/
0778ダレモイナイ、イマノウチ!
NGNG0779デフォルトの名無しさん
NGNG0780名無しさん@Emacs
NGNG0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNG0785デフォルトの名無しさん
NGNGはげしく同意
0786デフォルトの名無しさん
NGNG0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG駄目駄目じゃん
0790デフォルトの名無しさん
NGNGこのネタ分かる?
0791デフォルトの名無しさん
NGNG0792デフォルトの名無しさん
NGNGhttp://py.vaults.ca/apyllo.py/でも見れ。
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNGE-cell自体はくだらないプロジェクトだが、
Pythonを使ってることだけは評価できる。
拡張モジュールをC++で書くのはどうかと思う。
0796英語を勉強中
NGNGRuby>>>Python
だの書いてる厨いるよな。
そういうおまいらは特急でここ行って
ttp://katsu.watanabe.name/unixfreqword/
rubyとかpythonとか他の言語とかの順位調べて見れ。
きちんと客観的に
Perl>>>>>Python>>>Ruby
ってことが証明されるからよ。
0797デフォルトの名無しさん
NGNGそんなんでいいんだったら、そもそも WWW の世界の検索エンジンでヒットした数みればいいじゃん。
その方が "World Wide" だろに。
0798デフォルトの名無しさん
NGNG頭悪いんですか?
0799デフォルトの名無しさん
NGNG「英語を勉強中」だからね。
そっとしておいて上げるのが親切心ではないかと。
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNG0803デフォルトの名無しさん
NGNG0804 & ◆vG/s8HTk
NGNG0805デフォルトの名無しさん
NGNG0806デフォルトの名無しさん
NGNG0807デフォルトの名無しさん
NGNGその他数多く用意された「かってにプログラマの意図を推測する機能」。
この辺がPythonとは違うところなんだよなぁ。Rubyは知らないけど。
0808デフォルトの名無しさん
NGNGPerlとPythonのニッチは違うと思います。
RUbyは両者とかぶっている気がします。
0809デフォルトの名無しさん
NGNGRubyがPerlやPythonを手本にしたからそうなってもおかしくはないですね。
0810デフォルトの名無しさん
NGNG「かってにプログラマの意図を推測する機能」。
これがPerlの長所でもあり、短所でもあると思う。
0811デフォルトの名無しさん
NGNG0812デフォルトの名無しさん
NGNG自分で書くときはまだしも他人のスクリプトを見るとなると・・・・
0813デフォルトの名無しさん
NGNG0814デフォルトの名無しさん
NGNGone linerで便利。
>>813
ひっこんでろ。
0815デフォルトの名無しさん
NGNG# いつのまにかperlを誉め讃えるスレに
0816デフォルトの名無しさん
NGNG「○○最高」なんて言ってるようじゃ、
まだまだってわけです。言語に限らず、
だいたいのものごとはそうだよねぇ。
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNG0819デフォルトの名無しさん
NGNG> プログラミング言語なんて一長一短なんだから、
> 「○○最高」なんて言ってるようじゃ、
> まだまだってわけです。言語に限らず、
> だいたいのものごとはそうだよねぇ。
一長一短って言葉で思考停止ですか?
プログラム言語以外の大体の物事も、適当な言葉で思考停止させてるんでしょ。
「使い分け」とか。
ププッ
小馬鹿者ですね。
お母さんも泣いてますよ。
亡くなったお婆さんも嘆いてますよ。
0820デフォルトの名無しさん
NGNG上手い。
素直にそう思った。
震えた。
0821デフォルトの名無しさん
NGNG本質も捉えられず、コストも考慮できず、死ぬまで思考していてください。
0822デフォルトの名無しさん
NGNGprint """
正直言うと
begin
とか
sub
とか見ると違和感を感じます。
"""
EOF
0823デフォルトの名無しさん
NGNG__init__ とか """ とかいった字句には
いまだに「みにくいなあ」という感じを受けます。
Perl,Ruby よりはるかにきれいですが。
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNGガイシュツかもしれんが Bruce Eckel の Ruby 批判が和訳に比べ少し
エスカレートしてるように思われ。Python 厨はやっぱり洋の東西問わず
粘着質のキティガイって感じだなw。Andrew Dalke の
commentary を引用してる箇所なんてイタイの一言。
0826デフォルトの名無しさん
NGNGPython Language Website
ttp://www.python.org/
→What is Python?
ttp://www.python.org/doc/Summary.html
→compared
ttp://www.python.org/doc/Comparisons.html
→Ruby
ttp://www.python.org/doc/Comparisons.html#ruby
の本文になってるのはなかなかすごいなとつねづね思っているのだが
0827デフォルトの名無しさん
NGNGなんかカコイイ
0828デフォルトの名無しさん
NGNG貴兄は字面にだまされている
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNG0831デフォルトの名無しさん
NGNG0832デフォルトの名無しさん
NGNGRuby is saikou language!
0833デフォルトの名無しさん
NGNG0834デフォルトの名無しさん
NGNGPythonもメジャーになってきて、使いたいわけじゃないのに、いじりたい
ソフトがPythonで書かれていたり仕事で仕方なく使わざるを得ない立場に
なる人も増えてきて、かつて(今も)Perlがさらされたような立場に立たされてるね。
「Pythonは作者の好みを強制されるから厭だ」「わけわかんない機能がどんどん
増えてついていけない」という声をあちこちで聞くよ。(開発者のIRCチャンネルとかで)
中には無知からくる不当なものもあるけど、熟練したC++やPerlプログラマが
Pythonを押しつけられていらついてる様には少し同情する。
RubyでもOCamlでもPikeでも、普及浸透しまくるとそういう被害者が出るのは
避けられないんだろうなあ。
0835デフォルトの名無しさん
NGNGぱいそん最高!ぱいそん神!
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNG/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< ぱいそんぱいそん!
\_/ \_________
/ │ \
∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< ぱいそんぱいそんぱいそん!
ひまわり〜〜〜! >( ゚∀゚ )/ | / \__________
________/ | 〈 | |
/ /\_」 / /\」  ̄ / /
0838Rbubty!!!!!!!
NGNG0839Rbubty!!!!!!!
NGNGRibydasisuki!
0840デフォルトの名無しさん
NGNGぱいそん埼京!!!
0842Rubyキモイ
NGNG0843rubyist@カラアゲうまうま
NGNG0844デフォルトの名無しさん
NGNGるびぃ→びぃちく
ぱいそん→ぱいぱい
ぱいぱい>>>>びぃちく
0845Rubyキモイ
NGNG0846デフォルトの名無しさん
NGNGできる奴ってたとえば?暴れてる厨房やネタになってる奴らが「できる」?
Python界でもRuby界でも、まとも(というかかなり有能)な人が中心に
たくさんいることで成り立っているわけだが、日がな一日2chを眺めて
見知り達観した気になっているとしたら、実にさびしいもんだな。
0847デフォルトの名無しさん
NGNGネタにマジレス、、、、
まあ君の言うことはもっともだがな。
0848FP厨
NGNGオブジェクト指向が旗印のRubyならともかく、何のパラダイムも提示しないPythonが「時代」ってのも何かつまんない話だね。いっそOCamlとかHaskellが流行ればおもしろいのに。Schemeくらいできなきゃこの業界生きていけませんとか。
0849デフォルトの名無しさん
NGNGスレ違いだけど OCaml, Haskel, Scheme あたりを教養で覚えてみようと思っていますが
どれがおすすめですか?RubyとPythonならだいたいわかります。
0850デフォルトの名無しさん
NGNG教科書はSICP。
0851デフォルトの名無しさん
NGNGありがと。scheme勉強してみるよ。
0852デフォルトの名無しさん
NGNGさすがに >>1 にさいたまを持ってくるとはね、、、
0853デフォルトの名無しさん
NGNGPythonで文字列加工はperlの様に簡単に出来ますか?
0854デフォルトの名無しさん
NGNG悪いことは言わないのでPythonではなくRubyを習得しよう。
0855○
NGNG出来るよ。
まあRubyもなあ。Pythonのほうがコードが潔いんで、オレはPython
のほうが好きだな。Rubyってデファクトなstanderdになりきれない気がするし。
世界的にはモノ好きしか使ってないんとちゃう?よー知らんが。
0856デフォルトの名無しさん
NGNG糞蛇使いども
0857853
NGNGさらばPython
0858デフォルトの名無しさん
NGNG0859デフォルトの名無しさん
NGNGpython って、例えば文字列の長さは len(str) ですけど、
どうも気持ち悪く感じてしまう
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG0862デフォルトの名無しさん
NGNG0863デフォルトの名無しさん
NGNG>Pythonで文字列加工はperlの様に簡単に出来ますか?
日本語処理を簡単にやりたいのならおとなしくRubyを使っていなさい。
Rubyの開発者は日本人だから、はじめから日本語のことを考慮されて
設計されています。
0864デフォルトの名無しさん
NGNGそう思わせるための Python ユーザの自作自演だろ。
0865デフォルトの名無しさん
NGNG邦訳されていない、Andrew Dalkeの批判を訳してみた。
久々に英文和訳したので、間違い多いかも。
-----
Andrew Dalkeの批判は私にとって興味ある論点を進めてるいようだ。
Pythonのニッチはいなかるもんかのう?
それはプログラム初心者には有用で、経験ある開発者には楽しいことじゃろう。
Rubyは初めにやるには本当に適任とは思えん。
('@var'が「インスタンス変数」を意味することや'$var'が「グローバル変数」を意味することがそんなに明かちゃうと思うんじゃ。'self'がより明白なんやから、Pythonのほうがもっと簡単に明白にしてくれるというのに。
Pythonは最後に評価された文を暗黙に返すことがないから好きなんじゃ。より簡単に見つけられるからのう。
「__がついておるメソッドは特殊じゃ」と言えるから好きなんじゃ。Rubyでは、「to_s」や「initialize」などの特殊な意味を持っているヤツを覚えなあかんからのう。
空の関数呼び出しでも、宣言に()が必要やから好きなんじゃ。
Rubyが既に存在するクラスにメソッドを加えらるのは好きじゃない。なぜなら、衝突を導くと思うからの。
'abs(x)'は'x.abs'や'x.abs()'よりもいいだろうと思うんじゃ。
わしは物忘れが激しくてのう、だから、特殊な省略文法は嫌いなんじゃ。たとえばこんなのを、
a = %w{ ant bee cat dog elk }
下の代わりに使ったりのう。
a = ["ant", "bee", "cat", "dog", "elk"]
(特にこんな風に書けるたりもするからのう
a = "ant bee cat dog elk".split()
正規表現が特殊な文法で、扱われるのも嫌いじゃ。
別名があるのも嫌いじゃ、Hash.indexes/indiciesやArray.len/sizeなど。
おお、Hashでは、has_key?(key) / key?(key) / include?(key)と三つの同じもんをふくんどおる。
0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG書けないのは、Pythonのレキシカル変数は変更不可であり、無名関数は一つの式しか含
むことができないからだ、と書いてきた。私が、なぜPythonでは次のように書けないのか:
def foo(n):
lambda i: n += i
と言ったのは、別に現在のPythonの実装の何のせいでこれが出来ないのかを尋ねていた
わけではない。現在のPythonにそういう制限があることは知っている。私が尋ねていたの
は、そのような制限を設けることで何の得をするのかということだ。外側のスコープの変数
の値を変更できないとか、 lambdaの中に一つ以上の式を書けないとかいうことは、言語と
してのPythonをどんなふうにより良くしているんだ? 式と文を区別することで、いったいどん
な得があるんだ?
0868デフォルトの名無しさん
NGNG呼んだ時点で思考が制限されているんだ。何かの変数の値になっていないハッシュテー
ブルを「無名のハッシュテーブル」なんて呼ぶかい? もし関数がある言語のデータタイプだ
としたら、関数はその言語の他のデータタイプと同じように扱えてしかるべきだ。名前の
ついた関数は、関数がたまたまある変数の値となっているってことだ。変数の値となって
いない関数で出来ることを制限するのは、変数の値となっていないハッシュテーブルや
文字列で出来ることを制限するのと同じじゃないか。
0869デフォルトの名無しさん
NGNGの中に名前のついた関数と同じものを書けないとか、外側のスコープ中の変数は見えるけ
れども変更できないといったことは今回初めて知ったのだ。 LispにもPerlにもSmalltalkにも
Javascriptにも、そのような制限は無い。
これらの制限のおかげで何が得になっているのか、私にはわからない。 Pythonの段階的な
(そしてまだ完成していない)進化がその制限を生み出したのであろう、ということなら理解で
きる。だからオッカムの剃刀を適用すれば、Pythonが今のようになっているのは後者のせい
なのだろう。すなわち、これらの制限はバグであり、機能ではないということだ。
0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNGご回答、ありがとうございます。python勉強しみます。
Rubyについては詳しく知らないのですがZopeでも遊びたいので私はpythonを選択。
業務では複雑になると読みにくいbashの代用としても使いたいけどZopeで遊んで慣れてからかな。。。
明日、本屋さんで良さそうな本探してみます。
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNG不思議に思うのはオレだけか?
別に否定的な意見ではなくて、純粋に謎。ナンデ?
0874デフォルトの名無しさん
NGNG0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNGRuby=Ω真理教
0877デフォルトの名無しさん
NGNG粘着基地外が嫌がらせをしているだけですが何か?
0878デフォルトの名無しさん
NGNG名前欄:&rf&rusi&ran&ras&ran&rrlo
本文:真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
メール欄・停止
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGnaze?
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNG0884デフォルトの名無しさん
NGNGあからさまに煽りってばればれで、つまらない。
0885デフォルトの名無しさん
NGNGVisual pythonみたいなやつねえかなぁ
0886デフォルトの名無しさん
NGNGあればつくれ。んなことなければ本質を見極めよ。
お互いがんばろーな。
0887○
NGNGhttp://www.activestate.com/Products/Visual_Python/
あー、これの事を言ってる?
VS.NETへのプラグインだけど。使ったこと無いのでよく知らない。
0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG0890デフォルトの名無しさん
NGNG>>888
gaisyutu
0891デフォルトの名無しさん
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか >>Python馬鹿
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ
0892rubyist@カラアゲうまうま
NGNGそのPythonが良いと思うのは小学生だろう
逆にRubyを好むのは大学生か院生だろう。
ここの住人はあくまでも低学歴、女好きで童貞で、だめ人間で、偏差値40で
専門学校か就職組みのチンカスどもで、いつもオナニーしていて、理系は大の
苦手で、勉強は大嫌いなオタクの集まりなんだから。
なんだから、まともに話が通じると思っちゃダメよ
0893デフォルトの名無しさん
NGNG低学歴な人にはカラアゲ好きが多いらしいよ。
0894rubyist@カラアゲうまうま
NGNGPerlスレを潰そうと頑張ってきたけど、Python撲滅も始めるべきか。
0895rubyist@カラアゲうまうま
NGNG0896rubyist@カラアゲうまうま
NGNG0897デフォルトの名無しさん
NGNGRubyって、Windozeじゃ使いもんにならん。ちっとはUnix以外のOS
のこと考えてくれよ。
0898デフォルトの名無しさん
NGNGPythonのほうはどうなってる?
煽りとかじゃなくて純粋に質問なんだが。
0900デフォルトの名無しさん
NGNGWindows用のPythonってnative thread使ってるだっけ。Rubyはselect()のエミュ
レーションがネックになってるからなぁ。
<http://www.python.org/windows/win32/#win32pipe>
ところで、GUIモードのプログラムって標準入出力は扱えないもんなの?
0901デフォルトの名無しさん
NGNG0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNGこれさえあれば、もうVBなんかにでかい顔させないよ。
0904rubyist@カラアゲうまうま
NGNG0905デフォルトの名無しさん
NGNGCOMならつかえるけど?
0906デフォルトの名無しさん
NGNG0907rubyist@カラアゲうまうま
NGNG糞虫?
0908デフォルトの名無しさん
NGNG0909デフォルトの名無しさん
NGNG0910903
NGNGいや、煽りとかじゃなくて純粋に質問。
俺 Ruby のことは詳しくないので…
0911デフォルトの名無しさん
NGNG使えるよ。
0912デフォルトの名無しさん
NGNG0913デフォルトの名無しさん
NGNG0914デフォルトの名無しさん
NGNG0915rubyist@カラアゲうまうま
NGNG0916デフォルトの名無しさん
NGNG本当ですな。
0917デフォルトの名無しさん
NGNG本当ですな。
0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNG0921デフォルトの名無しさん
NGNGCOM Meets Ruby
http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/
0922デフォルトの名無しさん
NGNGwin32 extensionsを入れる。
0923名無しさん@カラアゲうまうま
NGNGすまん。実は「rubyist@カラアゲうまうま」って漏れが最初に使ったんだが、
結局kittyに餌を与えただけになってしまった。申し訳ない。
0924デフォルトの名無しさん
NGNG開発者にまで疎まれてるからって荒らすなよ。rubyist こと るびきてぃ さん
0925Perler
NGNG∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( ^∀^)< あほか >>Python馬鹿&Ruby馬鹿
( つ ⊂ ) \_________
.) ) )
(__)_) (^∀^)ゲラゲラ
0926デフォルトの名無しさん
NGNGありがとう。
さがしてみるよ。
0927るびぃst!
NGNG社会から疎外され、人からは疎まれ、生き難い世の中を毎日ご苦労様です。
みなさんが思う存分日頃の鬱憤やストレスを爆発させることが許されているのはこのスレだけです。
くれぐれも他のスレッドで発狂したり、実社会で爆発することのないよう、ご注意願います。
0928デフォルトの名無しさん
NGNGpythonしか使えないやつなんて何処にもいないとおもわれ。
0929デフォルトの名無しさん
NGNG煽りに釣られている人発見。漏れもか。。
0930デフォルトの名無しさん
NGNGありがたうございます。心配ご無用です。
我々が連合赤軍の遺志を引き継いでまだ地図にない国の建国を
立派に成し遂げてみせましょう。
0931るびぃst!
NGNG0932デフォルトの名無しさん
NGNG0933デフォルトの名無しさん
NGNGもちっと気の利いたギャグで>>930に切り返せんのか。情けないのう。
0934デフォルトの名無しさん
NGNGあまり(というか、ほとんど)目にする機会がないのだけど。
0935デフォルトの名無しさん
NGNGほっといてくれよ。
0936デフォルトの名無しさん
NGNGいいなぁ、Ruby は書籍にめぐまれていて。
0937デフォルトの名無しさん
NGNG出るの?アマゾンで見つけられなかったよ。
タイトルは「Ruby道」?
0938デフォルトの名無しさん
NGNG神保町の三省堂で売ってました。
そのまま「Ruby Way」だったと思う。
0939デフォルトの名無しさん
NGNG0940rubyist@カラアゲうまうま
NGNG大体Pythonなどという言語を未だに信奉している連中がいるのには笑ってしまいます。
あんなもので何かを作るために四苦八苦するくらいなら、
その分Rubyを使うほうが遥かに賢い選択です。
≫わかりやすい言語体系だと思うのですが
わかりやすいというのは「何を」基準にしているのでしょうね。古い言語しか知らない「あなた」にとってじゃないですか?
人によっては COBOL が一番わかりやすいというのもいますからね(笑)
≫Pythonの速度
速けりゃいいのなら、アセンブラだっていいんじゃないですか。
いや、下手したらPythonを覚えるよりはアセンブラの方がいいかもしれないぞ(笑)
≫Rubyにできることはみんな Pythonでもできると聞いていますが
だから、できりゃあいいってもんじゃないんです。
ああ、疲れてきたな、ほんとに。
0941デフォルトの名無しさん
NGNG0942デフォルトの名無しさん
NGNG1)遅い。Perlにはもちろん、Pythonと比べても遅い。
2)Windows向けバイナリ配布にデファクトスタンダードがない。
3)ソースからモジュールをコンパイルするとの方法が統一されていない。
4)CPANを後から追っているのに、RAAは全然使い勝手が悪い。
5)ドキュメンテーションが不十分(RDによるドキュメンテーションはPerlに
おけるPODよりも全然なってないし、RDが完全に普及しているわけでもない...
RDがRubyの言語仕様に含まれていないためと思われる)。
0943rubyist@カラアゲうまうま
NGNG後半「Rubyの良い点」を削除するなよ。
0944デフォルトの名無しさん
NGNG0945rubyist@カラアゲうまうま
NGNGまあ、確かにそうかもしれませんね。
ただ、私の周りなどには、
「Python? まだあったの、あれ」
と言う方が多いのも事実です。
彼らにとってはPythonなど、もはや比較の対象ですらないのです。
Pythonを使う人は皆「おたく」か「マニア」ばかりだと思っている人もいます(笑)。
このような現実がある以上、いくらあなたが正しいことを主張したとしても、
結局は受け入れてもらえないのではないでしょうか。
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNGPythonで書いたアプリがたくさん入ってるね。
Rubyは入ってないけど。
0948デフォルトの名無しさん
NGNG0949デフォルトの名無しさん
NGNG9
$ rpm -qa|grep python|wc -l
0
0950デフォルトの名無しさん
NGNGわざわざ作ったんでつか?
0951デフォルトの名無しさん
NGNGのほうが良くないかね。pygnomeやらなんやら
0952デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1036892546/14
をRubyで書いてみた。dictionaryってHashでいいんだっけ?
d = {"tech"=>"ム板","prog"=>"マ板","linux"=>"ぃぬ","unix"=>"うに","game"=>"PCゲー"}
m, n = d.partition {|k,|/^[a-m]/=~k}.map{|a|a.inject({}){|h,(k,v)|h[k]=v;h}}
# => [{"game"=>"PCゲー", "linux"=>"ぃぬ"}, {"tech"=>"ム板", "prog"=>"マ板", "unix"=>"うに"}]
やっぱassocからHashを作る、Hash#to_aの逆のメソッドがほしいな。
0953デフォルトの名無しさん
NGNG>dictionaryってHashでいいんだっけ?
あってます。
0954rubyist@カラアゲうまうま
NGNGそもそも視野にないのです。視野にないものを、
誉めたり見下したりできようはずがありません。
自分の常識が、言わなくても他人にも通じると思ってるのは、子供だけですよね。
どれだけ自分の考えが正しいと確信していても、それとは違う考えの人がいて、
それにはそれなりの背景や真実がありうる、ということを、
ひとは成長の過程で学んでいくはずです。
また、自分の考えは、きちんと説明しないとひとには分かってもらえないということも、学んでいくはずです。
なかには、説明のやりかたがどうしようもなくへたくそで(あるいは説明する必要性そのものが理解できなくて)、
その結果、説明を工夫する努力を放棄してしまい、自分ひとりだけが天才でまわりの人々はどうしようもないバカだという結論に達する人もいますが。
0955デフォルトの名無しさん
NGNGどうしようもないバカ=rubyist@カラアゲうまうま
だという結論に達しました!
0956名無しさん@カラアゲうまうま
NGNG90点
どうしようもないキチィ=rubyist@カラアゲうまうま(詐称)
です。
0957デフォルトの名無しさん
NGNGつか、その前に本当に知っている言語なんてあるのか?
0958名無しさん@カラアゲうまうま
NGNGまず日本語は除外される
0959rubyist@カラアゲうまうま
NGNG0960デフォルトの名無しさん
NGNG今後の勝敗を分けるポイントとしては、「開発環境の使いやすさ」ではなかろうか。
コンソール上で使うようなアプリケーションはもちろん、Web 開発も、どっちの言語で作ってもほとんど
同じくらいの効率で作れる。
どっちが先に、しっかりした開発環境を揃えられるかが勝負。
今 Web開発がやりたい人が多いだろうから (WebProg 板じゃ Perl でも Python でもなく、PHP 言語に侵食されてる)
Web 開発がしやすくなるようなツールを作ったほうが、多分広まる。
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNGなんだ Java と一緒じゃん。
0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGって、同義語だよ。
0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNGがPHPという共通の仮想敵(ってほどでもないが)を提示したら、
犬猿の仲だったRuby陣営とPython陣営の対立が少しおさまった?
0972デフォルトの名無しさん
NGNGどっちみちクソスレなんで、上げないで下さい。
0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG別に仲悪いってことはない。
0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNG図書館でRuby本いっぱい借りてきたんだけど、このスレを読んでいたら、
読む気がなくなった。こんな基地外を生み出すコミュニティは
言語ともどもに衰退させた方が世のため、という気分になってきた。
0977デフォルトの名無しさん
NGNGでもせっかく借りてきたんだから勉強してみな。
できないよりはできた方がいいぞ。
もっとも俺はPerlマンセーなんだが。
0978デフォルトの名無しさん
NGNGひとり釣れてよかったね。
0979977
NGNG0980デフォルトの名無しさん
NGNGアヒャ
0981デフォルトの名無しさん
NGNGまじめに釣られてみる(?)と、基地外はまさに 976 のようなことをまわりに思わせて
ruby を貶めようとしているわけで。みてりゃわかるだろ。
0982デフォルトの名無しさん
NGNG0983976
NGNG助言ありがとう。釣ったわけではないですよ。
「たのしいRuby」っていうのを半分くらい流し読みして、気分転換に2ちゃんを
読んでたら、なんかとっても気分悪くなったわけです。自分の選択に。
本は結構たのしく読んでたんですけどね。
まつもとさんもお気の毒ね。
0984デフォルトの名無しさん
NGNG基地外は気にするな。無視しろ。
それからageるな。
レス数が950を超えています。1000を超えると書き込みができなくなります。