私はコードにコメントを書く際の哲学について書いた投稿の中で、必要のないコメントこそが、最も優れたコメントだと書きました。この点についてもう少し説明させてください。まず、コードはコメントに頼らなくても理解できるようにできる […]

今日は、開発者が見積もりを作成している時に脳内でどんなことが起きているのか話してみたいと思います。なぜこんなにも見積もり作業が難しいのか、そして、私の見積もり精度は相変わらずひどいものですが、私がどうやって(非常に幸せな […]

こんな経験はありませんか? あなたはデスクに向かい、この一週間仕事を滞らせ続けている1つの問題を解決するため、考えを巡らせています。頭の奥底で、他の誰もが思いつかないようなアイデアや可能性を構築している最中です。識別した […]

私の小論“In Search of Types”では、プログラミングで使われる“型”という言葉の概念や目的、考え方について、公平な批評を心がけました。所々で、私の真剣さを感じ取っていただけるはずです。このブログ記事では逆 […]

GNU Emacsは、フリーソフトの世界で最も長く、継続的に開発されてきたアプリケーションの1つです。考え方によっては、30年以上を経て、これを複数世代のプロジェクトと見なすことができます。しかし、これだけ長寿であると課 […]

私はこのところしばらく仕事でVMやコンテナを扱っていましたが、大学のいくつかのプロジェクトでJavaのコードを書かなければならないときは未だにvimを使用せず、新たに本格的なIDEをインストールしなければなりませんでした […]

挑発的なタイトルによって誰かが気分を害してしまう前に、私はこの問いに対する答えも書いてしまうことにしました。答えは“ノー”です。しかしこのテーマには、なかなか興味深い議論があるのです。HaskellやErlangや、特に […]

私は以前の投稿で、Angularなどのフレームワークがあまり好きではない旨を述べました。宣言的なHTMLのタグや属性、{{二重波括弧}}のプログラミングを開発するということには、どうも抜け落ちている部分があるようです。そ […]

Makeは、様々なタイプのファイルのビルド作業を自動的に行ってくれるシンプルかつ強力なツールです。しかしながら、makefileを書く際に問題にぶち当たるプログラマもいれば、Makeの基本知識がないことで、既存のものを再 […]

コードには1行ごとに隠しドキュメントがあります。 次のコードスニペットの4行目を書いた人は、何か理由があってDOMノードのclientLeftプロパティにアクセスしたのでしょうが、結果的に何もしていません。これはかなり不 […]

2014年10月22日水曜日 崩壊などと大げさに騒がれているものの、実際はほとんどのテクノロジ系の大手企業、特にプラットフォームプロバイダは、その座を追われたわけではなく、影が薄くなっただけです。例えばIBMは50年もメ […]

Pro Git第2版の驚くべき冒険と最終的なツールチェーン ほぼ6年前、私はApressから執筆が予定より遅れていたPro Gitと呼ばれる本の手伝いの誘いを受けました。結局原著者が書き続けないことを決めて、私が最初から […]