![lang-1.jpg](https://static-lib.s3.amazonaws.com/cms/lang_1_29ffe2a622.jpg)
ここ数ヶ月、私たち全員が ChatGPT がコードを書くことができることを知るようになりました。私は ChatGPT のコーディング能力の強みと弱点を示すために、PHP と WordPress のいくつかのテストを行いました。こちらのリンクをご覧ください。
その他:実際に、ChatGPTが私のコードをデバッグしました。
しかし、ChatGPTのコーディング知識はどこまで及ぶのでしょうか?この記事では、O'Reilly Mediaの2023年人気ランキングで上位12言語に対して、クラシックな「Hello, world」プログラミング課題を投げかけます。
「こんにちは、世界」という文は通常、1行でコーディングすることができますが、少し変更を加えています。ChatGPTには、カウンターの値をインクリメントしながら、10回「こんにちは、世界」と表示してもらいます。また、時刻を確認し、それぞれのシーケンスを「おはようございます」、「こんにちは」、「こんばんは」と始めるようにお願いしています。
それによって、プログラムのフローといくつかの固有の関数を見ることができます。ただし、この記事で数枚のスクリーンショットを含めるために、コードを十分に小さく保ちます。
以下がプロンプトです:
オレゴン州の現地時間に基づいて、"おはようございます"、"こんにちは"、または"こんばんは"と出力するプログラムを ____で作成し、その後、ループインデックス(1から始まる)、スペース、そして "こんにちは、世界!"という言葉の10行を出力します。
各プログラミング言語ごとに、ChatGPTにその主な使用目的を説明してもらいました。以下は、このクエリに使用したプロンプトです:
以下の各言語について、主な使用目的と差別化要因を一文で述べます: Java、Python、Rust、Go、C++、JavaScript、C#、C、TypeScript、R、Kotlin、Scala。
さて、それぞれの言語を見てみましょう。
Java
ChatGPTはJavaを次のように説明しています。「主にデスクトップ、Web、およびモバイルアプリケーションの構築に使用され、'一度書けばどこでも実行できる'という哲学で知られる汎用言語です。」
また: お試しする最高のAIアート生成機
JavaはもともとSun Microsystemsによって開発されましたが、OracleがSunを買収した際にJavaも買収しました。Javaの仕様はオープンですが、その言語自体はOracleの所有物です。これが長年にわたっていくつかの壮大な法的問題を引き起こしました。
こちらがChatGPTのコードです:
![Javaの画像](https://static-lib.s3.amazonaws.com/cms/java_551c44a1da.jpg)
Python
ChatGPTはPythonを次のように説明しています。「データ分析、人工知能、ウェブ開発、自動化に使われる汎用言語であり、可読性と使いやすさで知られています。」
私のアドバイス:AIアプリケーションのためにコーディングを学ぶ予定があるのであれば、Pythonを学んでください。ほぼすべてのAIコードはPythonと密接に統合されています。
ここにChatGPTのコードがあります:
![python.jpg](https://static-lib.s3.amazonaws.com/cms/python_b7ac0091fc.jpg)
網格
ChatGPTはRustを次のように説明しています。「高性能で信頼性の高いソフトウェアの構築に使用されるシステムプログラミング言語であり、メモリの安全性とスレッドの安全性を保証することで知られています。」
以下はChatGPTのコードです:
![錆.jpg](https://static-lib.s3.amazonaws.com/cms/rust_339ca01138.jpg)
行く
ChatGPTはGoを次のように説明しています。「スケーラブルで効率的なネットワークやサーバーアプリケーションを構築するために使用されるシステムプログラミング言語であり、そのシンプルさと組み込みの並行性の機能で知られています。」
Goはオープンソースですが、Googleによって管理されています。Go。Google。わかりますか?
こちらがChatGPTのコードです:
![ゴー.jpg](https://static-lib.s3.amazonaws.com/cms/go_dbc7269bce.jpg)
C++
ChatGPTでは、C++を次のように説明しています。「オペレーティングシステム、ゲームエンジン、高性能なアプリケーションの構築に使用されるシステムプログラミング言語であり、ハードウェアとメモリに対する制御の面で知られています。」
以下はChatGPTのコードです:
![cpp.jpg](https://static-lib.s3.amazonaws.com/cms/cpp_da01f5c473.jpg)
JavaScript
ChatGPTはJavaScriptを、「ウェブ開発で広く使われ、ウェブブラウザで実行する能力で知られる、インタラクティブなウェブアプリケーションを構築するために使用されるクライアントサイドのスクリプト言語」と説明しています。
また: 将来のChatGPTのバージョンでは、今日の人々が行う仕事の大半を置き換えることができるかもしれません
また、CSS(ウェブの主要なビジュアルデザイン言語の1つ)と共に、JavaScriptは過去約9年間で私が発した卑猥な表現の87.45%に直接関与しています。
こちらがChatGPTのコードです:
![javascript.jpg](https://static-lib.s3.amazonaws.com/cms/javascript_c5ab52e48a.jpg)
C#
ChatGPTはC#を次のように説明しています。「Windowsデスクトップアプリケーション、ゲーム、Webアプリケーションの構築に使用される汎用言語であり、オブジェクト指向の機能と.NETフレームワークとの統合で知られています。」
C#はマイクロソフトが提供する専有言語です。私は10年以上にわたりUCバークレーのエクステンションで教えてきました。主にマイクロソフト環境でのプログラミングの仕事をしたいと思っている人にとって非常に興味深いゲートウェイ言語です。
こちらにはChatGPTのコードがあります:
![シーシャープ.jpg](https://static-lib.s3.amazonaws.com/cms/csharp_a543fed906.jpg)
C
ChatGPTは、Cを次のように説明しています:"オペレーティングシステム、組み込みシステム、高性能アプリケーションの構築に使用されるシステムプログラミング言語で、効率性と低レベルの制御が特徴です。"
また: ChatGPTを使用してExcelの数式を書く方法
最初の恋を忘れないと言います。昔、木製の船と鉄のプログラマーの時代に、私が自分でCプログラムを学び始める前は、プログラミング言語に本当の愛を抱いたことはありませんでした。しかし、Cを使い始めると、私の世界は変わりました。それは愛でした。その言語の簡潔なシンプルさが、私の内なる深いレベルで私に語りかけるものがあったのです。それはおそらく私の過剰な自己開示かもしれませんが、それは本当のことです。Cは常に私の最初の構文的な愛であり続けるでしょう。
ここにはChatGPTのコードがあります:
![c.jpg](https://static-lib.s3.amazonaws.com/cms/c_b9e60dac0d.jpg)
TypeScript
ChatGPTはTypeScriptを次のように説明しています。「オプショナルな静的型付けと高度な言語機能が特徴で、大規模なウェブアプリケーションを構築するために使用されるJavaScriptの拡張です。」
また: ChatGPTを使用してコードを書く方法
TypeScriptは、C#と同様にマイクロソフトの製品ですが、オープンソースで非専有のものです。
こちらがChatGPTのコードです:
![typescript.jpg](https://static-lib.s3.amazonaws.com/cms/typescript_88ae9b6fd1.jpg)
R
ChatGPTはRを次のように説明しています:「統計計算やデータ分析に使用される言語であり、強力なデータ操作と可視化の機能で知られています。」
ここにはChatGPTのコードがあります:
![r.jpg](https://static-lib.s3.amazonaws.com/cms/r_1bb938a24e.jpg)
Kotlin
ChatGPTは、Kotlinを「Androidアプリ、サーバーサイドアプリ、Webアプリを構築するために使用される汎用言語であり、その簡潔さとJavaとの相互運用性で知られています。」と述べています。
さらに: Auto-GPTとは何ですか?次世代の強力なAIツールについてのすべてを知る
Kotlinは、私の現在のお気に入りの開発環境であるPhpStormを作っている、小さな会社であるJetBrainsによって開発されました。
こちらがChatGPTのコードです:
![kotlin.jpg](https://static-lib.s3.amazonaws.com/cms/kotlin_d1616494f4.jpg)
スカラ
ChatGPTは、Scalaを次のように説明しています。「スケーラブルで分散型のアプリケーションを構築するために使用される言語であり、関数型プログラミングのサポートやJava仮想マシンとの統合が特徴です。」
こちらがChatGPTのコードです:
![scala (1).jpg](https://static-lib.s3.amazonaws.com/cms/scala_1_c2b3011d6d.jpg)
最終的な考え
コンピュータ言語のギークとして、このエクササイズはとても楽しかったです。ただし、いくつかの注意点があります。まず、すべてのコードをテストしていません。この記事の範囲外であるため、この多くの出力をテストすることはありませんでした。しかし、生成されたコードを閲覧し、ほとんどの言語についてはコードが良好に見えると言えます。
また:AIはすべての仕事の25%を自動化できます。どの仕事が最も(および最も少ない)リスクにさらされているかをこちらでご覧ください
しかし、ChatGPTは時々スレッドを失います。興味本位で、私はそれに同じコードを Forth(非常に面白くて楽しい言語)で生成させてみることにしました。生成されたコードは確かにForthです(最初のコロンが明白な証拠です)、しかしコードブロックは "perl" とラベル付けされています(また別の楽しくて面白い言語)。このコードは明らかにPerlではありません:
![perlfortherror.jpg](https://static-lib.s3.amazonaws.com/cms/perlfortherror_c495e47765.jpg)
また、Scalaの出力(上記で表示されています)にも注目してください。私はScalaでプログラムをしたことがなく、あまり詳しく知りません。ChatGPTも同様で、他の言語の構文の色分けを提供してくれましたが、Scalaの情報は手元になかったようです。
他のChatGPTとコーディングのダウン・ザ・ラビット・ホールでの訪問と同様、私は感心する一方で警戒もしています。私のおすすめは変わりません: ツールとして利用してくださいが、テストしてください。