2024年の軽量ソフトウェアへの提言
(spectrum.ieee.org)2024年に向けた簡潔なソフトウェアへの提言
- ソフトウェアの肥大化、いわゆる「ブロート(bloat)」は、依然としてソフトウェアにおける最大の脆弱性の一つである。
- 簡潔なソフトウェアを開発することは、ユーザー体験を向上させ、セキュリティリスクを減らし、システムの効率を高めるうえで重要である。
- 開発者は、より少ないコードでより多くの機能を提供する方向でソフトウェアを設計すべきである。
GN⁺の見解
- ソフトウェアの「ブロート」現象は、システムの性能低下やセキュリティ上の脆弱性を招く可能性があるため、開発者はコード最適化と効率的な設計に注力すべきである。
- ユーザーはより高速で安全なソフトウェア体験を求めているため、簡潔なソフトウェアは市場で競争力を持つことができる。
- この記事は開発者に対して、現在のソフトウェア開発トレンドを見直し、より良いソフトウェアを作るための動機付けに役立つ可能性がある。
1件のコメント
Hacker News のコメント
Vernor Vinge の小説『A Deepness in the Sky』では、人類はまだ光速を超える技術を持たないまま星々のあいだに広がっている。宇宙船は非常に古く、さまざまなシステムや文明の技術が混在している。
npm のライブラリの大半は、不必要に多くの機能を持っている。作者たちは良い設計を知らず、どのライブラリも何でもやろうとしている。
アントワーヌ・ド・サン=テグジュペリの『Terre des Hommes』では、現代の飛行機を眺め、毎年進化していくその線を追いながら、人間が作るあらゆるものについて考えたことがあるかと問いかける。
現在私たちが使っているコードの量はとてつもなく多い。たとえば、ガレージのドアを開けるだけでも 5000 万行を超えるアクティブコードが必要かもしれない。
ソフトウェアは危険だと見なされ、人々は自分で実行せず、「X as a Service」の提供者や「クラウド」に任せるよう勧められている。
ソフトウェアがもっと簡潔にならないのは、それに時間、技能、高額な人材が必要だからだ。
かつては、システム提供のフックを標準化して、すべての開発者がインターフェースなどに使い、開発者の主な仕事はプログラムロジックをコーディングすることだった。
Rust について言えば、Rust が C++ より 1 行あたりの脆弱性が 70% 少ないとしても、Rust で数百のパッケージを引き込み、コード行数が 10 倍になれば、脆弱性の絶対数はむしろ多くなるかもしれない。
20 年前に、ソフトウェアが今日のようになると分かっていたなら、プログラマーになることを選ばなかっただろう。すべてが巨大化し、ハードウェアとソフトウェアは終わりのない競争を続けており、状況は良くも、楽にも、単純にもなっていない。
リンクをクリックした瞬間に CTA バナー、Google 広告、クッキーバナーが現れる。クッキーバナーを閉じたと思ったら、また別の Google 広告が出てきて、スクロールすると追いかけてくる。記事を読んでいるあいだに、少なくともさらに 3 つ以上の広告を見ることになる。