前回は,どこでも使える基本を学べる書籍を紹介しました。今回は,アセンブリ言語からオブジェクト指向までソフトウエア開発の必修技術を知るための良書を紹介します。(連載の目次はこちら

 ソフトウエアの開発技術は,劇的に変化しているように見えます。しかし,全く違ったものになっているわけではなく,基盤となる技術が少しずつ積み重なって現在の形になっています。それを理解していないと,今の技術を本当に使いこなすことは難しいでしょう。

 ここ20年でソフトウエアは複雑化・大規模化してきました。このため,複雑化に対処するためにシンプルに設計する技術が,さらに大規模システムを制御するために全体を俯瞰する技術が発展しました。筆者が仕事を始めた1980年代は,アセンブリ言語で記述するのが普通でした。その後C言語によるプログラミングや抽象化されたオブジェクト指向モデルの作成など,基盤技術に関する一連の仕事に取り組むことができました。しかし,現在は仕事が細分化されているので,若手技術者は全体を理解しにくい状況にあります。大規模な組み込みソフトウエアを開発している現場では,指示されたままに作った部分的なC言語のソフトウエアが,どのように動作しているのか分からない技術者が少なくありません。

 このような中でも,アセンブリ言語のレベルでCPU(central processing unit)の動作を深堀りしたい,自分の作っているものがシステムの全体の中でどう位置付けられているのか知りたい,シンプルな設計とはどういうものなのか理解したい,と思っている技術者は多いでしょう。そこで,ここではソフトウエア開発の基盤技術を解説している本を順次紹介していきます。