プログラミング言語自体の開発など下回りを整備することについて

WWDCAppleがSwiftを発表しましたけど、AppleのSwiftにしろGoogleのGoにしろFacebookのHackにしろ自社でプログラミング言語を作るってなんかすごいなと思いますね。それを作ることにはコストがすごくかかると思うんですけど、それでも作ると判断するのはどういうもんなんだろうと思いますね。だってアプリに機能追加することに比べたら、少なくとも短期的なビジネスメリット無いじゃないですか。

ただRebuild: 39: Objective-C Has Become Too Easy (naan)の26分あたりからの話とか聞いてるとなるほどなあと思ったんですよね。

詳細はrebuildfmを聞いてもらった方が良いと思うんですけど、そこで言っていたのはAppleコンパイラを作り出してからすごく良くなったってこと。その前はgccでさらにgccにパッチあててやってたんだけどgccって遅いし、gccももう25年ぐらいやっててぐちゃぐちゃになっていて自分たちで全部いじれない。そこでコンパイラを作るという決断をして頑張って作った。それがあってObjective-Cが着実に良くなった。OSやコンパイラの下回りの地味な仕事を着実にやったのが良かった。

Microsoftも調子良かった時はVisual C++とか自分たちでコンパイラ作ってやっていた。やっぱりOSとコンパイラを自分たちで持っているのは強い。その点でいうとAndroidで使うJavaGoogleの持ち物じゃない。だからこの前のJava API著作権侵害のように訴えられる危険性すらある。

日本だとSIerの内製フレームワークとかWeb系の内製独自ツールとかは聞いてもさすがに言語まで開発するってのはDeNAがJSXをやっている以外は無いような気がしますね。というかミドルウェアだってベンダー以外はそんなに作らないでしょうしね。ライブラリやフレームワークOSSで出すことは一般的になってきたのかなと思います。

あと言語じゃないけどAtomCoffeeScriptでpackage作れるってのは良いのかも。SwiftにしろCoffeeScriptにしろ低レイヤーじゃない言語、DSL的といったらいいのか、そういうのでhackしやすいってのは開発者をひきつけやすいのかなあと思ってます。

http://rejasupotaro.github.io/2014/06/05/49.htmlにあるようにAndroidもGroovyで書けるって話もあるようですし、なるべく高水準な言語でGUIを作れるっていうのは重要なのかもしれません。