マシン語は
プロを自認するなら,何でも知っておいたに越したことはないでしょう.けれども,
全くの文化系の女の子が、わずか数ヶ月の研修で「システムエンジニア」や「ITコンサルタント」と称してJavaのプログラムを書く
構図を揶揄するのは行き過ぎ感が無くも無い.そういったエリアでは,(同じく文科系かもしれない)顧客のニーズやビジネスロジックへの対応が重要かもしれない.実用的なシステムのほうがバイトコードを覚えるよりも優先される世界があるのはほぼ間違い無い*1.欲しいのは,表面上動くシステムだったりするわけで.
マシン語マンセーなゴリゴリの理系人は,ニーズの読みが甘いとかスキームを理解できない*2とか陰口叩かれたりして.まあ,パイの投げ合いですな.
そんなこんなで,GNU binutilsが手放せない仕事をしている割に,他人様に対しては,もうマシン語なんてどうでもいいじゃないと密かに思っていたりするのでした.
敢えて勧めるなら…
モヒカン族にいじめられた文科系の女の子エンジニア*3が,スキルステップに対して相談してきたと仮定したとき,何を勧めるとよいのだろうか.
私だったら,処理系をつくってみなよと言うような気がする.スタックマシンとか,LISP系の何かとか.
まずは,四則演算しかできなくても良い.ガベージコレクタが無くても良い.どうせ最近のパソコンには捨てる程ヒープがあるのだ.
その後,その処理系でプログラム書いてみなと言うような気がする.
関連図書は自由に読ませた上で,マジメに数ヶ月取り組ませれば,そこらのマイコン小僧崩れ(私だ)には太刀打ちできないようなエンジニアにできるのではないだろうか.インストラクションセットとして何が重要かも十分理解しているだろう.…甘いか.
まあ,でも,これも「相談してきたら」という仮定に基づくものだし,現実には「そのままでいいんじゃない? 」と言っちゃうかもしれない.