昔のプログラマーは、今のプログラマーより本当に優秀だったのか?

TThe Coding Koala
Computing/SoftwareAdult EducationInternet Technology

Transcript

00:00:0090年代生まれのデベロッパーになった自分を想像してみてください。目が覚めても、ダラダラと
00:00:05スマホを見ることも、コードがバグったというSlackの通知も、そして何より、
00:00:11今日の予定を報告し合うスタンドアップミーティングもありません。オフィスへ行き、PCを起動しますが、
00:00:16立ち上がるのを待つ間に、今日の忍耐力を使い果たしてしまいそうです。コードを書き始め、もし
00:00:20動かなければ、おめでとうございます。600ページの分厚いマニュアルを片手に、
00:00:26これから3日間デバッグ作業に没頭することになります。YouTubeもStack Overflowも、AIもありません。それなのに、
00:00:34当時の人々は、OS、プログラミング言語、コンパイラ、データベース、ネットワークプロトコルのすべてを
00:00:41ゼロから作り上げたのです。そこで疑問なのが、当時のプログラマは今よりも優秀だったのでしょうか?
00:00:4790年代に比べれば、現代の私たちの最大の悩みはリクエストトークンの枯渇くらいです。では、
00:00:53なぜ当時のデベロッパーが伝説のように語られるのか、その理由を見ていきましょう。1つ目の理由は「制約」です。
00:00:58当時のハードウェアは未熟でした。メモリは限られ、ストレージは高価、プロセッサは
00:01:04低速でした。プログラムにメモリリークがあれば、単に動作が重くなるだけでなく、
00:01:09システム全体がクラッシュしました。そのため、デベロッパーは内部で何が起きているかを理解せざるを得ませんでした。
00:01:15メモリの仕組み、プロセッサの命令処理、ハードウェアの限界がパフォーマンスに
00:01:20どう影響するかを知る必要があったのです。1キロバイトが貴重な時代、自然と規律が身につき、
00:01:26優れたコードを書き、効率化を追求するようになります。そんな環境で働く90年代のプログラマを見ると、
00:01:32自分たちが未熟に思えてきます。もう1つの理由は、彼らが「車輪を再発明」したのではなく、「発明」したからです。
00:01:38よく「車輪の再発明はするな」と言われますが、90年代のプログラマこそが、
00:01:43その車輪を発明した張本人なのです。今とは違い、ネット上に既存のものは何もありませんでした。
00:01:49npmレジストリも、Dockerコンテナも、クラウドもありません。コンパイラが必要なら、
00:01:55誰かが設計しなければなりませんでした。ネットワークならプロトコルを定義する必要がありました。彼らは
00:02:01単に賢かっただけでなく、先駆者(パイオニア)になるしかなかったのです。しかし、見落とされがちな点があります。
00:02:07私たちは伝説的な人物ばかりを覚えているということです。Linuxを作ったリーナス・トーバルズや、
00:02:13Pythonの生みの親グイド・ヴァンロッサムなどです。彼らは世界を変えるものを世に送り出し、伝説となりました。
00:02:19しかし、寝室のCommodore 64で単純なBASICプログラムを書いていた90年代の「普通の」開発者のことは
00:02:24誰も覚えていません。当時は大半の成果が公開アーカイブとして残ることはありませんでした。しかし現代は、
00:02:30SNSやGitHubによって、すべてがスポットライトを浴びます。初心者のGitHubリポジトリや、
00:02:36未完成のサイドプロジェクト、学習過程のツイートまで。そのため、どうしても
00:02:42レベルが下がったように感じてしまいます。無意識のうちに、現代の「平均的な可視化された層」と、
00:02:47過去の「トップクラスの伝説」を比較しているのかもしれません。とはいえ、現代のデベロッパーが
00:02:53素晴らしいものを作っていないわけではありません。むしろ、歴史上最も革新的な時代に
00:02:58生きていると言えるでしょう。ここで、現代のプログラミング界の伝説たちを紹介させてください。
00:03:03まず思い浮かぶのが、ギレルモ・ラウチです。彼が誰か分かりますか? Next.jsの生みの親であり、
00:03:10このReactフレームワークは世界の主要サイトの半分で使われています。それだけでなく、
00:03:16彼はVercelの創業者でもあります。デプロイの悪夢をワンクリックに変えた、あのVercelです。
00:03:22これは小さな貢献ではありません。現代のウェブ運営のあり方そのものを変えたのです。彼の作ったものの
00:03:28影響力については、これ以上語る必要はないでしょう。敬意を表して、次のレジェンドへ進みます。
00:03:32次はアディ・オスマニです。彼の仕事はウェブのパフォーマンスと大規模な
00:03:39最適化に焦点を当てています。言語の発明ほど派手には聞こえないかもしれませんが、
00:03:44何十億ものユーザーが毎日サイトを読み込む中、パフォーマンス・エンジニアリングは非常に
00:03:49高度な知的挑戦です。彼はGoogle Chromeで、大規模サイトを高速化する手法を確立しました。
00:03:54今日のブラウジングがスムーズなのは、彼のおかげでもあります。そして、個人のエンジニアリング能力という点では、
00:03:59ファブリス・ベラールを無視することはできません。彼はネット上の動画処理の大部分を支える
00:04:06FFmpegを開発しました。ストリーミング、メディアツール、動画エディタなど、
00:04:13多くが内部でFFmpegを利用しています。さらに、OS全体を仮想的に実行できる
00:04:19マシンエミュレータ QEMUも開発しました。このレベルの低レイヤー・システムへの
00:04:24深い理解は、コンピューティング初期のエンジニアに勝るとも劣らないほどハードコアです。
00:04:30他にも、Reactを作ってフロントエンドを永遠に変えたジョーダン・ウォークや、
00:04:36世界中の開発者にKubernetesを広めたケルシー・ハイタワー、そして
00:04:41Vue.jsを構築し、最も思慮深いコミュニティの1つを育て上げたエヴァン・ヨーなどがいます。
00:04:46確かに、80年代や90年代のプログラマは基礎を築きました。厳しい制約の中で
00:04:53初期のコンピューティング・インフラを構築したのです。しかし、現代の開発者はその土台の上に
00:04:58「摩天楼」を建てています。グローバルなスケール、人工知能、
00:05:04分散システム、そしてかつての世代が直面しなかったソフトウェアの複雑さに立ち向かっています。
00:05:10時代が違い、制約が違い、問題も違いますが、その輝きは同じです。おそらく30年後、
00:05:16誰かが私たちを振り返ってこう言うでしょう。「2025年のプログラマは凄かった」と。
00:05:23歴史は常に過去を美化するものです。今回の動画はここまでです。あなたの好きな
00:05:29現代のプログラマをぜひコメントで教えてください。また、コーディングを学びたい方は
00:05:33Scrimbaをチェックしてみてください。単に動画を見るだけでなく、
00:05:38インタラクティブに学べる素晴らしいプラットフォームです。リンクは概要欄にあります。高評価、
00:05:44共有、チャンネル登録をよろしくお願いします。それでは、また次回の動画でお会いしましょう。

Key Takeaway

過去と現代のプログラマーの優劣は単純に比較できず、それぞれの時代特有の制約や複雑な課題に対して同等の革新性を持って挑んでいる。

Highlights

90年代のプログラマーは、現代のような便利なツールがない中でOSや言語をゼロから構築した

当時の開発者が優秀に見えるのは、限られたメモリや処理能力という「制約」が規律を生んでいたためである

現代の視覚化された「平均的な層」と、過去の「伝説的な偉人」を無意識に比較している可能性がある

現代のエンジニア(Guillermo RauchやFabrice Bellardなど)も、過去に劣らずハードコアな課題を解決している

時代ごとに直面する問題の複雑さは異なるが、エンジニアとしての輝きや革新性は共通している

Timeline

90年代の開発環境と現代の比較

90年代のエンジニアが直面していた、スマホもSlackもStack Overflowもない過酷な開発環境をシミュレーションしています。バグが発生すれば分厚いマニュアルを片手に数日間デバッグに没頭し、OSやネットワークプロトコルをゼロから構築する必要がありました。現代のエンジニアがAPIトークンの枯渇を心配する一方で、当時の人々がいかに基盤を築いたかを振り返ります。なぜ当時の開発者が「伝説」として語り継がれるのかという根本的な問いを投げかけています。このセクションは、読者に当時の不便さとそこから生まれる努力の重みを再認識させる役割を果たしています。

制約が生む規律と発明の時代

当時のプログラマーが優秀とされる1つ目の理由として、ハードウェアの厳しい「制約」が挙げられています。メモリ1キロバイトが貴重な時代、効率的なコードを書くことは選択ではなく生存戦略であり、システム内部への深い理解が不可欠でした。また、彼らは既存のツールを使う「車輪の再発明」ではなく、コンパイラやクラウドの概念そのものを「発明」した先駆者でした。ライブラリやレジストリが存在しない中、自らプロトコルを定義するプロセスがエンジニアとしての能力を極限まで高めました。制約がむしろエンジニアの規律と創造性を引き出していたことが詳しく解説されています。

生存者バイアスと可視化の罠

過去のエンジニアが全員優秀に見える背景には、歴史に残る「伝説的な人物」だけを記憶しているというバイアスが存在します。リーナス・トーバルズのような偉人と、現代のGitHubに公開されている初心者のコードを比較するのは不公平であると指摘しています。かつての「普通の」開発者の成果は記録に残らず消えていきましたが、現代はSNSによって学習過程の未熟な部分までがすべて可視化されます。この情報の透明性が、現代のエンジニアのレベルが下がったかのような錯覚を生んでいるのです。ここでは、私たちが無意識に「過去のトップ」と「現代の平均」を比べている可能性を示唆しています。

現代を象徴するレジェンドたち

現代のエンジニアもまた、歴史上最も革新的な時代において驚異的な成果を上げていることを紹介しています。Next.jsやVercelを通じてウェブ開発のパラダイムを変えたGuillermo Rauchや、Chromeのパフォーマンス最適化を主導したAddy Osmaniが登場します。さらに、FFmpegやQEMUを開発したFabrice Bellardのような、低レイヤーに精通したハードコアな開発者の存在も強調されています。ReactのJordan WalkeやKubernetesのKelsey Hightowerなど、現代の複雑なエコシステムを支える人々も列挙されています。彼らの貢献は、過去の偉人たちが築いた土台の上に巨大な「摩天楼」を建設するようなものだと評価されています。

結論:時代と共に進化する複雑さ

80年代や90年代のプログラマーは基盤を築きましたが、現代の開発者はかつてない規模の分散システムやAI、ソフトウェアの複雑さに立ち向かっています。時代によって制約や直面する問題の種類は異なりますが、エンジニアが発揮する知的な輝きに本質的な差はありません。30年後の未来からは、今の2025年のエンジニアも「伝説の世代」として美化されて語られるだろうと予測しています。歴史は常に過去を輝かしく見せる性質があることを理解し、現代の進歩を肯定的に捉える結末となっています。最後に、インタラクティブな学習プラットフォームであるScrimbaの紹介と共に、視聴者への問いかけで締めくくられています。

Community Posts

View all posts