2008-10-03[n年前へ]
■Simulink と Ada
「いつか触れてみたい Ada」で書いたように、「ボーイング777やF-22戦闘機、あるいは、ニューヨークやパリの地下鉄を動かしている」プログラミング言語Adaを使ってみたい、と思うことがある。
Simulinkを使っていると、CやC++でSimulink の MEX(ユーザーが他言語で作った拡張機能)を作ることが多い。Simulinkは、グラフィカルにコンポーネントをワイヤーで結んでいくのが大きな特徴の一つであるとはいえ、細かな部分分はコードを書く方が楽でわかりやすかったりするからである。
Simulink の MEX 関連サンプルを読んでいると、FORTRAN,C,C++,そして、Ada によるMEXの作り方が書いてある。Adaをよく知らない頃は、なぜAdaが・・・?と思っていた。だけれど、「Adaは信頼性・保守性に優れ主として組み込みシステム向けの言語」ということを知ると、なるほど何より先にAdaの例が登場するのが当然なのだな、と納得することができる。
2008-11-17[n年前へ]
■0.2×11-2 = …?のヒミツ
前に何度も見たことでも、久々に見たり読んだりした時、新鮮に面白く感じることは多いように思います。
Mathematicaのデモ中で、「計算の丸め誤差」をエクセルで見ました。数値計算の有効桁数や丸め誤差を気にする人は多いでしょうし、エクセルや多くの計算プログラムやあるいは言語で「誤差がどんどん重畳されていくようす」を眺めたことがある人も多いと思います。いえ、実際のところ、技術系の人であれば、そんなデモを眺めたことがない人の方が稀少ではないでしょうか。とはいえ、前に何度も見たことでも、やはり新鮮に面白く感じることは多いように思うのです。
そこで、(Mathematica のデモンストレーション中で演じられていた)エクセルで「0.2×11-2」の計算を繰り返していったときのようすを動画として再現して貼り付けてみました。
まず、エクセルで、0.2×11-2を計算します。そして、『「(0.2と表示された)その答え」×11-2』と計算するのです。そして、その答えにさらに…と計算を繰り返していくわけです。
すると、あっという間に丸め誤差が積み上がっていって、20回も計算を繰りかえすと値が1000くらいになってしまいます。こういったことは、浮動小数点の精度を考えれば当たり前な話です。しかし、「タネがわかっていても面白い手品」があるように、こんなデモンストレーションも(たまに眺める分には)見ていてとても楽しく感じてしまいます。
もしかしたら、特にこの手のデモを楽しく感じるのは、「キカイが動いている仕組み・仕掛け」を感じることができるからかもしれません。アレ?と感じ、その興味を入り口として、目の前の現象を眺めていくうちに「キカイが動いている仕組み・仕掛け」が見えてくるからかもしれません。
そして、いつも「それってとても楽しいと思わない?」と感じるのです。
2009-02-28[n年前へ]
■「阿」+「弥陀」=?
森達也の「視点をずらす思考術 」より
阿弥陀のミダは、測るという意味、メジャーの語源だとの説もあります。アは反意を示す接頭語。つまり、噛み砕いてしまえば、阿弥陀はサンスクリット語で、「わからない」という意味を表しているのです。
p.106 多面的矛盾に満ちた「現代の不安」
2009-04-28[n年前へ]
2009-05-17[n年前へ]
■「CとC++は似たようなモノか?」
個人的には、言語の「同類度」という観点では Cだけ別にしてオブジェクト指向という共通点がある C++/ObjectiveC/C#を一緒にするほうが妥当に感じるのである。(少しいじってみた程度だが)個人的には、ObjectiveCは結局Cだと思ってしまった。だから、ObjectiveC/Cを一緒にする方が妥当に感じる。