我々が知っているプログラミングの終焉(翻訳中)
原文: The End of Programming as We Know It
著者: Tim O'Reilly
翻訳者: Günther Brunner
原文公開日: 2025年2月4日
https://www.oreilly.com/radar/the-end-of-programming-as-we-know-it/
📝 翻訳者まえがき
この記事は、O'Reilly Mediaの創設者であるTim O'Reillyが、AIとプログラミングの未来について書いた重要な記事の翻訳です。エンジニアにとって、AIが我々の職業にどのような影響を与えるのかは重大な関心事です。この記事は、技術の進化を歴史的な視点から捉え、バランスの取れた見方を提供してくれます。
メディアでは、ソフトウェア開発者がすぐにAIに仕事を奪われるという話で持ちきりです。私はそうは思いません。
今やノンプログラマーでも、LLMや専門的なソフトウェアエージェントと普通の英語(あるいは好みの人間言語)で会話するだけで、Python(あるいは好みのプログラミング言語)で有用なプロトタイプを得られるようになりました。これには新しいバズワードまで登場しています:「CHOP」、つまり「チャット指向プログラミング」です。高度な推論モデルの台頭により、複雑なプログラムでさえ、達成すべきタスクを説明する高レベルなプロンプトで生成できることが示され始めています。
これはプログラミングの終わりではありません。_いまの形でのプログラミングの終わり_なのです。これは新しいことではありません。最初のプログラマーたちは、計算を実行するために物理的な回路を接続していました。彼らは、コンピュータの前面にあるスイッチを一つずつ切り替えて入力する機械語命令をバイナリコードとして書くプログラマーたちに取って代わられました。
やがて、デバッグがはるかに容易なインタープリタ型言語が標準となりました。
BASICは、これらの言語の中で最初に大きな成功を収めた言語の一つでしたが、当初はおもちゃのように見なされていました。しかし、すぐにそれが未来の波であることが証明されました。プログラミングは、大企業や政府機関のバックオフィスの神官たちだけでなく、子供たちやガレージの起業家たちにもアクセス可能になりました。
消費者向けオペレーティングシステムも、この物語の重要な部分でした。パーソナルコンピュータの初期には、すべてのコンピュータメーカーは、メモリボード、ハードディスク、モデムやプリンタなどの周辺機器への読み書きを実行する低レベルドライバを書けるソフトウェアエンジニアを必要としていました。Windowsがそれを終わらせました。Windowsの成功は、未訓練の個人がコンピュータを使用することをはるかに容易にしたグラフィカルユーザーインターフェースを提供しただけではありません。NetscapeのMarc Andreessen(その会社はまさにMicrosoftに蹂躙されようとしていた)が軽蔑的に(そして誤って)「単なるドライバの集まり」と呼んだものも提供したのです。Win32 APIを前面に出したそのドライバの集まりは、プログラマーがもはやマシンを制御する低レベルコードを書く必要がないことを意味しました。その仕事は効果的にオペレーティングシステムにカプセル化されました。Windows、macOS、そしてモバイルではiOSとAndroidにより、今日のほとんどのプログラマーは、以前の世代のプログラマーが知っていた多くのことを知る必要がなくなりました。プログラマーは人間に近い言語を使って、データをメモリの場所に移動し、その上で計算を実行するようコンピュータに指示できるようになりました。その後、Fortran、COBOL、そしてその後継であるC、C++、Javaなどのより高水準のコンパイル言語の開発により、ほとんどのプログラマーはもはやアセンブリコードを書く必要がなくなりました。代わりに、より高水準の抽象化を使ってコンピュータに指示を出せるようになったのです。
📚 より多くのプログラマー、減少ではなく
しかし、これはプログラミングの終わりからはほど遠いものでした。むしろ、かつてないほど多くのプログラマーが生まれました。何億人もの利用者が彼らの創造性の成果を享受しています。価格弾力性の古典的な実例として、ソフトウェアの作成が容易になるにつれて価格は下がり、より多くの人々が支払いたいと思うソリューションを開発者が作れるようになりました。
ウェブは、また別の「プログラミングの終わり」でした。突然、ユーザーインターフェースは人間が読めるドキュメントで構成され、ブラウザで表示され、リンクを通じてリモートサーバー上のプログラムを呼び出せるようになりました。最小限のプログラミングスキルで誰でも簡単な「アプリケーション」を構築できるようになりました。「ノーコード」がバズワードになりました。
💡 いま来ている変化
現在、非プログラマーでもLLMや専門的なソフトウェアエージェントと普通の言語で会話するだけで、有用なプロトタイプを得ることができるようになりました。これには新しいバズワード 「CHOP(チャット指向プログラミング)」 まで登場しています。高度な推論モデルの台頭により、複雑なプログラムでさえ、達成すべきタスクを説明する高レベルなプロンプトで生成できることが示され始めています。
その結果、「今回は違う」、AIはほとんどの人間のプログラマーを完全に置き換え、実際、ほとんどの知識労働者を置き換えるだろうと言う人が多くいます。広範な人間の失業の波に直面していると彼らは言います。
私はまだそうは思いません。
🎓 実践による学習
AIはプログラマーを置き換えるのではなく、その仕事を変革します。最終的に、プログラマーが今日行っていることの多くは(組み込みシステムプログラマーを除いて)オシロスコープを使ってデバッグするという古いスキルと同じように時代遅れになるかもしれません。
経済史家のJames Bessenは、第一次産業革命が1800年代初頭のマサチューセッツ州ローウェルの織物工場でどのように展開されたかを研究しました。熟練した職人が機械によって「未熟練」労働者に置き換えられたとき、確かに人間の賃金は低下しました。しかし、Bessenは元の家内手工業者の賃金記録と新しい産業工場の労働者の賃金記録を比較して、興味深い発見をしました。
新入りの未熟練工場労働者が完全な賃金と生産性に達するまでにかかった時間は、見習い職人が熟練した職人の賃金に達するまでにかかった時間とほぼ同じでした。両方の体制の労働者は実際には熟練労働者でした。ただし、_異なる種類のスキル_を持っていたのです。
🚀 未来の発明はまだ始まったばかり
新しく学び、行うべきことがたくさんあります。そう、AIの共同開発者がプログラマーを10倍生産的にすると大胆に仮定しましょう(新しいスキルを学ぶ意欲によって、実際の効果は異なります)。しかし、それが起こった後、ビジネス、科学、私たちの構築されたインフラストラクチャの「プログラム可能な表面積」が並行して増加すると仮定しましょう。プログラミングが違いを生む機会が20倍になれば、それらの新しい10倍のプログラマーがまだ2倍必要になるのです!
ユーザーの期待も高まっていくでしょう。単により高い生産性でコストを削減するだけのビジネスは、新しい能力を活用してより良いサービスを構築する企業に負けてしまうでしょう。
AIの時代の最前線で、プログラミングがより簡単で優れたものになる方法を世界に示してきたSimon Willisonは、AIによって「より野心的に」なれると指摘しています。
🔄 プロトタイプから本番へ
企業では、AIによって問題に最も近い人々によってソリューションを構築することがより可能になります。しかし、それらのソリューションの最高のものは、Palantirのシャム・サンカー CTOが「プロトタイプから本番への道のり」と呼ぶ残りの道のりを進む必要があります。
サンカーは、企業にとってのAIの価値は「自動化、企業の自律性にある」と指摘しました。しかし、彼はまた「自動化はエッジケースによって制限される」とも指摘しています。彼は2005年のDARPA Grand Challengeで優勝した自動運転車スタンレーの教訓を思い出しました:素晴らしいことができましたが、都市での運転のエッジケースを完全に処理するには20年の開発が必要でした。
「ワークフローはまだ重要」とサンカーは主張し、プログラマーの仕事は従来のソフトウェアで何ができるか、AIで何ができるか、まだ人々がする必要があることは何か、そしてワークフローを実際に達成するためにそれらをどのように組み合わせるかを理解することになるでしょう。
🌟 結論
これはプログラミングの終わりではありません。最新の再発明の始まりなのです。
翻訳について気づいた点や改善点がありましたら、コメントでお知らせください。
より良い翻訳にしていきたいと思います。
Discussion
貴重な記事ありがとうございます。
やっぱりどうしても思ってしまうのは、今後もどんどんAIは発展するだろうから、正直厳しいよなぁとは思います。
実際に生計立てている人からすると死活問題。
個人的にはAIの側の中でやるしかないのかと思っています。
人間が追い付くよりかは足跡をたどるぐらいの印象しか持てない。