ホームページ  >  記事  >  テクノロジー周辺機器  >  価値のあるソフトウェアを書くのがいつも難しい理由

価値のあるソフトウェアを書くのがいつも難しい理由

DDD
DDD転載
2023-11-01 10:36:15960ブラウズ

私は人工知能が今後数十年間でプログラミング業界をどのように変革するかに興味がありますが、誇大宣伝に満ちた短期的な予測には批判的です。 AI は、数十年後も価値のあるソフトウェアを作成することはできません。これは依然として解決が非常に難しい問題です。効率化には役立ちますが、効果という点ではあまり良くありません。

より正確に言うと、人工知能は信頼できない仕事です。有効性とは、人間として有益で害を及ぼさない正しいものを構築することです。自動運転車は他の車両や歩行者との衝突を避けるように設計されていますが、その信頼性はせいぜいわずかです。セキュリティ対策を指定するのは比較的簡単ですが、実装するのは非常に困難です。そして、自動運転車の数が増え続けるにつれて、一部の人は毎日生死の決断を迫られることになるでしょう。機械は他の人間にとって何が最善かを判断するために、瞬時に判断する必要があります。それは、一人のニーズよりも多くの人のニーズの方が重要であると主張するでしょう。このような生死にかかわる決断に関しては、私たちはしっかりと運転席に座り、望む未来を形づくるべきです。

現在の人工知能は、効率を向上させるという点で優れています。さまざまなオプションを置き換え、それらの相対的な利点と欠点を比較検討し、最適なソリューションの組み合わせを提案できます。しかし、AI が賢くなるにつれて、判断を必要とする物議を醸すトピックの処理を AI に任せるべきではなくなります。恐ろしい事態になる可能性があるからです。 Nick Bostrom の有名なペーパークリップメーカーは、AI がユーザーの指示に基づいて最適化するという重要な注意点を含む興味深い思考実験です。もしそれがたまたまペーパークリップを作っていて、それが無限の力と無限の無私心を持っていたとしたら、それは銀河全体から金属を剥ぎ取り、もっと役に立たない文房具を作るでしょう。

たとえ AI が自己認識するようになったとしても、闇の意図を持っているかどうかにかかわらず、それは依然として定義上異質なものであることに変わりはありません (それは「人工知能」という言葉に反映されています)。アイザック・アシモフは、自律的な人間の創造物には何らかの安全対策が組み込まれているはずだと予測しました。彼のロボット工学三原則は、世界初の電子コンピューターである ENIAC の 3 年前に発表されました。しかし、最初のロボコップ映画のように、邪悪な天才が卑劣なファームウェアのアップデートを通じて「危害を加えない」ルールに個人的な例外を追加するとは、彼は予想できませんでした。

人工知能について悲観的な予測をするのはやめましょう。私が予測しているのは (主要な関係者に投資しているわけではありませんが)、プログラミングの技術が、ニーズを明確かつ明確に表現する技術に変わるということです。開発者は、究極の高級プログラミング言語 (英語など) を使用して AI と対話することに慣れ、AI に精通したビジネス アナリストになるでしょう。 AI は常に機能するソフトウェアを構築します。運が良ければ、それが役立つ可能性もあります。

動くソフトウェアだけでは十分ではない

アジャイルマニフェストが動くソフトウェアを求めているのは奇妙ではありませんか?まるで壊れたソフトウェアが代替品として受け入れられるかのようです。プロンプトによって生成されたコードも有用で価値があると求めるのは言いすぎでしょうか?はい、それはおそらく多くを求めすぎます。価値は無形で予測できないため、機能するソフトウェアと価値のあるソフトウェアの間には大きな隔たりがあります。完璧なソフトウェアであっても、自分の過失がなくても、アップグレードでは修正できない形でその関連性を失う可能性があります。ここではいくつかの例を示します。

忘れ去られたオペレーティング システム プロジェクトであるチャンドラーについて私が言及したのはこれが初めてではありません。 Scott Rosenberg の 2007 年の著書『Dreaming in Code』では、Chandler 1.0 までの険しい道のりが美しく語られています。これは永続的な警告です。たとえ最善の意図、献身的なトップ開発者のチーム、そして寛大なスポンサーがあっても、成功が必ずしも保証されているわけではありません。

Chandler は、Microsoft Outlook および Exchange の無料の代替手段となるよう努めています。これはまったく異なるユーザー エクスペリエンスを約束し、メッセージ、議題項目、ToDo リストの扱い方に革命をもたらすでしょう。これはデスクトップ アプリケーションを通じて行われ、ピアツーピア プロトコルを通じて通信します。人々に力を!

しかし、チームはアーキテクチャのロードマップであまりにも多くの間違いを犯しました。イカロスのように、彼らは太陽に近づきすぎました。世界が彼らに追いつきました。ブラウザーの機能が向上したため、Python ベースのデスクトップ アプリケーションは適切な選択肢になりません。

GWT の予期せぬ廃止

場合によっては、優れたツールであっても、元の独自のセールスポイントが魅力的でなくなったため、時代遅れになることがあります。 Google Web Toolkit (GWT) は 2006 年に強く主張しました。当時、デスクトップ コンピューターは、アプリケーション プラットフォームとしてブラウザーをサポートできるほど強力でした。ソフトウェアをインストールせずに納税申告書を完了できます。しかし、当時はブラウザの互換性、特にドラッグ アンド ドロップやダブルクリックなどの高度な機能に問題がありました。 GWT を使用すると、同じプロジェクト内にバックエンド コードとフロントエンド コードを記述し、データ転送と検証に共有オブジェクトを使用して、それらを単一の Web アーカイブにデプロイできます。 GWT は Java を JavaScript にコンパイルし、ローカル開発サーバーを使用してクライアント側 Java コードをデバッグすることもできます。私はそれを楽しんで、それでいくらかのお金を稼ぎました。

しかし、GWT コードのコンパイルには非常に時間がかかります。ブラウザ ベンダーは互換性の問題に徐々に対処してきました。 Angular や React などのフロントエンド プラットフォームは急速に成熟しています。フロントエンドの構築は本格的なキャリアになりつつあり、これらの開発者はプログラミング プラットフォームとして JavaScript を拒否しているようには見えません。 GWT はその関連性を失い、人工知能がこの問題を予見したり解決したりすることは不可能です。問題はコードではなく、コードとその周囲の世界との不一致です。

プログラミングに固執する

もちろん、だからといってコードを書くことが妨げられるわけではありません。本格的なソフトウェアは、商業的に有効である必要も、実際の価値がある必要もありません。私はアマチュアのオープンソース ソフトウェアについて話しています。私は誇りに思うソフトウェアをいくつか書いてきましたが、それらにはビジネスプランやロードマップなど、私自身の教育と楽しみ以外の動機はありませんでした。新しい概念を学ぶのには効果的でしたが、製品自体には興味がありませんでした。 GitHub にはそのようなプロジェクトがたくさんあります。誰かを怒らせるつもりはありません。私は個人的な経験から話しているだけです。プログラミング自体は何も悪いことではありませんが、それは決して観客の前で演奏しないバンドで演奏するようなもので、それを続けるのは難しいのです。

概要

人工知能は、今後数十年間でプログラミング業界に大きな影響を与えるでしょう。しかし、人間の開発者に取って代わられるわけではありません。むしろ、より効率的で価値のあるソフトウェアを構築できるようになります。しかし、私たちは AI の限界を認識し、AI が悪ではなく善に利用されるようにする必要があります。

以上が価値のあるソフトウェアを書くのがいつも難しい理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdzone.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。