Rubyを勧める人たちが気持ち悪い [にっき]
ちょっと仕事の関連でテキスト処理用のスクリプトを書きたくなったので、
良いものが無いかと探した時期がある。
YAMLを使っているので、できれば素でYAMLを読みこめるのがよろしい。
シェルスクリプトはsedやawkを組み合わせるというのがいかにもハードルを高くするので却下した。
となると現状ではPythonかRubyということらしい、となった。
Perlは悪くないけど、選択肢が多いのでCと同じで書く人によってはひどいことになりそう。
Pythonは海外で人気があり、Rubyは日本で開発されているということだ。
Pythonは歴史を引きずっている傾向があるようで、どうもRubyの方が開発効率が良さそうではあるのだが
筆者はPythonを選んだ。
なぜか。
筆者が今、海外にいるというのもあるが、一番の理由は
「Rubyを勧める人たちが気持ち悪いから」である。
そう。情緒的な理由で選んだ。
どうもRubyを勧める人たち(のうちの日本人)には特定の傾向があるように思う。
1.Rubyは素晴らしいと褒め称える、のは良いけれど、必ず他の言語をこき下ろす。
2.PerlやPythonでも○○はできるけど、と一旦持ち上げておいて最後は必ず褒め殺しをする。
3.最後はRubyでやればプログラミングが「楽しい」と来たもんだ。
なんというか、新興宗教の勧誘の人たちみたいだ。
プログラミング言語ってのは女房みたいなもんだ。
ちょっとぐらい使い勝手が悪くたって(ちょっとぐらい性格に難点があったってw)、
目的が達成できれば使いこんでいって(あるいは対話を重ねてw)それなりの開発時間でそれなりの仕事ができるようになる。
それでいい。
よほどの言語オタクでもない限り普通の人はそんなに沢山の言語を覚えたりしない。
で、1.だが自分の女房はクソだと言われて、たとえ事実だとしても良い気持ちのする人がいるだろうか?
あるいは、他人の女房をこき下ろすような人間が薦めるやつを女房にしたくなるだろうか?
それで「ああ、そうですか。それは素晴らしい。Rubyに乗り換えましょう」っていう人が増えるとは思えない。
2.も同じだ。
3.に関しては、新しいマーケティング用語を覚えて粋がって使っているようにしか思えない。非常に違和感を覚える。「楽しいかどうか」じゃない、「楽かどうか」だろうと思う。これは仕事だ。
で、そういう論調の人たちが、「Rubyを広めなければ!」みたいな人たちが、Rubyの周りだけやたら多い。
PythonやPerlを使っている人たちは目的だけ見ているように見えた。
というわけで非常に生理的に受け付けない傾向がみられた。
使っている人がこうなんだから言語もそうなんだろ、というわけだ。
悪いか?
多分、Rubyの設計は悪くないんだろう。
でも、Rubyが世界的に主流になることは無いだろう。
使っている人たちが、薦める人たちが、自分たちで広まることを阻止している。
と、思う。
もしかしたらPythonの黎明期も似たようなもんだったのかもしれないけどね(笑)
ついでながら、RubyはWindowsに厳しい。
PythonならWindows用のインストーラなどもあって簡単に始められるが、
Rubyは少なくとも初心者が始めるためのハードルはかなり高い。
Windowsのバイナリを配布しているとして紹介されているサイトにご丁寧に「当サイトの配布物は、使う人の技術レベルを制限するためにわざと手間がかかるようにしてあります。」なんて書いてある。
おまけに対話型シェルのコマンド名が「irb」でrubyじゃない。
#Perlはさらにひどいわけだが...。
コマンドプロンプトでrubyって入力すると、無言になる。
あり得ない。
なんだそりゃ?
ドキュメント読まなきゃ起動すんなってか?
python起動するときはそのまんま入力すりゃ対話式で始められるだろ。
ま、これはやつあたりだな。あはは。
というわけで気分が悪くなったのでPythonを使うことにした。
ちなみにPythonだって決して使いやすい言語ってわけじゃない。
「今いるディレクトリの名前を調べる方法」を調べるだけでエライ時間がかかった。
要するに付属のドキュメントがひどい。
だけど、もう、しばらくPythonだろうと思う。
ちなみに、筆者は今年はFortran95遣いであり(FORTRAN 77ではない)、
それまでは主にMATLABを使ってきた。
要するに情報分野の人間じゃない。
MATLABでもclassを使ってきたし、オブジェクト指向アレルギーも信仰もないが、
今の仕事ではとにかく計算時間重視なのでFortran以外の選択肢は考えられない。
そういう使い手の側からするとFortran95は割りとよくできていると思う。
コンパイラの書き手もユーザーが求めているものが徹底的な計算効率の向上だということが分かっているから
自動ベクトル化や自動並列化などに徹底していて非常にありがたい。
FORTRAN77しか知らないと思われる人がよくFortranを過去の遺物のように言うが
Fortran90から95になって、私の目的に対しては必要にして十分である。
そういう分野もある、ということだ。それ以上でもそれ以下でもない。
これまではテキスト処理だろうがなんだろうがMATLABで済ませてきた。
そしてMATLABはかなり速いし早い。変な書き方をしなければ相当速い。
が、これは高いお金を払わないと使えない代物である。
だから、より広い相手と仕事をしている今は使いづらい。
Rという強力な選択肢もあるが、
いかんせん私の分野では使える人たちが少ない。
FORTRAN77が現役の世界なのだから。
そしてFortranは限定的なテキスト処理以外は非力である。
そんなわけで、前処理工程にスクリプト言語を使おうと思ったのである。
スクリプトなら部分的な切り貼りでかなりなんとかなる部分がある。
元ネタがあればユーザーがそんなに頑張って言語を習得しなくても部分修正でなんとかなっちゃうと思っている。
というか、そうでないと困る。
そういうコンピュータユーザーってのが世界には沢山いると思う。
そういう人たちを忘れてもらっては困る。
良いものが無いかと探した時期がある。
YAMLを使っているので、できれば素でYAMLを読みこめるのがよろしい。
シェルスクリプトはsedやawkを組み合わせるというのがいかにもハードルを高くするので却下した。
となると現状ではPythonかRubyということらしい、となった。
Perlは悪くないけど、選択肢が多いのでCと同じで書く人によってはひどいことになりそう。
Pythonは海外で人気があり、Rubyは日本で開発されているということだ。
Pythonは歴史を引きずっている傾向があるようで、どうもRubyの方が開発効率が良さそうではあるのだが
筆者はPythonを選んだ。
なぜか。
筆者が今、海外にいるというのもあるが、一番の理由は
「Rubyを勧める人たちが気持ち悪いから」である。
そう。情緒的な理由で選んだ。
どうもRubyを勧める人たち(のうちの日本人)には特定の傾向があるように思う。
1.Rubyは素晴らしいと褒め称える、のは良いけれど、必ず他の言語をこき下ろす。
2.PerlやPythonでも○○はできるけど、と一旦持ち上げておいて最後は必ず褒め殺しをする。
3.最後はRubyでやればプログラミングが「楽しい」と来たもんだ。
なんというか、新興宗教の勧誘の人たちみたいだ。
プログラミング言語ってのは女房みたいなもんだ。
ちょっとぐらい使い勝手が悪くたって(ちょっとぐらい性格に難点があったってw)、
目的が達成できれば使いこんでいって(あるいは対話を重ねてw)それなりの開発時間でそれなりの仕事ができるようになる。
それでいい。
よほどの言語オタクでもない限り普通の人はそんなに沢山の言語を覚えたりしない。
で、1.だが自分の女房はクソだと言われて、たとえ事実だとしても良い気持ちのする人がいるだろうか?
あるいは、他人の女房をこき下ろすような人間が薦めるやつを女房にしたくなるだろうか?
それで「ああ、そうですか。それは素晴らしい。Rubyに乗り換えましょう」っていう人が増えるとは思えない。
2.も同じだ。
3.に関しては、新しいマーケティング用語を覚えて粋がって使っているようにしか思えない。非常に違和感を覚える。「楽しいかどうか」じゃない、「楽かどうか」だろうと思う。これは仕事だ。
で、そういう論調の人たちが、「Rubyを広めなければ!」みたいな人たちが、Rubyの周りだけやたら多い。
PythonやPerlを使っている人たちは目的だけ見ているように見えた。
というわけで非常に生理的に受け付けない傾向がみられた。
使っている人がこうなんだから言語もそうなんだろ、というわけだ。
悪いか?
多分、Rubyの設計は悪くないんだろう。
でも、Rubyが世界的に主流になることは無いだろう。
使っている人たちが、薦める人たちが、自分たちで広まることを阻止している。
と、思う。
もしかしたらPythonの黎明期も似たようなもんだったのかもしれないけどね(笑)
ついでながら、RubyはWindowsに厳しい。
PythonならWindows用のインストーラなどもあって簡単に始められるが、
Rubyは少なくとも初心者が始めるためのハードルはかなり高い。
Windowsのバイナリを配布しているとして紹介されているサイトにご丁寧に「当サイトの配布物は、使う人の技術レベルを制限するためにわざと手間がかかるようにしてあります。」なんて書いてある。
おまけに対話型シェルのコマンド名が「irb」でrubyじゃない。
#Perlはさらにひどいわけだが...。
コマンドプロンプトでrubyって入力すると、無言になる。
あり得ない。
なんだそりゃ?
ドキュメント読まなきゃ起動すんなってか?
python起動するときはそのまんま入力すりゃ対話式で始められるだろ。
ま、これはやつあたりだな。あはは。
というわけで気分が悪くなったのでPythonを使うことにした。
ちなみにPythonだって決して使いやすい言語ってわけじゃない。
「今いるディレクトリの名前を調べる方法」を調べるだけでエライ時間がかかった。
要するに付属のドキュメントがひどい。
だけど、もう、しばらくPythonだろうと思う。
ちなみに、筆者は今年はFortran95遣いであり(FORTRAN 77ではない)、
それまでは主にMATLABを使ってきた。
要するに情報分野の人間じゃない。
MATLABでもclassを使ってきたし、オブジェクト指向アレルギーも信仰もないが、
今の仕事ではとにかく計算時間重視なのでFortran以外の選択肢は考えられない。
そういう使い手の側からするとFortran95は割りとよくできていると思う。
コンパイラの書き手もユーザーが求めているものが徹底的な計算効率の向上だということが分かっているから
自動ベクトル化や自動並列化などに徹底していて非常にありがたい。
FORTRAN77しか知らないと思われる人がよくFortranを過去の遺物のように言うが
Fortran90から95になって、私の目的に対しては必要にして十分である。
そういう分野もある、ということだ。それ以上でもそれ以下でもない。
これまではテキスト処理だろうがなんだろうがMATLABで済ませてきた。
そしてMATLABはかなり速いし早い。変な書き方をしなければ相当速い。
が、これは高いお金を払わないと使えない代物である。
だから、より広い相手と仕事をしている今は使いづらい。
Rという強力な選択肢もあるが、
いかんせん私の分野では使える人たちが少ない。
FORTRAN77が現役の世界なのだから。
そしてFortranは限定的なテキスト処理以外は非力である。
そんなわけで、前処理工程にスクリプト言語を使おうと思ったのである。
スクリプトなら部分的な切り貼りでかなりなんとかなる部分がある。
元ネタがあればユーザーがそんなに頑張って言語を習得しなくても部分修正でなんとかなっちゃうと思っている。
というか、そうでないと困る。
そういうコンピュータユーザーってのが世界には沢山いると思う。
そういう人たちを忘れてもらっては困る。
コメント 0