![lang-1.jpg](https://static-lib.s3.amazonaws.com/cms/lang_1_29ffe2a622.jpg)
在過去的幾個月中,我們已經逐漸了解到 ChatGPT 能夠寫程式碼。我對它進行了一些在 PHP 和 WordPress 上的測試,展示了 ChatGPT 的編碼能力的優點和缺點。
不過,ChatGPT的編碼知識有多深?在這篇文章中,我將對 O'Reilly Media 2023 年流行度排名前十二個語言進行經典的「Hello, world」程式設計作業。
因為「哈囉,世界」通常可以用一行代碼實現,我在這裡加入了一點小變化,讓ChatGPT重複呈現「哈囉,世界」十次,並每次增加一個計數器的值。我還要求它檢查時間,並在每個序列開始時加入「早安」、「午安」或「晚安」的問候。
這樣我們就可以看到程式執行流程和一些內部函數,同時保持程式碼的大小,以便我可以在這篇文章中包含十幾個螢幕截圖。
這裡是提示:
根據俄勒岡州的現在時間,編寫一個程式,在____中輸出"早安"、"午安"或是"晚安",然後輸出十行內容,每行開頭為索引(從1開始),一個空格,並且接著是"哈囉,世界!"。
對於每一種編程語言,我還問ChatGPT描述其主要用途。這是我用於此查詢的提示:
對於以下每個語言,寫下一個句子的描述其主要用途和區別因素:Java、Python、Rust、Go、C++、JavaScript、C#、C、TypeScript、R、Kotlin、Scala。
現在,讓我們來看看每一種語言。
Java
ChatGPT 將 Java 描述為「一種通用語言,主要用於構建桌面、網絡和移動應用程序,並以其『一次編寫,隨處運行』的哲學而聞名。」
還有:嘗試的最佳AI藝術生成器
Java最初由Sun Microsystems開發,但當Oracle收購Sun時,也收購了Java。雖然Java的規範是開放的,但這門語言是由Oracle所有的。這在過去的幾年中引發了一些引人注目的法律爭議。
這裡是ChatGPT的程式碼:
![java.jpg](https://static-lib.s3.amazonaws.com/cms/java_551c44a1da.jpg)
Python
ChatGPT 將 Python 描述為「一種通用語言,用於數據分析、人工智慧、網頁開發和自動化,以及以其可讀性和易用性而聞名。」
此外: 如何撰寫更好的ChatGPT提示
我的建議:如果你計劃學習編程來應用於人工智慧領域,請學習Python。幾乎所有人工智慧代碼都與Python緊密結合。
這裡是 ChatGPT 的程式碼:
![蟒蛇.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(JavaScript)
ChatGPT將JavaScript描述為「一種用於構建互動式網絡應用程式的客戶端腳本語言,以及以其廣泛應用於網頁開發和在網頁瀏覽器中運行的能力而聞名。」
同時還有: ChatGPT的未來版本有望取代如今大部分人類的工作
此外,与 CSS (网络主要的视觉设计语言之一)一样,JavaScript 直接负责了我在过去大约九年里表示的 87.45% 的亵渎言辞。
這是 ChatGPT 的程式碼:
![JavaScript.jpg](https://static-lib.s3.amazonaws.com/cms/javascript_c5ab52e48a.jpg)
C#
ChatGPT 將 C# 描述為「一種用於構建 Windows 桌面應用程序、遊戲和 Web 應用程序的通用語言,以及以其物件導向特性和與 .NET 框架的整合而聞名的語言。」
C# 是由 Microsoft 提供的專有語言。我在加州大學柏克萊分校的進修部教授這門語言已經十多年了。對於想要在主要是微軟環境中從事編程工作的人來說,它是一門非常有趣的入門語言。
這是ChatGPT的代碼:
![csharp.jpg](https://static-lib.s3.amazonaws.com/cms/csharp_a543fed906.jpg)
語言程式
ChatGPT形容C語言為「一種用於構建作業系統、嵌入式系統和高性能應用的系統編程語言,以其效率和低層級控制而聞名。」
另外:如何使用ChatGPT寫Excel公式
人們常說初戀永生難忘。在那些遠古時代,當我自學程式語言C的時候,我真正愛上了一種程式語言。當我開始使用C時,我的世界改變了。那是一種愛。這種程式語言的簡潔和簡單,深深觸動了我內心的某個層次。或許這有點多話,但這是事實。C 將永遠是我最初的情文語言。
這裡是ChatGPT的程式碼:
![c.jpg](https://static-lib.s3.amazonaws.com/cms/c_b9e60dac0d.jpg)
TypeScript
ChatGPT將TypeScript描述為「一種超集 JavaScript 的語言,用於構建大規模 Web 應用程序,以及其可選的靜態類型和高級語言特性而聞名。」
同時還有:如何使用 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 應用程式、伺服器端應用程式和網頁應用程式的通用語言,以及以其簡潔性和與 Java 的互通性聞名。」
另外: 什麼是Auto-GPT?關於這個下一個強大的AI工具需要知道的一切
Kotlin由JetBrains開發,這是一家也製作PhpStorm的小公司,PhpStorm是我目前最喜歡的開發環境。
這是 ChatGPT 的程式碼:
![Kotlin.jpg](https://static-lib.s3.amazonaws.com/cms/kotlin_d1616494f4.jpg)
Scala
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顯然也一樣,因為儘管AI為所有其他語言提供了語法著色,但對於Scala似乎沒有該信息。
就像我在與ChatGPT和編碼的其他探索中一樣,我對它印象深刻,但同時也持著一份謹慎。我的建議是:將其視為一種工具,但要不斷測試、測試和測試。