
シリコンバレーのリチャード・ヘンドリックスは効率至上主義だ。プログラマーをもっと雇いたいがためにパイド・パイパーの事務用品やコンピューターを売却したり、圧縮プラットフォームの開発に集中するために会社を狭い場所に移転させたり、そして特に彼のコードにはそれが表れている。
今週のシリコンバレーのエピソードは、プログラマーが抱える非常に現実的な議論、つまりコードの配置にスペースを使うべきかタブを使うべきかという点を中心に展開されました。私たちが普段使っているプログラムのコードは、複雑に絡み合ったテキストのグループで構成されています。人間が理解しやすいように、プログラマーはこれらのグループをタブかスペースでインデントすることで区切ります。
リチャード(トーマス・ミドルディッチ)のような一部のコーダーは、タブの方が効率が良いためタブを好みます。タブ1つでスペース4つを表すことができるため、理論的にはコードがより合理的でクリーンになります。一方、スペースによるより具体的な配置を好む人もいます。

「ほとんどの開発者にとって、正解は存在します」と、Googleのオープンソース担当ディレクターであり、番組のコンサルタントでもあるクリス・ディボナ氏は語る。「リチャードは、スペースと時間の節約に全力を注いでいます。それが圧縮の真髄なのです。」
「要するに、スペースを使うことでインデントをより細かく制御でき、どのマシンでも一貫性を保つことができるのです」と、シリコンバレーの名誉技術コンサルタントも務めるアソシエイトプロデューサーのジョナサン・ドータンは語る。「また、理論上はタブキーを1回押すだけでビット数を節約できます。これはリチャードのようなエンジニアにとって非常に重要な違いです。」
今週のエピソードの冒頭で、Pied Piper は圧縮プラットフォームの構築を手伝うために数人の新しい従業員を雇いますが、彼らがプラットフォームのスケールアップに取り組み始めると、Gilfoyle (Martin Starr) は、Richard がコードではスペースではなくタブを使うことに固執していると説明します。
Facebook で働き、リチャードと付き合い始めるウィニーも紹介されます。しかし、彼女はタブではなくスペースを使うことにこだわるため、その恋は短いものに終わり、その違いが最終的に 2 人の仲を裂くことになります。
この論争は、実際のシリコンバレーでも現実に起きている。番組の脚本家の一人であるダン・ライオンズが、エピソードに寄稿するためのメモをまとめていた時、プログラマーの友人たちに電話をかけ、この問題について意見を求めた。友人たちは酒を飲んでいて、ライオンズにこう報告した。「意見は五分五分だ。誰かが瓶を割って誰かを刺そうとしている」
今シーズンの技術コンサルタントであるエド・マクマナスとドータンは、マーク・ザッカーバーグの初期のコードを調べて、彼がどのコードを好んでいたのかを確かめようとしたほどだ。ドータンによると、ザッカーバーグはタブを使っていたという。
ソフトウェアエンジニアの特異性へのこだわりこそが、シリコンバレーを現実に忠実なものにしているのです。番組の技術的な問題についてアドバイスを提供するシリコンバレーの実力者たちは、Facebook、Google、Amazon、Dropboxといった企業のソフトウェアエンジニアで構成されています。
タブとスペースに関する議論を番組に盛り込むというアイデアは、シーズン2の脚本執筆中、マウンテンビューにあるシュタインズ・ビアガーデンでの夕食会で生まれました。ディボナは、様々なスタートアップ企業や企業から10人のプログラマーを招き、プログラマーとその仲間たちが抱える様々なこだわりについて語り合う機会を設けました。番組制作者のマイク・ジャッジとエグゼクティブ・プロデューサーのアレック・バーグは、この会合が様々な嘆きの「寄せ集め」になるだろうと考えていました。
「リチャードが考えるに、彼女が違う選択をしたという理由で別れるというのは、馬鹿げた話だ」とディボナは言う。
タブとスペースの論争は、ショーランナーやコンサルタントが観客を失うことなく持ち出せない、いわば内輪の話題の代役に過ぎません。コンピューターを使ったことがある人なら誰でもスペースとタブの違いは知っていますが、Pythonを使うのが正しいタイミングや、テキストエディタのVimとEmacsの争いの詳細については知らないでしょう(ディボナはVimを好みます)。
「(Googleで)パッチを渡されて仕事に来た人には、スタイルガイドを渡して『Googleで働くにはこれを使う必要がある』と伝えます」とディボナ氏は言う。「タブとスペースの使い分けは、こうした問題すべてに当てはまるのです。」