プログラミング

Common Lisp のリアルタイムコンパイル機能のおかげで、運用中に発覚したバグを(たしか木星を過ぎたあたりで)REPLにログインし動的にhotfix することができ、無事ミッションを達成することが出来ました。(Common Lispでは、プログラム実行中に、関数単位でプログラムをコンパイルし、メモリ中の関数ポインタを差し替えることができます。プログラム全体のコンパイル&リンクは不要です。そのため、遅延が許されない宇宙航行システムでも問題なし。) 学生にプログラムを書かせると、rubyやらpythonやら、ポピュラーだが仕様のコロコロ変わるおもちゃ言語で書いたり、あるいはCやC++などメモリリークを起こすようなバグのあるプログラムを書いてくる。学生は5年で卒業して入れ替わるが、するとまた別の学生が自分の好きな言語で書こうとする。高額なロボットを運用するのに毎年仕様の変わる言語など使っていられない。だから、ANSI仕様があってかつ十分なメタプログラミングができるCommon Lispを使うと決めている。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-01-16 (月) 11:14:38 (2659d)