悪いコードはタケノコのようである。

2026/09/10 22:02

悪いコードはタケノコのようである。

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

要約

Japanese Translation:

以下は、主要な点をすべて保持しつつ、「キーポイントリスト」からの具体的な詳細(コミット証拠など)を取り入れて完全性を確保した改善されたバージョンです:

改善されたサマリー:

中央にある主張は、ソフトウェアチームが直ちに未使用のコード機能を実装から削除し、それらが管理不能な「クイズ(藤蔓)」化することを防ぐべきだと説きます。この「クイズ」という比喩は、コミュニティによる積極的な剪定が行われない限り基盤を取り囲んでしまう侵略的plant由来です。機能追加が成長を促すことと一般的に捉えられていますが、著者は、蓄積された AI 生成の機能性がプロジェクトの価値および保守性を低下させる理由として、開発者たちがこれらの機能の上に依存するコードを構築するため、時間の経過とともに削除が指数関数的に難しくなることを指摘します。歴史的証拠は、これが何十万行にも及ぶ不要なコードの実装(「スパークル絵文字マジックワンド」機能)をもたらすことを示しています。これを相殺するために、著者は具体的な事例研究を通じて自らのアプローチを説明しています:5 月に追加されナビゲーション用に意図された未使用の「ハッシュタグバブル」機能が停滞しており、合理的な分析に基づくと過去 3 ヶ月間トップ 30 訪問ページに現れていませんでした。この低価値な資産を維持するのではなく、チームは厳格な剪定戦略を採用しました;コミット履歴には、タグサイドバーとバブルを削除し検索バーをヘッダーに戻すための動きが記録されています(コミット:

77e2c5a
85000e2
91b6fde
)。機能を追加した時点で即時削除する計画を残すことで、チームは維持コストよりも削除が容易になることを保証し、実際のユーザー価値のないコードの維持から資源を節約します。したがって、業界標準は単に「輝く」機能を追加することから、技術的停滞と cluttered なインターフェースを防ぐために積極的に古くなった機能を剪定することにシフトする必要があります。

本文

「ブドウの栽培」—— コードの枯れ木剪定(PR)

この物語は、ヘンリ・マーティンの作品に着想を得ていますが、現代的な寓話として**「コードの枯れ木剪定」**をテーマとしています。

クズ(葛)とは何か

  • 概要: かつて東アジアから東アメリカへ導入され、土壌侵食対策に用いられた植物です。
  • 特性:
    • 侵入後は異常に成長し、歩道や家屋の基礎、さらには樹々さえ飲み込む恐るべき生命力を有します。
    • 単独での努力では駆逐不可能です。蔓延地域に住む人々が結束し、集中的かつ果敢な剪定戦略が必要です。

コードベースにおける「クズ」の正体

コードに導入された機能は、一度追加されると以下の運命にあります。

  • 難易度の高い削除:
    • 単純な機能であっても、**「粘性」**として強く付着します。
    • 単なる消去ではなく、他者がその上にもさらにコードを重ね書きする原因になります。
  • 肥大化:
    • 気づけば誰も望んでいない実装機能が、数年かけて膨大化します。
    • その結果、スパークルエモージや魔法の杖、AI 機能といった輝かしい文面が並ぶようになりますが、削除は極めて困難です。
  • 代償:
    • 感謝されない、プロモーション資料にも載らない**「無償の労働」**となります。
    • これにより私たちは、何十万行もの此类の機能をリリースしてしまっています。

なぜ今、「剪定」が必要なのか

複雑性を絶えず排除しないと、生成される「クズのようなスラップ(不要な機能)」がコードベースを覆い尽くし、開発者を飲み込んでしまいます。

  • 追加は容易だが、削除こそが重要: 機能を追加する時代ではありません。それゆえに、取り除くための道筋を自ら残しておくことが重要です。
  • 格段に容易になった削除環境: 以前よりも作業自体が容易になっているからこそ、大胆な剪定を行って構いません。

実践例:ハッシュタグバブルの廃止

今年 5 月にブログに導入した機能「ハッシュタグバブル」は、典型的なクズです。

  • 背景: ミレニアル世代が愛するソーシャル・ハッシュタグを頻繁に使おうと考えました。
  • 目的: ユーザーが洗練された機械学習技術を活用し、淡々とした文章を美しくナビゲートできるようにするためです。
  • 結果:
    • 数ヶ月の実用環境での監視を経て、利用率は極めて低かったことが判明しました(答えは断定的な**「いいえ」**)。
    • Plausible アナリティクスによると、この機能を含むページは過去 3 ヶ月間に訪れられたトップ 30 にすら入りません。
    • 維持する価値はありません。

※本データは 2024 年 5 月 1 日以降のものです。

コミット履歴から見る剪定戦略

機能を作成したほどに容易な手法で剪定を行いました。以下のコミットにより不要な機能が除去されました。

  • 77e2c5a
    — チャangelog のエントリー追加(文脈整理のため)
  • 85000e2
    — 検索バーをヘッダーへ戻す
  • 91b6fde
    タグサイドバーとタグバブルの削除

これにより、コードベースは再び清く保たれました。

同じ日のほかのニュース

一覧に戻る →

2026/09/14 6:06

Claude Fable 5.1 が、370年もの間解読されてこなかったシフラル・ディスティッヒを解読しました

## Japanese Translation: Claude AI が、ロイヤリストのトマス・アークハート(*Logopandecteision* および *The Jewel* の作品)から提示された 2 つの歴史的に未解決のカギ合を成功裏に解読し、ブルートフォース計算や人類による事前の解読なしに、王チャールズ 2 世への隠された祈りを明らかにしました。これらのカギ合は、既知の解法が存在せず、CIA などの組織によってこれまで追求されたことがなかったため、特に選ばれました。大規模なデータ処理ではなく、モデルは単純で埋め込まれた構造的ロジックを認識しました:一方のカギ合は、各数字をアークハートの 32 の「Proquiritations」内の単語インデックスにマッピングし、他方は *The Jewel* のページインデックスに数字をマッピングし、それらのページの最初の一語の頭文字を採用します。これにより、「O GOD UPHOLD KING CHARLS THE SECOND / MAKE HIM THE SUPREME RULER OF THIS LAND」という 2 つのロイヤリストの祈りと、「GREAT LORD, MANTAINE THAT REGAL FAMILIE / WHEREOF KING CHARLS THE SECOND IS THE HEAD...」という ottava rima 形式の祈りが得られ、写本エラー、ハイフン接続語、ページシフトオフセット、および *The Jewel* の不読み可能なセグメントによる軽微な不一致を除いて正確です。検証の結果、275 の位置のうち 231 が正確な最初の単語の一致を示しています。1652 年版の *Jewel* のフリーデジタル画像が存在しないため、残りの不明点を解決するには実物コピーまたはジャック&ライアルの 1983 年版が必要です。この成果は、高度な AI が以前見過ごされてきた微妙な構造的パターンを検出することで歴史的真実を明らかにすることを示しており、暗号解析を計算的なブルートフォースからパターン認識へ転換しました。

2026/09/14 2:37

Google はなぜ依然として不適切な広告を表示し続けているのでしょうか?

## Japanese Translation: Google の高度な AI モデルである Gemini は、iOS システムアラートのパロディを用いてユーザーをクリックさせるよう誘導する欺瞞的な YouTube 広告を特定しました。オペレーティングシステムのダイアログを模倣した広告を禁止する厳格なポリシーが存在にもかかわらず、この誤解を招くクリエイティブは複数回のユーザー苦情にもかかわらず人間による審査官によって以前承認されていました。広告は非機能のボタンを用いて緊急のハードウェア故障状態を偽造し、視聴者にデバイスが直ちに技術的危機に直面しているという錯覚を成功裡に抱かせました。この操作は虚偽表示に関する基本的なルールに違反し、プラットフォームの安全メカニズムに対するユーザーの信頼を損ないます。したがって、Google はクリエイティブコンテンツを即座に承認停止するよう推奨し、ポリシー違反警告を発出することを示唆しています。広告主がこの種の欺瞞的な実践を継続した場合、アカウントの完全な停止のリスクに直面します。この事例は、人間による監視と自動検知の間にある重大なギャップを浮き彫りにしており、Google はこれらの洗練された詐欺を特定できる強力な AI を保有していますが、システムはまだ有害コンテンツがユーザーに到達する前に能動的にブロックするためにそれらを完全に活用していないという状況です。

2026/09/10 21:27

Julia 1.13 のハイライト

## Japanese Translation: Julia 1.13 がリリースされ、回帰と課題を特定することに焦点を当てたテスターおよびコントリビューターからの大きな貢献が反映されています。今回のアップデートは、特に起動時間とパッケージの前コンパイルにおいて劇的なパフォーマンス向上をもたらします。ベンチマークによると、パッケージの読み込みはバージョン 1.12 に比べて約 30% 速く(LTS の 1.10 に比べて約 10-20% 速く)、アプリケーションの起動時間は 1.12 に比べて約 20% 向上しており、平均的なスピードアップ率は約 1.22 倍です。これらの改善は、AbstractString および数値型に対して RapidhashNano を採用したことであり、イメージオブジェクトのマーキングをスキップしてフルコレクション時間を短縮した強化された garbage collection、そして新しいデフォルトのハッシュングアルゴリズムという技術的なアップデートによって実現されています。より迅速な開発ワークフローを支援するために、重要なバグ修正により Ctrl-C を通じた割り込み処理がより信頼性高く、タスクのカANCEL mechanisms が改善されました。また、リリースには REPL に直接組み込まれる貴重な開発者ツールが含まれます:内部実装による構文ハイライトは OhMyREPL.jl などの外部パッケージの必要性を排除し、新しい fzf スタイルの履歴検索(Ctrl-R)がファジー検索と複数結果の選択、そして REPL モードの表示をサポートします。また、Windows では効率的なテキスト入力を可能にする括弧付きペースト機能も利用可能です。診断機能をさらに強化するために、「--trace-eval」フラグにより、テストスイートやスクリプトでの停滞を特定しながらトップレベルの評価進捗を監視することができ、新しい「@__FUNCTION__」マクロは「#self#」の代替としてパブリック API として機能します。さらに、イントロスペクションマクロは型の付いた呼び出し式を受け付けるようになり、Time To First X(TTFX)モニタリングは 2026 年 9 月 7 日より稼働開始される新しい CI ジョブを通じて Julia の開発プロセスの一部として統合されました。これらの改善は、テスト時や大規模スクリプト実行時の待ち時間を大幅に削減し、個人のコントリビューターおよびエンタープライズチームの両方に対して全体の生産性を高め、より速いフィードバックループを提供します。 ## Text to translate: Julia version 1.13 has been released with significant contributions from testers and contributors focused on identifying regressions and issues. The update delivers dramatic performance improvements, particularly in startup times and package precompilation. Benchmarks indicate that loading packages is now roughly 30% faster than in version 1.12 (and roughly 10-20% faster than 1.10 LTS), while application startup times have improved by approximately 20% over 1.12, with a mean speedup of ~1.22x. These gains are driven by technical updates including the adoption of RapidhashNano for AbstractString and numeric types, enhanced garbage collection that skips marking image objects to reduce full collection time, and new default hashing algorithms. To support this faster development workflow, critical bug fixes ensure more reliable interrupt handling via Ctrl-C and improved task cancellation mechanisms. The release also introduces valuable developer tools directly into the REPL: built-in syntax highlighting replaces the need for external packages like OhMyREPL.jl, a new fzf-style history search (Ctrl-R) supports fuzzy searching with multiple result selection and REPL mode indication, and bracketed paste functionality is now available on Windows for efficient text input. Further enhancing diagnostics, the `--trace-eval` flag allows users to monitor top-level evaluation progress to identify hangs in test suites or scripts, while a new `@__FUNCTION__` macro serves as a public API alternative to `#self#`. Additionally, introspection macros now accept call expressions with types, and Time To First X (TTFX) monitoring is now an integrated part of Julia's development process through new CI jobs, going live on September 7, 2026. Collectively, these improvements significantly reduce wait times during testing or large-scale script execution, thereby boosting overall productivity and providing faster feedback loops for both individual contributors and enterprise teams.