ローファイ日記

出てくるコード片、ぼくが書いたものは断りがない場合 MIT License としています http://udzura.mit-license.org/

関数型じゃなくて型推論の時代じゃないかと思っている

「これからの時代は関数型だ!」をぼくは嘘だと思っています。

でも、これからの時代の次の潮流として、高度な型推論機能を備えた静的片付けの言語の立場がどんどん高まるんだろうなあとは思っています。

Hackerのための道具から、複数人数で価値のあるものを作るための道具としてのプログラミング言語、というイメージです。そのためにはコードの持つ情報が多い方が良いということですが、でも全部の変数やメソッドに型情報を書くのがどれだけダルいかはJavaとかJavaとか、あとJavaのことを考えればお分かりになるかと思います。

型がない言語の場合高度なテスティングの仕組みやフレームワークに頼らないと放縦な感じになりすぎて辛いように思います。すでにそういった仕組みが整っていたり、チームみんながハッカ〜であったり、そもそも自分のためのコードであればそれでも構わないと思っていますが(ぼく自身もずっと死ぬまでRuby使うでしょうし)、たとえば大人数で、スキルもバラバラな集団がJavaScriptを使う時のことを想像してみてください。

といいつぼくは高度な型推論機能を備えた言語をちゃんと書けないので、今までの発言は全部仮説ですw

来年は、今後10年の自分のために、以下のうちどれかをちゃんとやらないとキツいナーと思っています。言語の選定はオーラとかで決めています。

(Groovyの型推論とかも結構凄いとは思うんですが、トラウマがあるのです……)

と言いつつ逆にクラ側でHaxeやTypeScriptあたりがちゃんと普及して「ああっ高度な型推論便利だ〜」ってなって、それがサバ側にもフィードバックされるような未来もありそうな気はしています。

以上に述べた色々は妄想とか思いつきが入り乱れていますので、ことなごやとか名古屋とか各位におかれましてはお手柔らかに斧投げの方をお願いしたいところです。ぼくだって三河の人間ですよ、同じ寿がきや文化圏じゃないですか。

まとめ

D言語やるか!

あと、えんどうゆうすけさんには、正直Ruby2.0での仕事よりも

Types and Programming Languages

Types and Programming Languages

の邦訳のほうにすっっっっごく期待しているのですが、と言いつつ我慢しきれずに↑を買ったら邦訳が出るような事態などを想像しています。まず積んでる本読もう……。