@hanadix REBOOTED

音楽好き(聴く書く演る)なイット系労働者の日常と妄想

お腐れ系開発における低階層知識によって幸せになるシチュエーションについて

404 Blog Not Found:マシン語読みの言語知らず

だいたい階層の設計において、下の階層の知識がなければ使えないというのであれば、その設計は間違っている。内部実装を知らないと使えないクラスというのは、ダメOOPの代表ではないか。エンジンがガソリンかディーゼルかハイブリッドか知らなくても車は運転できるのだ。

を読んで思ったのが以下のシチュエーション。

戦闘員
隊長! 大変です! 想定したデータが取れません!
隊長
…正しいパラメータを渡しているのか?
戦闘員
もちろんです! デバッガでステップ実行で確認しました!
隊長
ということは、このライブラリが、このシナリオを想定していないということか…
戦闘員
隊長! いますぐ改修要求を!
隊長
そうしたいのはもちろんだ。が、しかしこのライブラリは客先から提供されたもので、噂によれば、開発した自称ハッカーはリリース後、一枚のドキュメントも残さずに去ってゆき、その後を継ぐものは現れず、そのスジの関係者からは「地雷」と呼ばれていたと聞く…。
戦闘員
それでは納期が…。
隊長
どうすればいいんだ…。

こういうのは結構普通にお腐れ系の仕事してたらあるのかなと。つまりアクセル踏んでもエンジンが回らん状況なわけです。

で、


(突然ドアが開く)

良性オタ
なんかハマってるんだって?このバージョンの(某コアな部分)がこういうとき、アレな動きするのって有名なんじゃないの? このライブラリでは想定されてないみたいだから自分で foo() のかわりに bar() してから baz() すれば?
隊長
…本当か?
良性オタ
ほら
戦闘員
隊長…。涙でディスプレイが見えません…。
隊長
泣くんじゃない! 道は開けたのだ!

なんてことが「たまに」あったりしますし、ダメOOPつうか、ダメライブラリとかダメフレームワークが前提の開発になってる、というのは お腐れ系クローズド開発では普通に存在する光景かなとか思いました。そういうときCPUのアーキテクチャとか、カーネルの実装とかについて知識があると「その場をしのげて助かる」というのはありますかねえ。

ちなみに私は Z80 でさえ書けなかった人なので マシン語を知らない子ども達 - UEI shi3zの日記 の中の人から見ると「プログラムを書いてるつもりになってる人」なんでしょうね。でも SchemeHaskell は書けるようになりたい思いますが、386のマシンコードは勉強するつもりはありません。単に興味がないだけなんですが、宗教戦争をする気はありません。やりたい人はやればいい。

ホントはもうちょっと違う話を書きたかったんですが、なぜかこんな話に…。

(9/13追記)そしてその後世界は…