Rubyのコードは読みにくいのか? その1

その1 その2

2bbb
Rubyは何が嫌かって, 人が書いたソースが読めない. 伊達にPerlの後継を名乗ってないなと思う. 反論は認める. 飽くまでも個人の使用感.
keisuke_n
あーそうなんだ。読みにくいソースもあるということか RT @2bbb Rubyは何が嫌かって, 人が書いたソースが読めない. 伊達にPerlの後継を名乗ってないなと思う. 反論は認める. 飽くまでも個人の使用感.
2bbb [Re]
@keisuke_n というか俺の今までの経験から出て来る「直感」に反する言語設計な気がするんだよね. だからRubyが読み易い人も居るだろうし, Pythonが読み難い人も居るだろうし. !!8/1,2 福岡公演 http://is.gd/1SU9J
2bbb
プログラム言語が自然言語に近づく必要性は無いと思うのは俺が数学やってて自然言語の曖昧さを痛い程感じるからか. !!8/1,2 福岡公演 http://is.gd/1SU9J
keisuke_n [Re]
@2bbb いやいや反論ではなかったのですが、そう思う人がいたというのが興味深かったわけです。「俺の今までの経験から出て来る「直感」に反する言語設計な気がするんだよね. 」なるほどそれは作者が想定した直感と違うということを意味してるんですね。おもしろい。
keisuke_n
AS2も実はひどいところがあって、クラスの概念が内部的にシンタックスシュガーになっていたために、メソッドである関数のクラスインスタンス変数のスコープが変なになってた、あれはいかんと思う。
2bbb [Re]
@keisuke_n なんだろう, 基本的にCから入ったんだけど手続き型という認識で読んじゃうとC的な何かを求めちゃうし, そういう意味でPythonと比べて気持ち悪さがあるというか何と言うか. !!8/1,2 福岡公演 http://is.gd/1SU9J
keisuke_n
むしろAS2はJavaScriptと同じレベルのPrototypeベース言語になってた方が混乱がなかったかもしれない。
2bbb [Re]
@keisuke_n 別に, PythonがC的かと言われると違うんだけど, なんだろうなー. まあ, トニモカクニモRubyは俺に合わないってことだけは確かですねww どっちが優れてる, とか言う気は無いですw !!8/1,2 福岡公演 http://is.gd/1SU9J
2bbb
優れてる言語というのであれば, 良いプログラムを書けるプログラマが多い言語ってことになると思う. !!8/1,2 福岡公演 http://is.gd/1SU9J
zophos
@keisuke_n の言うASがActionScriptのことだとようやく分かった
witchmakers
「言語対抗これは読めないソース展覧会」とか誰かやらないかな。
keisuke_n [Re]
@2bbb 具体的にどの辺なのかわからないのですが言動からすると全部って感じですねw。ALGOL風味なのとProcあたりなのかなぁ。
keisuke_n
Rubyイテレータかもしれない。逆に言うとScalaは言語的にいろいろ違うのになぜかRubyぽいところがある。
2bbb [Re]
@keisuke_n うん. 漠然と全体的にw 変に記号を多用する(多用してるイメージがあるだけかもしれないけどw)のも嫌いかも. !!8/1,2 福岡公演 http://is.gd/1SU9J
2bbb
どの言語にも良いところはあるんだろうし, どの言語が一番優れてるとか言っても宗教戦争になるだけだから使いたい言語使えば良いと思うけど, 自分が苦手な言語のソースを読まなきゃいけないときに愚痴る自由くらい残して欲しい. !!8/1,2 福岡公演 http://is.gd/1SU9J
keisuke_n [Re]
@2bbb 記号というとPerlを思い出すのもマイナスイメージですねw。あーしかし逆に私はselfを書くより記号で短くなってたほうがと思う派でしょうね。
keisuke_n
そうか、Rubyはわかりにくい記号が少ないと思ってたんだけど、気になる人がいるわけだ。@とか@@とか確かになんのことかわからんわなw。
2bbb
ああ, そういうプログラミング言語論, みたいなことを研究してる人達は多いに争えば良いと思うんだ. 俺は今後はそっちの世界からは遠離る. というか自分の才能の無さに絶望した. !!8/1,2 福岡公演 http://is.gd/1SU9J
keisuke_n
ALGOL風味が嫌いって言う人が結構多かったけど、ちょっと違う方面から。Rubyの記号というと代表的なのは@,@@,$あたりかな。
2bbb [Re]
@keisuke_n 俺は書く手間が増えても読んで意味が分かるようにしたいんですよね. まあ, Pythonのselfは要らない気もするし, 要る気もする, くらいですけどw !!8/1,2 福岡公演 http://is.gd/1SU9J
2bbb
@, @@も分かんないし, |v| とか書かれてもvの絶対値?程度にしか思えないし, :hoge みたいなのもよく分かんない>< !!8/1,2 福岡公演 http://is.gd/1SU9J
keisuke_n [Re]
@2bbb 確かに指摘の通り記号の意味を覚える必要がありますね。wordだとそれ自身に意味があるので覚えやすいし見やすい(逆もあるかも)。
2bbb
いや, まあそれは俺の勉強不足だろうけども. !!8/1,2 福岡公演 http://is.gd/1SU9J
keisuke_n
なるほどいつも見る風景が外の人から見ると違和感を感じるとwww RT @2bbb @, @@も分かんないし, |v| とか書かれてもvの絶対値?程度にしか思えないし, :hoge みたいなのもよく分かんない><
keisuke_n
[1,2,3].each {|no| print "#{no}\n" } とかなんのことだか、ワケワカランというのは確か似そう。
keisuke_n
Array(1, 2, 3).foreach {i => println(i) } もわかりにくいかな?
zophos
(1..3).each{|i| p i } # もっとわからんようにしてみた
keisuke_n [Re]
@zophos (Rubyを知らない人からすると)結構意地悪ですねw RT @zophos (1..3).each{|i| p i } # もっとわからんようにしてみた
keisuke_n
範囲オブジェクトと配列と言語によってリテラルや書き方が違うから意味を取り違う可能盛大。
2bbb [Re]
@keisuke_n それはまだ分かりますね. 無名関数(クロージャ?)の書き方が気持ち悪いですがw まあ, 自分が住んでない世界には違和感を感じるものですw !!8/1,2 福岡公演 http://is.gd/1SU9J
2bbb
無名関数って意味ではjsのfunction(var){hogehoge}ってのは好き. !!8/1,2 福岡公演 http://is.gd/1SU9J
keisuke_n [Re]
@2bbb RubyのProcはかなり特殊なんで中の人にもいろいろ思いがあるようですw。
keisuke_n
さっきの言語はです。 > Ruby: [1, 2, 3].each {|i| p i} , Scala: Array(1, 2, 3).foreach { i => println(i) }
その1 その2