Tuesday, July 28, 2009

コアになるプログラミング言語って

最近、趣味と実益を兼ねた日曜プログラミングを続けている。
会社ではJava、うちではC言語系列を使っている。
その過程で、一つ一つ解決していくたびに、人間とはしょうがないもので、
欲がどんどん出てきて、あれもこれも機能を搭載したくなる。
そうすると、プログラミング言語の限界を感じ、次の言語へと移っていく。

①6月:(プロトタイプのコア) C言語で実装
   ↓
②7月:コアをC++/CLIへ移行
   ↓
③7月中旬:ビューをC#で作成、C++/CLIのコアと連携させる
   ↓
④7月下旬:コア全体をC++/CLIに任せるのをあきらめる。
     薄いラッパーをC++/CLIで作成。コアをNative C++に移行。
     Native C++→C++/CLI→C#の連携を実現。
     (連携方法は下記を参照した)
Vista到来。既存C/C++資産の.NET化を始めよう! - @IT

なんと、③→④で性能が体感速度2~5倍に向上した。
なんでなんだろう。多分C++/CLIはメモリ管理処理が重いんかな。
それか、inline関数などを多用して性能チューニングしていた結果が、
Native C++環境で始めて発揮されたのかもしれない。

.NET環境というハブを通して、RubyやPythonなど多言語が連携できる時代。
Lispを書いてる人の隣で、Railsを書いてる人もいる。
会社の先輩の言葉を思い出す。
「コアは生き残る言語で書け!」
大学時代から使ってきたNative C++に戻ってきたのは、運命かとも思えるこのごろ。

Friday, July 03, 2009

Dave Kees Teach English In China: Google vs British National Corpus

Dave Kees Teach English In China: Google vs British National Corpus
英語を勉強するのに、コーパスを使うのはいいのか悪いのか。
Daveはひとつの答えを出している。
「BNC(イギリスの有名なコーパス)は、
Telegramなんていう昔の言葉のほうが、Emailっつー今当たり前の言葉より
多く出てくるんだよ。使えないね。Googleのほうがまし」
確かに。

コーパスは使い方次第でよくも悪くもなる。
たとえば下の問題なら、コーパスは得意だ。

「「条件を満たす」を英訳→"xxxx the condition"
xxxxに入る動詞を探したい!」

すぐさまsatisfy the conditionが出てくるはずだ。
Googleさんの単語クラスタリングの判断基準は、
「同じ文に出てくるもの」ってな感じなので、広すぎます。
コーパスのほうが狭いが厳密。

皆さん、使い分けましょう!

Thursday, July 02, 2009

dream theaterがやりました

Mikeのサイト
DT cracks the US Top 10!!!!

最高です。
もうかれこれ15年ほど前からかなり好きな
Dream Theaterっていうプログレメタルバンドが
25年目の10枚目アルバムでbillboard top10入りしました。
リーダーのMike Portnoyも言ってるとおり、
6曲しか入ってない、しかも12分を超える曲が4曲もある、
くそ変なアルバムが、トップ6なんて!

眠れません。
今回のアルバムは良すぎて涙が出てきます。

こんなことは日本のchartでは絶対にありえないでしょう!
ライブ行きてー。早く日本に来い。