情報処理資格とマシン語知識はなくてもよい

マシン語は知っておいて損はない。でもそれを知らなくてもプログラムを書けるように様々な言語やツールが作られてきたのも事実。ビジネスアプリケーションでマシン語の知識が役に立つことは....まずないだろうねぇ。

知っておいて損はない知識は他にもあるでしょ。OSにToolchain、、、数え上げたらきりがない。そういう「きりのない」知識を持たなくてもそれなりに仕事ができるように、OSやToolchainが発達してきたわけだし。そして、そういうツール類の発達こそが、ソフトウェア「設計」を他の産業とは別の特性にしてしまった原因でもあるのね。

ソフトウェア設計の本質

詳しくはソフトウェア設計とは何か?を参照。

要は「要求に即した処理を実現するソースを書く」ことがソフトウェア設計の本質であり、そのソースの書き方がマクロアセンブラから高級言語に進化してきた、ということ。上記論文はC++の時代に書かれたものだけど、他の言語でも基本は同じ。

  • ソースの読み書きができない人がソフトウェア設計をする....かなりまずい
  • マシン語の知識がない人がソフトウェア設計をする...対象領域にもよるけど、問題なし[*1]

というところじゃないかなぁ。

性能

性能に関しては、この記事にあるまつもとさんの意見に賛成。

パフォーマンスは,もはやプログラム言語にとって重要ではない。
アプリケーションのパフォーマンスを左右するのは,ネットワークやデータ・アクセスであり,ロジックはスケールしやすい(リソースの追加で対応しやすい)からだ。

時々MySQLのslowlogとか見るけど、その程度。この数年、gdbなんて触る必要性すら感じてない。

0.1秒の処理時間を0.05秒にする技術を持っている人よりは、テストも保守もやりやすいきれいなコードを書いてくれる人を自分は評価するね。

*1:もちろんコンパイラを作る人とかは別だよ