もっともタダで楽しめる初心者向け言語は**だ!もしくは、プログラマー選民思想

もう、モトねたがよく判らないことに……。


ワナビさん(http://d.hatena.ne.jp/Florian/20071224/1198507332)にたっぷり触れてるので、初心者だろうが長く接している人だろうが、プログラマーの血(http://d.hatena.ne.jp/Florian/20071104/1194133178)を持ってない人はどうせなにも覚えやしないよ。……と達観してもいいのですが(^^;)、もう少し。


今は実はかなりいい時代だと思っています。私がマシン語を覚え、いろんな言語をとっかえひっかえあこがれたあの頃に比べて、無料の開発環境もチュートリアルもたくさんありますから。
たとえば、なにも知らない人にVisual C# ExpressEditionを渡すだけで、実は結構いろんなことができます。なにせ、Visual C#は、キーボードをほとんど叩かなくても選択肢だけでほとんどのプログラムを組めますので、パソコンをさわったことがない人でも簡単に操作できます。日本語ヘルプも充実してるし。
キーボードを極限まで叩くのがいやな向きには、Squeak eToysやScratchなんて飛び道具もあります。ドラッグ&ドロップだけで簡単プログラミング。思った通り動かないことはあっても、エラーでコンパイルが通らないなんてことはほとんどないです。そもそも、文法的に通らないところではドラッグすらもできませんので。
プロ用環境じゃないといやという人にはJavaEclipseも良いですね。打ち込んだ端からエラーチェックして自動コンパイルしてくれるので、自分が今なにを間違ったのかがすぐ判ります。ちょっと重いですが、デバッグ環境も強力ですので、動いているところをおもむろに書き換えて動作を試すなんて荒技も可能です。


とはいえ、どうせどんな環境でも思考を記号化するという行為から逃げられるわけではないんですよねぇ。
見かけのストレスをちょっと低減するくらいでは初心者が最初に詰まる、いいたいこと、やりたいことは判ってるのに手が全く動かないというだるまさんな状況は何ら変わらないんですよね。
そりゃ、当の初心者さんにいわせれば、いろんな言い訳はしてくると思います。目に見えないルールがいやだとか、動いているところが判らないとか。
でも、彼らの言い訳を一つ一つ丁寧に軽減していっても、結局は初心者を追いつめるだけでしかないことを少なくとも私は知っています。言語でもなく、環境でもなく、彼らが逃げているのは、記号化という抽象的な行為からなのですから。
向上心のない職業プログラマーと、PHPのカット&ペーストしかできないワナビさんはその意味では何ら違いはありません。
個々の処理が分離できて、いくら作り散らかしても何ら困らないPHPワナビさんたちに人気あるのは、記号化を自分でやらなくても困らないからでしょうし、記号化以外の、彼らにいわせるとおもしろい部分だけを楽しめるので。


と、考えると、今の、いくらでもタダでプログラムを作れる環境というのは、実は自称初心者を量産しているだけで、初心者をちょっとはできる人に引っ張り上げるための役割はぜんぜん果たしていないのかもしれないという気はします。
どうせ、自称初心者は、論理の記号化という山を乗り越えられない限り、どんな環境でもなにもできやしないし、言語や環境の善し悪しは乗り越えてしまった人だけにしか判らないので、なにを選んでも一緒だろう。プログラマーとしては、プログラマーだけが約束の地にたどり着き、それ以外の人はいつか地獄の業火に焼かれると考えるべきだ。
来るべき日に救われないような人のことなんか考えるだけ無駄。プログラマーは来るべき日の先にも生き続けるためだけに、自らの環境を研鑽すべきだ。
……なんてな事をいうから、プログラマーは非プログラマーにいやがられるんですね(^^;)。