Haskellとプログラム言語

久々にソフトウェアの本を読んだ。一応こっちが本職ですからね...
最近何かと話題のHaskell。僕が知っている別の言語で最も近いのは大学のときにちょろっといじったML。これにモナドという概念を加えたものだ。まだこの本一冊読んだだけなのでモナドのすべてを理解したとは言いがたいが、Webにもいろいろ資料はあるので時間を見つけて追求してみるつもり。
なお、あとがきの中にハッカーになろうというページが紹介されていて、そこにはマスターしておくべきプログラム言語としてPython, Java, C/C++, Perl, LISPの5つが挙げられていた。
このリストにケチをつけるつもりではないが、アセンブラ(いわゆるマクロアセンブラ)はやっぱり必須だろうと思う。どんな言語を使おうともコンピュータは結局はコレで動くわけだから、アセンブラの理解なくプログラマは名乗れんだろ、と思うわけですよ。
でもこんなことを言うと、デジタル論理回路の理解なくしてアセンブラは理解できないだろうとか、半導体の性質を理解せずに論理回路は分からないだろう、とかいう話になっちゃうだろうし、そもそも「これだけ知っていればOK」というラインがあるわけもないのでいい加減なものですが。
上のリンク先からの引用だけど、
というのはまさにそのとおり。関数型言語の知識は大学で身につけて以降直接使ったことは一度もないけれども、ほかの思考に大きく影響を与えているし、今頃になってありがたみがわかってきましたよ。
今僕が選ぶなら、マスターすべき言語としては
* アセンブラ(x86でもARMでも)
* JavaまたはC#
* 関数型言語何か1つ(もちろんHaskellでも)
でしょうかね。これらを押さえていれば、C/C++やPerlやRubyは必要が出たときに覚え始めても短期で何とかなるのではないかと思います。
« メガバンクかな | トップページ | できた!インテリセンス »
この記事へのコメントは終了しました。


コメント