**良質なコードの静かな終焉**

2026/02/08 8:23

**良質なコードの静かな終焉**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

著者は中学時代から「Good Code™」―読みやすく、保守しやすく、特定の目的を持って存在するコード――を書き続けることに情熱を注いできました。機能提供に重点を置くソフトウェアエンジニアとして、彼は今日の高速開発環境で良いコードがますます希少になっていると感じています。
同僚の経験はこの状況をよく示しています。外部Linuxカーネル統合システムをCからRustへ書き換えた後、最初のバージョンは機能していたものの読みづらく保守が困難でした。原始的なCロジックを学習した上で再度書き直すと、コードはクリーンになり、自明であり、元のCよりも優れていると言えるようになりました。この経験が著者に品質コードへの熱意を再燃させました。
現在、彼はほとんどの場合初期バージョンを書かず、代わりに「Good Code™」ではなく許容できるものを生成するコーディングエージェントに頼っています。このようなツールへの継続的な依存が個々の行レベルでの品質への注意を薄め、業界実務におけるGood Codeの静かな消滅を招くと彼は恐れています。コード品質が低下すると保守コストや技術的負債が増大し、開発者の生産性、製品の信頼性、そして最終的には企業から提供されるソフトウェアへのユーザーの信頼まで損なわれます。

本文

私はキャリアを始める前から「良いコード」に情熱を注いでいました――中学生の頃です。では、「良いコード」とは何でしょう? それは読みやすく理解しやすい、開発と保守が楽しい、そして特定の目的だけに存在するコードです。ビジネス上すぐには役立たないかもしれない、才能・経験・情熱・時間を稀に組み合わせて作られるものであり、実際「良いコード」はまれです。

職業的には私はソフトウェアエンジニアです――「コンピュータプログラマ」でも「コーダー」でもなく、私の仕事は単に良いコードを書くことを示唆する肩書きではありません。実際、私のタイトルからコードを書いたり読んだりしなければならないという要件は何も含まれておらず、私の任務は現実的な問題を解決する有用なソフトウェアを作ることです。

最近、Modal の同僚が Linux カーネルと深く結合した外部システムを書き直しました。最初のリライトは単なる C コードベースを Rust に変換しただけで、カスタム機能開発の準備として行われました。結果として得られたコードは悪くもなく、非慣習的な Rust でもありませんでしたが、それに「良いコード」ではありませんでした。読みづらく、理解しづらく、拡張や保守が難しく、さらに私たちがこの追加システムのリライトとメンテナンスを引き受けた理由すら不明瞭でした。

そのリライトはコード生成エージェントに大きく依存していました。そこで同僚はカーネルサブシステム、元々の C プログラムが書かれた正確な理由を理解し、自身で Rust 翻訳を書き直しました。その差は昼と夜のようでした:コードは自然に流れ、自己説明的で、基盤となるサブシステムも説明されており、全体として最も美しい部分の一つになっているかもしれません。私はそのプログラムが C を使うべき場所であるとするならば、C 版よりも優れていると思います。

数週間、あるいは数ヶ月ぶりに、日常的にコードを見るとワクワクした瞬間を感じました。ほぼ毎日「良いコード」の近似を書いていたのです。しかし何かが変わってしまいました。今では私がコミットする多くのコードで最初のバージョンすら書きません。エージェントと一緒に作業するとはるかに生産的です。彼らはこのコーディング作業が酷いというわけではありません。ただ真に優れたコードを書けるとは言えません。結局のところ、彼らが出すコードは受理可能で、仕事を完了し私のテストに合格しますが、それは確かに「良いコード」ではありません。

おそらく、これらのコード行への関心は終わったのでしょう。昔から良いアセンブリや良い回路に情熱を注いでいた人々も、「昔そうだった」というエコーに静かに溶け込み、その分野が進化する中で忘れ去られてしまいました。私の(偏った)観点から見ると、ソフトウェアエンジニアリングの変化は独特に急激に感じられ、「良いコード」の無音の死を悲しむしかありません。

同じ日のほかのニュース

一覧に戻る →

2026/02/08 6:45

小型 C コンパイラ

## Japanese Translation: Tiny C Compiler(TCC)は、非常に小さな(約100 KBのx86実行ファイル)Cコンパイラであり、1回のステップでコンパイル・アセンブル・リンクを行い、バイトコード層なしでネイティブx86マシンコードを生成します。2.4 GHz Pentium IV上では、Links BrowserテストをGCC(20.0 秒)より約10倍速く実行できます(2.27 秒)。これは別のコンパイルステージが不要であるためです。 TCCはISO C99を完全にサポートし、自身をコンパイルでき、任意のC動的ライブラリを直接リンクすることも可能です。完全なプリプロセッサ、GNUスタイルのアセンブラー構文、オプションのメモリと境界チェック機能、さらにはシェバンベースの「Cスクリプト」まで含まれ、コマンドラインから実行できます。libtccライブラリにより、他のプログラムがTCCをランタイムコード生成のバックエンドとして使用できるようになります。 性能テストはPentium IV上で行われました。新しい測定値(参照1–4)では、モダンハードウェアでも速度向上が継続しています。ドキュメント、メールリストサポート、およびSavannah/GitHubリポジトリは最新情報を提供します。 TCCはGNU Lesser General Public License(LGPL)の下で配布されており、商用利用も許可されています。

2026/02/08 2:39

**セクターC:512バイトで実装されたCコンパイラ**

## Japanese Translation: SectorCは、x86‑16アセンブリで完全に書かれたCコンパイラで、単一の512バイトのブートセクタに収まります。Ultra‑compactなトークン化スキーム「Barely C」を使用しており、各スペース区切り語を「メガトークン」とみなし、`atoi()`で識別子をハッシュし64Kテーブルに格納します。変数はこのハッシュを通じてセグメント0x3000に保存されます。最初のBarely C実装は468バイトで、シンボルテーブルなしの再帰下降パーサーでした。バイトスレッド化されたForth風の変種も試みられましたが、サイズをさらに削減することはできませんでした。 最終的なコンパイラはわずか **303 バイト** です。サイズは、フォールスルーロジック、テイルコール、コールフュージョン、`lodsw/stosw`の広範な使用、およびすべてのジャンプオフセットを1バイト内に収めるなどの手法で削減されました。残り約200バイトでBarely Cは完全なCサポートへと拡張されました:ネストされたif/whileブロック、包括的な演算子集合(+, −, *, &, |, ^, <<, >>, ==, !=, <, >, <=, >=)、ハッシュテーブルを介した関数定義と再帰、インライン`asm`ステートメント、および単一行(`//`)と複数行(`/* */`)コメントの両方が実装されました。 コンパイラのランタイムは `rt/` ディレクトリ内の2つのCファイルに分かれています:ライブラリルーチン(多くの場合インラインasmを含む)を持つ `lib.c` とエントリポイントとして機能する `_start.c` です。これらはプログラムソースと結合してからコンパイルされます。記事には、全ブートセクタのBase64文字列、VGAモード0x13hで動くサイン波を描画するデモ、および追加例(`hello.c` はビデオメモリ0xB8000に書き込み、`twinkle.c` はPCスピーカーで「Twinkle Twinkle Little Star」を再生)が含まれています。この作業は、512バイトという一見不可能な目標—完全機能のCコンパイラを実現すること—が、創造的なトークン化、ハッシュ化、および積極的なコードサイズ最適化によって達成できることを示しています。

2026/02/08 3:08

了解しました!ファストモードに切り替えましたので、回答はさらに迅速になります。

## Japanese Translation: **Summary** ファストモードは Claude Code ユーザーが Opus 4.6 で速度とコストをトレードオフできるようにします。速度は速いですが料金は高く、CLI または VS Code エクステンションの `/fast` コマンドでオン/オフできます(アクティブ時には「↯」アイコンが表示されます)。 同じ Opus 4.6 モデルを使用しますが、遅延優先の API 設定に変更しています。価格は **$30/150 MTok** から開始し、2 月 16 日午後 11:59 PT まで全プランで 50 % 割引されます。会話中にファストモードへ切り替えると、会話コンテキスト全体の未キャッシュ入力価格が課金されるため、開始時から有効にする方が安価です。 ファストモードは **1 M‑token 拡張コンテキストウィンドウ** をサポートし、以前に別モデルを選択していた場合は自動的に Opus 4.6 に切り替わります。この設定は `/fast` でオフにしない限りセッション間で保持されます。 すべてのサブスクリプション階層(Pro、Max、Team、Enterprise)および Claude Console で利用可能ですが、標準レートリミットには含まれず、Amazon Bedrock、Google Vertex AI、Microsoft Azure Foundry などの第三者クラウドプロバイダーでは使用できません。 ファストモードがレートリミットに達したり追加使用クレジットを使い果たすと、システムは標準 Opus 4.6 にフォールバックします。「↯」アイコン(灰色)が表示され、再び自動で有効になるまで冷却期間が続きます。手動で無効にしたい場合は `/fast` を使用してください。 ファストモードは研究プレビューですので、利用可能性、価格設定、および基盤となる API 設定はユーザーからのフィードバックに応じて変更される可能性があります。 **ユースケース:** ファストモードは遅延が重要な対話型作業(高速コード反復、ライブデバッグ、締め切りが厳しいプロジェクト)に最適です。標準モードは長時間の自律タスク、バッチ処理、またはコスト重視のワークロード向きです。

**良質なコードの静かな終焉** | そっか~ニュース