魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

ハスケルハスケルるーるるる

Haskell は、果たしてぼくが第一言語として使うべき言語なのだろうかと天に問う。そのときの呪文が「ハスケルハスケルるーるるる」なのだ。きょうもトイレで唱えてしまった。

ぼくは昨年12月から、数論研究とぼくのもつ幾つかのアイデアを実現するためのプログラミング言語を決めようとしていた。J、PythonSchemeHaskell 、Pure(1月になり加わった)の5つがその候補だ。

J は使い続けている好きなツールだけどアプリケーション開発には向かないので除外した。また、長年に渡りずっと関心を持つ続けてきた Scheme なんだけど、どういうわけだか使いたいと思わなくなってしまったのだ。一時的な病かも。

で、現在は、PythonHaskell、Pure の3つが最終候補となっている。

f:id:fxrobot:20150119142330j:plain

プログラミング言語としてなにを選ぶかということは、その目的と使う者の事情(職業プログラマならプロジェクトの事情)によって決まるものだと思う。ぼくの場合は科学者のニーズと似ているだろう。

また、OS やミドルウェアを開発するわけではないので、C、C++、D、Go、Rust  などは本当の必要が生じない限り手を出す気はない。そう、気づきましたか。ぼくにとっては動的言語が好ましいのだ。

だったら Haskell ってその点どうなの? うん、だから後から Pure が顔を出したんだ。

ズボラなぼくには動的言語が好ましい。だって、やりたいことの本質とは関係ないことに煩わされたくないよ。Haskell は、カタ(型)カタ、カタカタうるさすぎる。でも、そのカタカタは長所でもあるけどね。

さてさて、この頃では、関数型言語が脚光を浴びており、職業プログラマの人たちもなにを学ぶべきかと悩んだりすると聞くが、.NET の人なら F#、Java の人なら Scala で決まりだろう。悩む必要なんてないと思うよ。

職業プログラマは道楽100%とはいかないから、趣味(向上心)と実用(仕事)を考え、F# か Scala が好ましいと思う。実際、この2つの人気が上昇中だ。当然だと思う。

間違っても Pure などやろうと思わないほうがいいよ。だってまだ信用できないよ。バージョンは 0.64 だし、実際たまに落ちる。

ところで、1月になって、ある仲間から Project Eulerhttps://projecteuler.net/)を教えられた。(和訳サイト:http://odz.sakura.ne.jp/projecteuler/

最初の数問をやってみたら、驚くことに、自然にぼくは関数プログラミングで解こうとしていた。どうしてもループを書く気にならない。

それでまた呪文の声が高くなった。
ハスケルハスケルるーるるる」。こんどは、風呂場に響き渡る。

けっきょく、過去一度は切り捨てた Haskell がぼくのなかで復活しようとしている。

第一言語Haskell(Pure)
第二言語Python

かな..。Python は必要? うん、けっきょく最後は Python が助けてくれる。
ぼくにとって Python とはそういう存在。