初心者向けの言語探してないでコードを書けばいいと思う
- 「初心者向けの言語は〜」に初心者が思うこと - 遥か彼方の彼方から
これをみてフォロー書かなきゃと思いつつ忘れてました。
- 「初心者用言語」祭りが意外と盛り上がった件 - おびなたのはてな日記
そしたらおびなたくんに先に書かれてしまいました。
書こうと思っていたことはほぼ重複するんですけど、いちおう書いておきます。
上級者の皆さんが「あれの方がいい」「これの方がいい」と話し合ってくれるのは嬉しいんですけど、少しばかりノイズに感じてしまいます。ごめんなさい。
少しばかりじゃなくてほとんどノイズです。なんだかすごく盛り上がったみたいだけど、その中で実際にプログラミング未経験の人間複数人にその言語を教えた経験のある人間はどれだけいるんでしょうか?あと「話し合って」なんかいないよね、みんな自分の言いたいことを言っているだけで。
なので気にせずにコードを書けばいいかと思います。PHPでもいいと思います。PHPをへぼいと言う人はたくさんいますが、たとえばWikipediaはPHPで作られているわけですよ。PHPで作られていることでWikipediaの価値が幾ばくかでも損なわれているかって言うとそうじゃない。しょせん言語は道具であって、それを使って何を作り出すのかが一番重要。
もちろん、もしかするとPythonやRubyを使った方が楽にWikipediaを作ることができたかも知れませんが、逆にDjangoやRuby on RailsはPHPより大量にメモリを食うわけなので、サーバ費用がふくれあがってプロジェクトが頓挫してしまった可能性だってあるわけですよ。全てのものには長所と短所があり、やってみないとわからないことだらけです。
だからこそ大切なことは、とにもかくにも「実際にやってみる」ことなのです。とにかく作るのです。で、作りたいものがあるなら、それに一番適した言語を使えばいいじゃないか、と。きれいな幾何学的な模様を描いたりして遊びたいならAS3やProcessingでしょうし、ノベルゲームを作るならNScripterとか吉里吉里とかでしょうし、MIDIを作るならMMLやサクラでしょう。MMLはオブジェクト指向言語じゃないけど、じゃあオブジェクト指向のJavaで書いたら楽かというとそうではありません。目的がはっきりしているなら、言語自体の力がどうかとかはあんまり関係ありません。目的を果たすために一番楽な言語を使えばいいだけです。
そして「やりたいことに適した言語を使う」というのは、つまり「やりたいことが変わったら、当然それに適した新しい言語を学ぶべき」ということです。最初がどの言語でもまったく構わないけど、最後までその言語一つだけでやりたいことが全部できるとは思わない方がいいでしょう。
-
-
-
- -
-
-
P.S. やりたいことがない人はとりあえずパズルだと思ってBrainf*ckをやるといいと思うよ。あとSchemeは第0番目の言語としてプログラマ全員がやればいいと思うよ。もっと具体的なものを操作したいと思う人はとりあえずPythonをやればウェブアプリからUSBカメラの顔画像認識からWiiリモコンの操作までいろいろできるよ。