2009年9月5日土曜日

関数型言語わかりましぇーんw

やっぱLisp使いってかっこいいじゃない?20年くらい前かなぁ、、、Franz Lispの人(もちろん外国人w)とちょっとだけ仕事したことあったんだけど、やっぱLispで食っている人は、私らマイコンあがりからしたら別世界の人だった。
当時はMIT震源地のLispブームみたいのもあったので憧れだったりと。。。

で、この20年くらいLispかっこいいなぁ、関数型言語すげーなー、、などと思いながらも、仕事ではC→C++→Java(webに転向)→Perl→PHP/JavaScript って感じでメイン言語を渡り歩いてきたので、まったく関数型言語を使う機会がなかったわけ。関数型言語を使うような仕事って、私がいたような環境ではありえなかった。

ところが、ここ最近、日本ではrubyでなんかする。ってのが流行りだしてきている。rubyってぜんぜん詳しくないのだけど、ちょっとみLispを現代的なセンテンスで書き直したって感じ?と思っていたりしたのだ。

それから、なんかHaskellやOCamlが話題だし、MicrosoftがF#を出してきたりと、関数型言語を実際の仕事として使える環境が整いだしてきたような気がする。

さらに言えば、いままで使ってきた言語類もその拡張でイテレータが普通に使えたり、lambdaできるようになったり、FirstClassObjectが使えたりと関数型言語の特徴が取り入れられてきていることで、だんだん関数型言語が身近になってきている。

特にJavaScript。こいつ、あまり好きな言語ではないのだけど、それはなぜかというとwebでHTML書くときに使うから。
webではデザインとロジックを分離して書くのが主流の現在、HTMLの修飾のために使われていたりするので「どうもなぁ~」と思っていたのだけど、単純に言語としてみるとそれはそれでよくできている。DOM内蔵してるしねw。
で、いま、JavaScriptを触っている人が大量にいるわけで、JavaScriptの現代的な記法に慣れた人にとって関数型言語の概念は結構すんなりと入っていくのではないかと思うわけです。

かく言う私は、それはもう旧態然とした脳なのでなかなかハードルが高いのだが、やはり関数型言語を華麗に操るプログラマはかっこいいわけで、やらないわけにはいかない!ってのがここんとこのキモチ。

とはいえ、食っていくためにはPHPもやるしPythonだってやるさー。しゃーねーもんっ!

1 件のコメント:

  1. イテレータはどちらかというとオブジェクト指向か。

    返信削除