一度でいいので『~なnつの理由』ってタイトルを使ってみたかった。いつも先にタイトルを決めるのだが、3つと書いてしまったので3つ書く。
初めてDartを知ったのは去年、Google I/O 2013の報告会であるGDG DevFest Japan 2013だった。あんどうさんのDartのセッションを九州会場で生で見ていて一目惚れした。スライドはこちら
枚数で言えばたった6枚だが、その後1年、今に至るまでDartに惚れ続けているのはこの6枚のスライドがきっかけであるので、あんどうさんにはとても感謝している。
美しい
スライド3枚目のこのコードを見てまず「美しい」と思った。それまでWebアプリケーションといえばJavaScriptで、function(){}に汚染されたセマンティックでないコードがほとんどだと思っていたが、このコードを見て感動した。慣れ親しんだクラスベース、ラムダ式、ジェネリクス、コンストラクタのthis引数、無駄のない構文、自分が欲しいと思う全てがここに在る気がした。
All in One
スライド4枚目はJavaScriptとの比較である。4点で比較してあるが、この中でもDartがAll in Oneであるという部分がとても気に入った。1年間Dartを書いてきた経験からも思うのだけど、Dartで開発していると、「迷う」ということがあまりない。依存管理をnpmにするかbowerにするか?pub一択である。テストフレームワークは?unittest一択である。MVWフレームワークは?AngularDartがある。実装と関係のない部分で悩まなくていいのはとても精神的に健全な開発が進められて実にハッピーである。
見たことのない構文
これは人によっては嫌うのかもしれないが、私は今までに見たことのない言語仕様や構文を見るとテンションが上がる。スライド5枚目の「メソッドカスケーディング」はまさにこの琴線に触れた。これが一番大きなきっかけだったかもしれない。メソッドカスケーディングを見た時の衝撃は、初めてC#のLINQを見た時の衝撃と同じかそれ以上だったかもしれない。特異なだけでなく合理的で、実用的な構文がDartには揃っている。「こう書けたらいいのに」がたいてい備わっている。書けば書くほど馴染んで行く感覚があって、この書きやすさはもうほかの言語では味わえないと思っている。
たった6枚のスライドだったがあれで間違いなく私の1年間は変わったし、これからの数年、十数年も変えるかもしれない。Dartに出会えたことを本当に嬉しく思っている。ありがとうあんどうさん。