the left fold

プログラミング関連の話題をまとめて配信してくれる the left fold。まだスタートしたばかりですが、RSS に加えてメール配信も開始するなど、人気が出てきているようです。

http://www.foldl.org/

第 4 回目の今日は Go がトップ記事です。

などなど。まあ the left fold に言われるまでもなく、このあたりは事前に目を通していましたけどね ;-) ふふふ

謎の言語 X の種明かしは続きに書いておきますが、元記事のほうが断然読み応えがあるし、鮮やかに驚けるのでお勧めです。それとベンチマークについて。

はっきり言って Go は全然勝負になりません。まだこれからの言語なので長い目で見ないといけないんでしょうが、Tech Talk で Rob Pike が「C と比較してだいたい 10 〜 20 % 遅い程度におさまっている」とプレゼンしたのはちょっとどうかと思いました。とてもそんな程度じゃないと思います。

コンパイルが速いってのはぶっちゃけ「たいしたことしてない」のと一緒なんじゃないかと。そう思うと、急速に萎えますね。



cowlark はスリリングで興味深い内容でした。Go と謎の言語 X を以下の観点で比較していきます。

  • プログラム構造
  • 制御文
  • 定数
  • 変数、構造体、ポインタ
  • クロージャ
  • OOP
  • 配列
  • ヒープ(動的メモリ割り当て)
  • 並列実行サポート
  • その他雑多な点

読むとわかりますが、Go と X はほんとに良く似てます。多値は返せないしインタフェースもありませんが、こんな言語なら使ってみたいと思うほどに。

ではその X とは何か。驚くなかれ Algol-68 です。今から 40 年以上も前に考案された言語が、最新ピッカピカの Go と比較しても見劣りしないということにショックを受けます。

So why am I comparing Algol-68 with a language 41 years older?

Because Go is not a good language.

It's got a few nice features, but the bulk of the language is simply a tired rehash of the same language features that we've been using for decades. In fact, I can't spot any language feature that was invented after about 1985.

意訳:

なんで Algol-68 と Go を比べたりしてるんだろう?

それは Go が良い言語ではないからだ。

ナイスな機能もいくつかあるが、全体として見れば、我々が何十年も使い続けてきた言語機能の陳腐な焼き直しに過ぎない。
実のところ、1985 年以降に新しく発明された言語機能など一つもないのだ。

Go に熱狂している人々は本当に何も学んでないよね、という嘆きが胸に刺さります。ちょっと反省。

元記事を読んた Google の中の人が、Algol をモダンな言語として現代によみがえらせる 20% プロジェクトを開始してくれたりは、しないか。