2009/02/13

未来の言語は「APL」? Rubyのまつもと氏の話に思ったこと

自他共に認める言語おたくのまつもとさんの公園が紹介されていたのでメモ。

未来の言語は「APL」? Rubyのまつもと氏が講演 − @IT

僕もコンピュータに触り始めた当初は個人レベルではBasicかアセンブラくらいしか選択肢が無いという状況で今の人は知らないだろう整数型Basicコンパイラのソースを見たりして遊んでいました。Forthなんていうのも遊べた記憶がありますね。

そのうち興味が大きくなり自分でコンパイラを作りたくなって勉強を始めました。当時は今と違って情報が少なく、図書館などで本を読みあさったもんです。当時読んだFORTRANコンパイラ向けの最適化技法なんていうのは今でも普通にgccなんかでも生きている話。

コンパイラコンパイラ(Yacc/Lexみたいなもの)を自作してCやパスカルもどきを実装してみたり、SmalltalkやLispのサブセットを作ってみたりソースを移植・拡張してみたり。上の記事に出てくるAPLなんていうのは学校の計算機センターにあって好き者の友達といじりにいったものです。当時まだ言葉の無かったオブジェクト指向、パターン、DSLなんていうのは概念が固まる前からそれなりな人の間では自然に使われていた話。いや、逆か。

今の仕事は組み込みシステム系なので当時の経験は今でも生きていたりします。特に組み込み分野の人は両極端なところがあって、せいぜいアセンブラ・Cどまりの抽象化でずっと来た人とPCと同じ感覚のままやっちゃう人のどちらかってのが多くて、ハードウェアも高級な概念もバイナリハッキーな分野も全般わかる人は非常にまれです。

コンピュータのパワーの源はCPUでもOSでもなんでもない。プログラミング言語そのものから来ると思っていて、個人的には凝った直感的ではない機能やダイナミックすぎる機能はあまり好きではなくって、C++のようなごてごてしたのも嫌いです。レベル的にはC/Java位レベルが丁度いい。型なんかもありあり過ぎるのも使いづらいです。(クラス)ライブラリがでかすぎる奴らも嫌いです。

。。。結局C言語レベルが一番なんでしょうかね