私にとってプログラム言語は、奇特な方が作ってくれたすでにそこにあるモノ以上でも以下でもない。なので、
Matzにっき Attacking PHP
から派生する議論を見聞きするたびに、
「ほんとうにそんな些細な言語仕様の違いが、何かの原因なのか?」
と、疑っている。システム開発の現場では、本来人間に向けられるべき苦情の矛先が、プログラム言語やフレームワークに転嫁されてしまうことはよくあります(Javaが良い例)。
「プロジェクトが失敗したのは、Rubyを選んだからだ」とかねー。
人間の所業には目をつむるのか、ふざけるなっと。
・・・そういう感じで、
この物議には参加しません(できません)が、言語云々とは違うところに、考えが及んでしまった。
Matzさんのエントリの「初心者」というのが、プロ(生業にしている人)のことを言っているのか、アマ(プロじゃない人)のことを言ってるのかで、ずいぶん話が違う気がする。アマが脆弱なWebアプリを作ったとしても、関わった人が喜んでいるのであれば、それはそれで良いことじゃん!と、思うからです。
どっちを選ぶかはおじさんが決めることで、例えサイトがクラックされようが踏み台にされようが、借金で首が回らなくなろうが、作った人と作らせた人の自己責任だし、他人が決めた方法(言語も含む)に、とやかく言うほどではない。
東北ではなぜか不思議なことに、中小企業のIT化=XOOPS、
というバブリーな神話があり、XOOPSの普及率は相当高いです。
仕掛け人がいるのでしょうが、私としては、
余計なことしてくれやがって・・
→ XOOPS(や、CMS)の普及を呪い、
→ PHPの普及を呪う。
という気持ちになることが、ままあります。
というのは、
けっこう多いのが「XOOPSのプラグインをちょっと変更したいから、5000円でやってくれ」という依頼。一応そのソースコードに目を通して、苦渋の決断により、ほとんどはお断りしている。ソースを読む時間とノウハウだけで5000円はいただきたいくらいであって、
「なんだ、おたくは何にもできないんじゃん」と言われたときは、さすがにイラッとするのであります。
何にイラっとしたのか分析してみると・・・
自分の責任でオープンソースを使っているはずなのに、自分で解決できない(しようとしない)。生半可に無料で足を踏み入れてしまったから、「自分ができないことを他人に相応のお金を払ってやってもらう」という取引の基本中の基本すら、意識が薄れている。
つまり、自身の選択に無自覚なITユーザーは確実にたくさんいる、ということ(何も中小企業だけの話ではなく、大企業にもいっぱい転がっている話です)。
こっちが頬っぺたハタいてやりたくなるのだが、逆に怒鳴られたりする理不尽が襲ってくる(・・が、笑顔で受け流す)。
それを助長してきたのが「初心者にやさしい無料で作れるPHP」のキャッチコピーだったということなら、確かにその通りかもしれない。
PHPであること、とは直接は関係がない。
Rubyが、もし、レンサバでも普及したら、「かんたんRubyスーパーサンプル集!」といったコピペ本がでてきて、同じことが起きると思う。とはいえ、もし、普及することを拒む(普及しないとわかってる)言語なら、
今すぐに使うのを止めちまうわけで、普及はしてほしいと期待はしているのであります。
アマはアマで楽しんで、プロはプロで責任をもった取引をすれば良いのであって、言語仕様云々の心配には及ばないような気がする。もちろん、誰が作っても安全なアプリが組める何かがあれば最高だとは思いますが。
自分の場合は、PHPでもRubyでも仕事しているけれど、どっちを使っても「絶対に」クラックされないアプリを作る自信はないし、リリース後は、しばらく胸が重いものです。そういう意味では私も初心者ですが、それはプロ意識の裏返しだと自覚しています。そういうもんでしょう、
たぶん。
プログラマが言語論争で紛糾するのも、プロ意識の裏返しかもしれません。でも、言語のプロなのかそうじゃないのか、自分が何のプロなのかは、自覚したいところです。