あっちこっちの計算機業界関係者のブログで話題の、「初心者用言語って何か」って話。たまには、こういうのもか書いてみようと言うことで。

オタク向けで、長いので、裏に隠します(笑)

元の話の、リンクは、このへんに結構まとまってます: 最もタメになる「初心者用言語」まとめ

話の流れを説明しだすと長いので、ばっくり省略しますが、初心者用の言語は何が良いかという話が、「初心者向けの言語」にでたのがきっかけ。

概ね賛成ではありますが、最大の問題はそこにあるのではなくて、「初心者が習った後、その先どうするか」について、世間で、あまりにも考慮されていない点だと、僕は思います。

プロフェッショナルとしてのプログラマの正常進化を考えると、Dan Kogai氏の「初心者向け言語もいろいろ」で書いてるけど、scheme->C/assemblerというのは、本物を鍛えるには良いパスの一つだと思います。そうやって、コンセプトを覚えた上で、言語の特性とか多様性を知れば、自ずと必要に応じて選択する能力がついてくるはずだ。

一方、初心者が最初に覚えた言語から他に移るには、たとえば、ちゃんとコンセプトを学んだ後で言語を渡り歩くのと比べて、猛烈に、エネルギーが必要だと思います。なんというかな、初恋の人のイメージから脱却できないとでもいおうか。たぶん、そういう状態なんだと思う。で、他とくらべての優位性とか、冷静にみられないんじゃないかな、と。

また、新しい言語を覚えるという行為は、教育する立場の人間が、うまく誘導しないと、できないんじゃないかと思いました。昨今、どこでもJavaばっかで、ポインタどころか、アセンブラも教えない。アセンブラ知らなくてよい時代が早くくればいいのかもしれないけれど、今は、まだそういう時代にはなっていない(なっていると思うのは勝手だけど、幻想にすぎない)。

さらに、僕は、初心者向けの書籍の害というのが、あるんではないかと前から思っています。phpあたりの話も、煎じ詰めると、ここいらへんに行くのではないのかなぁ。「簡単に使える」ハウツー本。それをかってきて、なんとなく組み立てて何となく動く。それはそれで良いことだと思う。しかし、ハウツー本って、そこで終わりなんだよね。極端な話、Rubyの本に「perl には、XXってモジュールが完備されてるから、これをやるにはperlのほうが向いてるよ」なんて書いてないわけで。まぁ、完結しているという意味ではしかたないんだけど、多様性は学べないわけで。結局、言語の多様性を教えてくれる本ってのは、言語マニア向けの本か、コンピュータサイエンスをまっとうに教える教育機関しかないのかもしれない。あるいは、本物の現場かも:)。

厳しいことをいうようだけど、プログラマで、言語の多様性についていけない人は、淘汰されてっちゃうのだろうとおもうのです。一昔前に、Visual Basicで食えた時代があったと思う。今は、ダメなんじゃない?まぁ、VB書けるぐらいのひとは、他を使えるんだと思うけど、VBとphpを同じ土俵に乗せたら怒られそうだな。。。

僕は、phpは、Cobolが今生き残っているのと近い(同じとは言わない;p)理由で、一定線生き残ってゆくのだろうとは思うけれど、概ね、淘汰されてしまうのじゃないかなと思います。

ちなみに、phpのコード、沢山じゃないけど書いてるし、php 5 も使ってたけど、もう、直接プログラムを自分で組むことは無いだろうなぁ。


Archived comments:

Kenji_JJ1BDX 05 Feb 2008

まあ私も最初FORTRAN,次BASIC,その後にアセンブラで,LISPは結局座学がほとんどで,その後にCという人なので,最近のことはよくわかっていなかったりします.Perlも,使ってみたら便利だった,という以上でも以下でもないです.

そもそもプログラミングは簡単な作業ではないので,習熟していない人にとって壁があるのは当たり前だと思う.あたかも壁がないかのように教えるのは弊害の方が多いだろうと思う.ハウツー本だけじゃどうしようもないことって,多いよね.

言語は環境も含むし,環境が多様になっている以上,その上で動く言語もまた多様化するのは必然じゃないかと思う.

alpha2 06 Feb 2008

わたしゃFORTRANの呪縛に囚われたままかも。PL/I、Pascal、各種アセンブラ、BASIC、C、C++、Lisp、Prolog、Forth、VBと色々いじって結局最近はperlとTclとCだけだ。

でも最近の「入門言語」ってハードウェアから遠いよな。私はFortran/Lisp-->アセンブラ-->計算機ハードゥエア-->論理回路-->LSI-->半導体と階層を下に下りてきたけど、最近の入門言語じゃこういうルートは繋がらないんじゃなかろうか。

taked2 06 Feb 2008

私の場合、学生時代にポケット電卓でBASICを覚え、プロになっていきなりアセンブラを書かされました(使ってた制御系ミニコンのアセンブラマニュアルをポンと渡されて「分からない所があったら聞いてね」って。そんなの分からん所が分からんって)。だからその後Cを見た時に「なんて分かりやすい言語だろう」と感心しました。まあ、今はそんな前時代的な所も少ないだろうけど。
私は初心者には「Cを最低5年やれ」っていってます。オブジェクト指向もいいのだけど、どうコンピュータが動いているか理解していないと、最終的な穴になるような気がして。
でも最近XOOPSをはじめたので、またPHPにどっぷりな日が続きそうです。

blog comments powered by Disqus