ソフトウェアの抽象化は文明を破壊するのか? (2021)
(datagubbe.se)-
Jonathan Blowの主張の要約
- 世代間の情報伝達が希薄化している。
- 理論より実践のほうが技術維持には重要である。
- ソフトウェアが世界を動かしている。
- 抽象化は低レベルプログラミングに対する無知を助長する。
- 低レベルの知識を忘れれば重要なソフトウェアを維持できず、文明は崩壊するだろう。
-
批判と反論
- Blowの主張には誤りや誤解が多い。
- 情報の正確性が重要であり、Blowの情報は多くの点で誤っている。
- "Five nines"(99.999%の稼働率)という指標は今でも使われている。
- 堅牢なソフトウェアは今も存在し、技術の進歩も続いている。
- 抽象化が能力喪失につながるという主張は誇張されている。
-
技術の進歩と抽象化
- 多くのプログラマーはメモリ管理やポインタを扱いたがらない。
- Cやアセンブリコードを書く人はいまも多い。
- Rustのような新しい言語は堅牢性を重視している。
- 抽象化は新しい技術の発展に貢献している。
-
Facebookの生産性をめぐる論争
- Facebookの真の製品は広告配信プラットフォームである。
- 多くのプログラマーが広告システムの改善に貢献している。
-
過去と現在の比較
- 過去のソフトウェア開発環境と現在では大きく異なる。
- 現代のコンピュータは過去よりはるかに堅牢である。
- ユーザーの期待値が高まるにつれてソフトウェアの複雑性も増している。
-
抽象化と知識の喪失
- 抽象化は知識の喪失を加速させる可能性がある。
- しかし抽象化は、多くの人に創造性を発揮する機会も与えている。
- 重要なのは、重要なシステムを維持できる技術基盤を保つことである。
-
結論
- Blowの主張には一部妥当な点もあるが、多くの部分で誇張や誤解がある。
- ソフトウェアの複雑性と抽象化は解決可能な問題である。
- デジタル世界のより大きな問題はプライバシーと自由である。
1件のコメント
Hacker Newsの意見
私はMontana Stateでシステムの授業を教えているが、授業を始める時点で学生がファイルシステムとは何かを理解していないことが多い
あなたの意見に同意する。Blowの講演を見たし、批判は重要だと思う
年配のWeb開発者が抽象化について不満を言うときはReact開発者を念頭に置いている
サーバーサイドのJavaScriptやReactのようなものが、Webをソフトウェア開発の混沌にしてしまった
Blowは開発について優れた点をしばしば指摘するが、しばしば本質を外している
現代のソフトウェア環境には多くの問題があり、過度な抽象化が問題だと思う
すべての単純化が抽象化というわけではない。すべての抽象化が単純化というわけでもない
悪い抽象化は多い。技術における「速度の宗教」と傲慢さのせいで、最初の試みで固定されてしまうことが多い
著者は新しい世代に属しており、Blowが言ったことを理解していない
「低レベルのものを忘れれば文明が崩壊する」という主張には反対する