36章遠慮なく話す

コミュニケーションにおける唯一最大の問題は、それが達成されたという幻想である。

――ジョージ・バーナード・ショー

典型的なプログラマ像は、風通しが悪い部屋で、暗明かりの下、ディスプレイの前で前かがみになりながらキーボードを激しく叩いている、孤立した愛想のないギークというものです。太陽の光を見ることがありませんし、「実生活」でも、他人と話すことはありません。

それは、全くの嘘です。

プログラマの仕事は、すべてがコミュニケーションです。コミュニケーションの質によって成功したり失敗したりするといっても過言ではありません。

ウォータークーラーの前で始める会話も重要ですし、カフェで昼食を食べながらの会話やパブでの会話も重要です。しかし、コミュニケーションはそれだけではありません。

私達のコミュニケーションは、もっと深いものであり、多方面にわたります。

コードはコミュニケーション

コードを書くという行為の結果であるソフトウェアそのものは、コミュニケーションの一形式です。

ソフトウェアは、さまざまな方法でコミュニケーションとして機能しています。

コンピュータとの会話

コードを書くときは、インタプリタを通してコンピュータと会話します。それは、文字通り、実行時に解釈するスクリプト言語に対する「インタプリタ」かもしれません。あるいは、トランスレータ、すなわちコンパイラやJITを通しての会話かもしれません。今日では、CPUの自然言語である機械語でコンピュータと会話するプログラマはほとんどいません。

私達のコードは、CPUヘ命令列を与えるために存在しています。

時々、私の妻は、私が行うべき仕事の一覧を残していきます。「夕食を作る。リビングルームを掃除する。洗車する」などです。彼女の指示が判読できなかったり、不明瞭なときには、彼女が行って欲しいことを行いません。彼女が正しい結果を望むのであれば、彼女は正しい命令を残さなければなりません。 ...

Get ベタープログラマ ―優れたプログラマになるための38の考え方とテクニック now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.