子どもに教えるプログラミング言語

Don Box氏は 自分の子どもにプログラミング言語を教えるとしたら、どれがいいだろうか、

というのを考え、今のところのリストを書いています。

Teaching my kids to program

リストにあるのは4つの言語。

-Lisp

-ML

-SmallTalk

-Ruby

私はどの言語も、深く使ったことはないですが、

どれも優れた構造を持つということで、有名なものばかり。

(私は、自分はこれらをひとつとして深く学んでいない点が、ちょっとよくないかな、と思いました。)

DonBoxはこれからRubyを学ぼうか、と思っているところらしいです。

なのでリストの最後にあって、かつ、かなり友好的です。

当面の方向性は

「My plan is to learn Ruby and relearn Smalltalk to inform my decision.」

(Rubyを学び、Smalltalkを再学習する。)

とのこと。

ところで、このリストに、彼も手がけた .NETはおろか、世の中で主流を占めた各言語が入っていません。

There are some conspicuous absences from this list. I don't care if any of my three kids ever grok the difference between an abstract class and an interface or between a pointer and a reference, so languages like C++, C#, Java, and VB.NET are out.

「抽象クラスとインタフェース」「ポインタとリファレンス」のあたりの理解をして欲しいわけじゃないから、という感じでしょうか。

- - -

私の中での、各言語の認識具合をカミングアウトしておくと・・・

-LispEmacs Lispをちょっと触ったくらい。Schema(Lisp処理系の一つ)とかをセットアップはしたけど、まともに覚えて何かを作るところまではやらなかった。学生時代に人工知能系だったのでPrologという言語を使ったが、北米の研究ではLispのほうが主流だったと聞く。

-MLは、その頃、構造化言語として、出てきていて、講義で取り上げる先生もいた。

-SmallTalkは十分に有名だったけれど、あまり普及した処理系がなかった(積極的に探していなかったというのもある)。

-Rubyは(大変、気になるが)まだ触っていない。

ダメじゃん。

DonBoxのおかけで、もう一回勉強しようかな、という気にさせてくれました。

なんて素晴らしいことでしょう。

(おあとがよろしいようで・・・。)