2019-05-25

Ruby学習コストの高い言語だと思う

一応あらかじめ釘を指しておくと、有名で実用的な言語に限った比較の話である

LL言語は楽勝」というのが一般的見解だと思うけど、よくよく考えてみたらRubyほど学習コストの高い言語も珍しいと思う

言語を(使うものとして)理解するには、「コアコンセプトを理解する」「構文を覚える」「組み込み/標準ライブラリに何が有るかを覚える」という要素があるように感じている(これは感じているだけなので事実ではないかもしれない)

Rubyプログラマプログラミング的なことについて楽をするための言語である(と思う)

たとえば素数判定ひとつするにしても、自力で高速な素数判定を実装するよりも、 require 'prime' して Integer#is_prime? するのが正しいという雰囲気がある

というよりも、自力一生懸命実装することが悪であるかのような雰囲気さえある

「こう書けば短い/楽なのに、どうしてそう書かないの?」という雰囲気が漂っている

Rubyではある実装について、

Ruby時間計算量やメモリ効率の話をするのはナンセンスなので、純粋に書き方のみを取り上げて優劣を語ることができる

そうなってくると、『ちゃんRubyが書ける』という状態になるには「組み込み/標準ライブラリに何が有るかを覚える」というステップが非常に大事になってくる

これが莫大なコストになっている。

「構文を覚える」コストはどの言語でもほぼ同じで、

「コアコンセプトを理解する」コストHaskellやRustではやや大きいかもしれないが理解するのはそう難しくない「Haskell入門して1ヶ月経つけどHaskellの何が特徴的なのかまったくわからん」などという人はいない

そう考えるとRubyは「組み込み/標準ライブラリに何が有るかを覚える」が非常に大事だし莫大な量である

Rubyに入門して数年経つけど、いまだに「えっこんなメソッドあったの」というのが時々ある

そのたびに自分ダメRubyistだなと思う

辛い

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん