読者です 読者をやめる 読者になる 読者になる

C++再考 第1部 動機

Accelerated C++でも使われてたこの文から始まります。

抽象とは選択的な無視のことです

2.1.2 ソフトウェア工場?

第1部は導入部で事例紹介などがありますが、2章に『2.1.2 ソフトウェア工場?』として

ソフトウェア工場の考え方は、物を作るという行為とソフトウェアの製作の違いを無視しているのです。
工場は同じ物(か同じような物)を大量に生産する場所です。
この場合、仕事を分割しスケールを大きくすれば、それだけ儲かるのです。
一方、ソフトウェアの製作では、比較的少数の、そして、唯一無二のコードを書くことが中心です。
もちろん似ている部分もありますが、もし、非常に似ているのなら、わずかな違いを除いてコピーすれば良いことで、
それはプログラムを使って自動化できるかもしれません。こういう理由で、ソフトウェアの製作環境は工場というより、
機械ショップに似ています。そこでは熟練した職人が洗練された道具を使ってできるだけ良い仕事をするのです。
事実、(良い)プログラマは常に機械的な仕事はコンピュータに任せようとします。

とあります。
『人月の神話』『ソフトウェア職人気質』でも同様の主題が述べられていますが、大いにうなずけるところ。
でも実際の現場では、往々にして工数を人×時間の積と捕らえ、積を一定にしたまま人と時間を調整することが
行われます。
それで、これを解決する道具として抽象化があるとして、C++ を使うことの動機へとつなげています。