今回は表題の本の書評を行います。
こちらの本は新人プログラマーなどにお勧めされることが多いです。
けんすうさんもお勧めしてましたね。
割と人生観に影響を与えた本なんですが「UNIXという考え方」は、プログラミングとか技術とかわからない人でもなんとなく読めると思うのでオススメです。https://t.co/59GNsgQUhK
— けんすう@マンガサービスのアル (@kensuu) February 20, 2018
この本も前回紹介した「コンピュータはなぜ動くのか」と同様、時間が出来たら読んでみたいと思っていた本でした。
■内容は
UNIXがどのような思想、哲学で作られているか?ということが語られています。
最近よく言われる「ユーザーがどのように使ってほしいのか?」とはちょっと違った視点ですね。
UNIXはどのように作るとよいことが多いのか?という部分に注目して作られている。
それはどのような観点か?というところが紹介されている本です。
処理は小さく作ろう、機能は分けようという部分は今のプログラムでも言われることです。
試作を早く作成する、という部分はアジャイルに通じるものがありそうです。
昔の本(1994年?)ながら、読み継がれるということは基本的なことがしっかりと抑えられているということですね。
■若干モヤモヤする
どう作るか?という本は割と好きでいろいろと読んできているのです。
コードコンプリート、ライティングソリッドコード、プログラム作法、リーダブルコード。
そういった本をどれほど読み漁っても、あまりプログラムが上達している感覚がないんですよね。
K&Rも読み込んでいるし、アセンブラだったら出来る。
でも今現在プログラマーとして評価されるのは、C#やC++などの言語仕様がわかっている人の方ですよね。
もうこの手の本を読むのはあまり意味がないのではないか、と思い始めています。
いや、全く役に立っていないわけではないのですよ。
それで得られた知識で何度も救われてきたことは確かなんです。
割とすぐにディレクターになっていたり、プランナーをやっていた時期もあるので純粋なプログラマーとしての経験が短いわりにどうにか通用しているのはそういった知識のおかげです。
でもそれはそれとして、今これからプログラマーを職業としようとする子たちに進めないほうがいいのかなと。
ありていに言うと、これらの知識は今現在だと評価されにくい技術なんですよ。
■長く使えて移植性が高い
同じ会社で同じような仕事を長年行うのであれば、必要な技術ですね。
でもまあ、今となってはそんなことはあまり望めないのでは?
どんな大きな会社であっても、長年続くとは限らないですし。
そもそも長年持つ技術、というもの自体が珍しくなっていくでしょう。
必要とされる言語なんて移り変わっていくじゃないですか。
それよりもとりあえず動くものをガンガン作っていったほうが評価されるような気がします。
基本を固めるよりも、いろんな技術に次々と移れる「慣れ」みたいなもののほうが重要になってくるかと。
まあ確かに基本がしっか知りているほうが、新しい技術を身に着けるのもいいのかもしれませんが。
そう考えるとこの本で基本の考え方を身に着けてたほうがいいかもしれませんね。
若干遠回りのような気もしますが、エンジニアとして知っておいた方がいい考え方がつまっている本ではあります。
私としてはまだしばらく、新人エンジニアにはどのような修学アプローチが適しているのか悩んでいたいと思います。