2011-07-30 (土)
歯医者行って寝る.
最近はPerlからRubyに移りつつあるのだけど,Rubyだと速度面で不満なのでGoを試している.コンパイル速度も速いのでインタプリタ感覚で使っても大丈夫そう.
さくらVPS上で単純なHTMLを生成するCGIを書いてレスポンスにかかる時間を計った感じだと
- Go: 10ms
- Perl: 32ms
- Ruby: 98ms
という結果に…….静的なファイルでも9msかかってるので,Goはかなり優秀.
というか,さくらのVPS速いな.ネットワーク的に近いのもあるのだろうけど,空いてるときなら80Mbps近く出てレイテンシも数ミリ秒なので,LAN内のマシンと区別せず扱える.
*Go
少しGoに触ってみたりする.Hello,world!っぽいサンプル動かしたことはあったのですが,あんまりまともに書いてなかったので.
stringはいいとして,mapも組み込み型なのか.ライブラリとして実装されてたほうが拡張が効くと思うのだけど,演算子オーバーロード無いし組み込み型の方が使いやすくて良いな.
クラスが無いのも良いかと思ってたのだけど,いつの間にかクラス指向に洗脳されていたようで,実際に書いてみると不便に感じる.多くのプログラマは既にクラスベースのオブジェクトに慣れてしまってるのでクラス無い言語だと後で面倒くさそうだなぁ.JavaScripとか見ててもクラスがあれば悲惨なコードがもう少し減った気がするし.
大したことでは無いのだけど,大文字で始まるメソッドが外部に公開されるというのが,イマイチだなぁ.メソッド名を日本語で書いたりしないから良いのかもしれないけれど.
新しい言語触るたびにまずコンパイラを書きたくなるのだけど,なんでだろう.コード書きながら,結局どういう命令列がCPUで実行されるのか,ということをつい考えてしまうからかも.