Time goes by

あけましておめでとうございます。早いものでもう2010年です。そろそろ年齢を数えるのをやめるか、もしくは16進数で数えてよいかと思うようになってきました。さて昨年は年初にErlangやCをやりつつperlなんかに手を出してみたいとホザいたのですが、結果どうだったかというと全然perlなんてやらなかったわけです。そもそもそんな余裕がなかったんです。
じゃあ何をやったかというと、成り行きからC/Rubyはガッツリお勉強させていただくことになったし、Erlangも成り行きで結構やりました。PythonはDjangoをちょっくら触りました。

f:id:kuenishi:20100102051535j:image:w500
写真:今年のおせち料理は妻が拵えてくれました

年初は仕事がちょっと大変でストレスがたまっていたのですが、夏くらいからコミュニティにデビューしました。高校でも大学でも会社でもデビューすることなく暮らしてきた私だけどついにErlang分散システム勉強会とPython温泉にデビューしました。すごいよ俺。社外の人たちといろいろ知り合いになれてよかったです。やっぱし、社内の人間だけだと感覚がどんどん狭くなってくるのでよかったです。社内の人たちが社外のルートで僕のことを知ってたりするらしいのでまた笑えるというか笑えないというか、などなど。
あとは、春から夏にかけてyatceなんてダサい名前のモノを作ったのだけども、それなりに評判いいなぁ…と思っていたらLShift Inc., がほぼ全く同じコンセプトでTokeというのを出してきてポカーンというか、やられたー!というか。。。
さて今年の目標、なんていうと達成に義務感が生じるので、なんとなくやりたいなーと思っていること。

  • とりあえず、2月のErlang分散システム勉強会の発表準備
  • そろそろAndroidアプリ作る(Tumblr viewerにいいのがないから作るしかないか!?など)
  • モナドを理解する(えらくピンポイントだけど。。。
  • 何かのOSSのコミッターとかメンテナーになる(これは自分的に結構ハードルが高いので、おもしろそうなモノをじっくり探すことにします

自分の言語履歴はこんな風になりました。*1

2000 Java
2001 HTML, Java
2004 C, Java, C++
2005 Java, TeX, PHP
2006 C++, TeX, PHP, Ruby
2007 Python, C++
2008 Erlang, C
2009 Erlang, C, Perl, Python, Ruby

今後の予定

2010 もうちょっと書ける人間になる
2011 アナログ放送終了
2013 自分言語開発(たぶんやらない)

去年の日記からそのままコピペってきたのですが、自分言語開発なんて冗談で書いたもののホントにやるんでしょかねえ。それにしても、今年一年で実感したのは、プログラミング言語そのものにこだわるのは結構ナンセンスだということでした。「言語そのもの」とは言語仕様のことで、シンタックスとかインデントが美しいとか、There's more than one wayナンタラとか、オブジェクト指向だとか関数型だとかいろいろあるけど正直あんまし重要じゃない。むしろ重要なのは基本コンポーネントが充実しているとか、とか処理系に特色があるか*2、とか世界中に沢山の開発者がいるか、とか「やりたいことをいかに確実・簡単に実現できるか」がむしろ重要なんだろうなぁと思った(というか、そういう風土の中で育ってしまった)。ので、自分言語とかDSL作るってのは多分やらないと思う(いいわけ)。
でも、丸括弧を多用する某言語は個人的には読みにくいし、変な記号を多用する某言語その2もどうしてみんな楽々と使いこなせるか理解できないし、近年急速にレガシー化しつつある某言語その3も記述がやたら冗長になりがちなので好きになれないし(あのポータビリティはすごいと思うけどね)で、結局なんだかんだで好きな言語は C/Erlang/Python なんですけどね。まあCで書かれたプログラムとか全然読む気が起きないわけですが。

*1:読んだ量および書いた量をなんとなく平均的にスコアリングした感じに基づいて左から順に並んでいる。

*2:速い、分散してる、GCとかGILがついている、etc....