ChatGPT 对编程语言:码写作技能之战

我们知道ChatGPT的编码能力,但在使用十几种不同语言的会话中,它的表现如何?答案令人印象深刻

“`html

我使用 ChatGPT 在 12 种流行的编程语言中编写了相同的例程。这是它的表现!

lang-1

在过去的一年里,我们都知道 ChatGPT 能写代码。我给它做了一些 PHP 和 WordPress 测试,在这些测试中展示了 ChatGPT 编码能力的优势和劣势。但是 ChatGPT 的编程知识有多广泛呢?为了这篇文章,我给 ChatGPT 提出了经典的“Hello, world”编程任务,对比了 O’Reilly Media 2023 年度最受欢迎编程语言排名中的十二种流行语言。

因为“Hello, world”通常可以在一行代码中编写,我增加了一点变化,要求 ChatGPT 每次呈现“Hello, world”时重复十次,并递增一个计数器值。我还要求它检查时间,并以“早上好”、“下午好”或“晚上好”开始每个序列。

这让我们可以看到程序流程和一些内在函数,但代码仍然足够小,以至于我可以在本文中包含一打截图。

提示

在下面列出的每种语言中编写一个程序,根据俄勒冈州的时间输出“早上好”、“下午好”或“晚上好”,然后输出十行包含循环索引(从 1 开始),一个空格,以及单词 “Hello, world!”。

对于每种编程语言,我还要求 ChatGPT 描述其主要用途。这是我为这个查询使用的提示:

对于以下每种语言,编写一个句子描述其主要用途和区分因素:Java、Python、Rust、Go、C ++、JavaScript、C#、C、TypeScript、R、Kotlin、Scala。

现在,让我们看看每种语言。

1. Java

ChatGPT 将 Java 描述为“一种通用语言,主要用于构建桌面、Web 和移动应用程序,并以‘一次编写,多处运行’的理念而闻名。”

Java 最初由 Sun Microsystems 开发,但当 Oracle 收购 Sun 时,也收购了 Java。虽然 Java 规范是公开的,但该语言归 Oracle 拥有。这在多年来导致了一些引人瞩目的法律纠纷。

以下是 ChatGPT 的代码:

“`

[Java Code Screenshot]

“`html

2. Python

ChatGPT描述Python为:“一种用于数据分析、人工智能、网站开发和自动化的通用语言,以其易读性和易用性闻名。”

我的建议:如果你打算学习编写AI应用程序,那就学习Python。几乎所有的AI代码都与Python密切结合。

以下是ChatGPT的代码:

“`

[Python Code Screenshot]

“`html

3. Rust

ChatGPT describes Rust as, “A systems programming language used for building high-performance and reliable software, and known for its memory safety and thread safety guarantees.”

Here’s ChatGPT’s code:

“`

[Rust Code Screenshot]

“`html

4. Go

ChatGPT describes Go as, “A systems programming language used for building scalable and efficient network and server applications, and known for its simplicity and built-in concurrency features.”

Go is open source, but it’s managed by Google. Go. Google. Get it?

Here’s ChatGPT’s code:

“`

[Go Code Screenshot]

“`html

5. C++

ChatGPT描述C++为:“一种用于构建操作系统、游戏引擎和高性能应用程序的系统编程语言,以及以其对硬件和内存的控制而闻名。”

这是ChatGPT的代码:

“`

[C++ Code Screenshot]

“`html

6. JavaScript

ChatGPT描述JavaScript为:“用于构建交互式网络应用程序的客户端脚本语言,以及以其广泛在网络开发中的使用和在网络浏览器中运行的能力而闻名。”

此外,与CSS(网络的主要视觉设计语言之一)一起,JavaScript直接导致了我在过去九年左右中说出的87.45%的粗言秽语。

这里是ChatGPT的代码:

“`

[JavaScript Code Screenshot]

“`html

7. C

ChatGPT描述C#为“一种通用语言,用于构建Windows桌面应用程序、游戏和Web应用程序,以及以其面向对象特性和与.NET框架的集成而闻名。”

C#是由微软提供的专有语言。我在加州大学伯克利分校教授它超过十年。它是对于希望为主要为Microsoft环境编程的人来说非常有趣的入门语言。

这里是ChatGPT的代码:

“`

[C# Code Screenshot]

“`html

8. C

ChatGPT描述C为,“用于构建操作系统、嵌入式系统和高性能应用程序的系统编程语言,以其效率和低级控制而闻名。”

他们说你永远不会忘记你的初恋。在自学编程C的日子里,我真的很爱上了一门编程语言。但是后来我开始使用C,我的世界改变了。那是一种爱情。这门语言的简洁简单之处深深地触动了我。这可能有些夸张,但也是真的。C将永远是我第一次喜欢的句法。

这是ChatGPT的代码:

“`

[C Code Screenshot]

“`html

9. TypeScript

ChatGPT describes TypeScript as, “A superset of JavaScript used for building large-scale web applications, and known for its optional static typing and advanced language features.”

TypeScript 也是微软的产品, 但与 C# 不同的是, 它是开源和非专有的。

以下是 ChatGPT 的代码:

“`

[TypeScript Code Screenshot]

“`html

10. R

ChatGPT描述R为,“一种用于统计计算和数据分析的语言,以其强大的数据操作和可视化能力而闻名。”

这里是ChatGPT的代码:

“`

[R Code Screenshot]

“`html

11. Kotlin

ChatGPT描述Kotlin为:“一种用于构建Android应用程序、服务器端应用程序和Web应用程序的通用语言,以其简洁性和与Java的互操作性而闻名。”

Kotlin由JetBrains开发,这是一家同样制作PhpStorm的小公司,PhpStorm是我当前最喜欢的开发环境。

这里是ChatGPT的代码:

“`

[Kotlin Code Screenshot]

Sure thing! Here’s the HTML text translated into Chinese while keeping the original information of the src attribute in the tag unchanged:

12. Scala

ChatGPT 将 Scala 描述为,“一种用于构建可伸缩和分布式应用程序的语言,以其对函数式编程的支持和与 Java 虚拟机集成而闻名。”

这是 ChatGPT 的代码:

[Scala Code Screenshot]

“`html

此外,请注意 Scala 的输出(如上所示)。我从未在 Scala 中编程,也对它了解不多。显然 ChatGPT 也一样,因为虽然 AI 为所有其他语言提供了语法着色,但对于 Scala,它似乎没有相关信息。

最终想法(以及一点 Forth)

作为计算机语言极客,我觉得这个练习非常有趣。但需要记住的是,首先,我并未测试所有代码。测试这么多输出超出了本文的范围。尽管如此,我确实阅读了生成的代码,并且对于大多数语言来说,代码看起来不错。

上一次进行这些测试时,大约一年前,ChatGPT 几乎完全正确(上述声明除外)。但是,当要求它渲染 Forth 代码时(这是一种非常独特但有趣的语言),它生成的代码看起来像 Forth,但窗口标签是“Perl”。它绝对不是生成的 Perl。

然而,这一次,它生成了 Forth(冒号是死的橄榄枝)并适当地加上标签。就像上面的 Scala 一样,ChatGPT 似乎没有 Forth 的语法着色表,但除此之外,它表现得还不错。

和我与 ChatGPT 和编码一起深入探讨的其他时间一样,我很受启发,但也保持警惕。我的建议仍然是:将其用作工具,但进行测试,测试,再测试。

参考文献:

你可以在社交媒体上关注我的日常项目更新。请确保在 Twitter 上关注我:[@DavidGewirtz](https://twitter.com/davidgewirtz),在 Facebook 上关注我:Facebook.com/DavidGewirtz,在 Instagram 上关注我:Instagram.com/DavidGewirtz,在 YouTube 上关注我:YouTube.com/DavidGewirtzTV


喜欢这篇文章吗?与您的朋友在社交媒体上分享吧!让我们分享知识并享受编码的乐趣!🚀✨

“`