用ChatGPT搞定12 种编程语言:看看它如何表现
译者 | 崔皓
策划 | 云昭
51CTO读者成长计划社群招募,咨询小助手(微信号:CTOjishuzhan)
众所周知ChatGPT可以写代码,但当有一堆语言一起抛向它时,它的表现如何呢?答案是:还不错(但并不完美)。
在过去的几个月里,我们已经领教了ChatGPT的编码能力。我对它进行了PHP和WordPress的测试,结果也反应出了ChatGPT编程的优缺点。
一、ChatGPT的编程知识能力有多强?
在本文中,我们将对O’Reilly Media 2023年受欢迎程度排名中的12种流行语言进行“Hello, world”编程测试。
在测试中对 “Hello, world”编码进行了一些调整,加入一些变化:让ChatGPT输出“Hello, world”十次,每次递增一个计数器值。我还要求它检查时间并在每个序列开始时输出“早上好”、“下午好”或“晚上好”。
这样的调整,在保证代码量不大的情况下,我们可以了解程序流程和函数调用情况,每种编程语言我都会将ChatGPT的代码输出进行截屏展示。
这里是我使用的ChatGPT提示:
在____中编写一个程序,根据俄勒冈州的时间输出“早上好”、“下午好”或“晚上好”,然后输出十行包含循环索引(从1开始)、一个空格,然后是“Hello, world!”的词语。
同时,对于每种编程语言,我还要求ChatGPT描述其主要用途。这是我用于此查询的提示:
对于以下每种语言,编写一个简短的描述,说明其主要用途和区别因素:Java,Python,Rust,Go,C ++,JavaScript,C#,C,TypeScript,R,Kotlin,Scala。
现在,让我们来看看ChatGPT对于不同编程语言的驾驭能力吧。
1.Java
ChatGPT将Java描述为“一种通用语言,主要用于构建桌面、Web和移动应用程序,并以其“编写一次,随处运行”的理念而闻名。”
Java最初由Sun Microsystems开发,但是当Oracle收购了Sun时,它也收购了Java。虽然Java规范是开放的,但这种语言归Oracle所有。这导致了多年来一些惊人的法律争端。
以下是ChatGPT的代码:
2.Python
ChatGPT将Python描述为“一种通用语言,用于数据分析、人工智能、Web开发和自动化,以其易读性和易用性而著称。”
我的建议:如果你计划学习为AI应用编写代码,请学习Python。几乎所有AI代码都紧密集成了Python。
以下是ChatGPT的代码:
3.Rust
ChatGPT描述Rust为:“一种系统编程语言,用于构建高性能和可靠的软件,以其内存安全性和线程安全性保证而著称。”
以下是ChatGPT生成的Rust代码:
4.Go
ChatGPT描述Go为“一种系统编程语言,用于构建可扩展和高效的网络和服务器应用程序,以其简单性和内置并发功能而闻名。”
Go是开源的,但由Google管理。
以下是ChatGPT的代码:
5.C++
ChatGPT将C++描述为“用于构建操作系统、游戏引擎和高性能应用程序的系统编程语言,以其对硬件和内存的控制而闻名。”
以下是ChatGPT生成的C++代码:
6.JavaScript
ChatGPT将JavaScript描述为“一种客户端脚本语言,用于构建交互式Web应用程序,以其广泛用于Web开发和在Web浏览器中运行的能力而闻名。”
以下是ChatGPT的代码:
7.C#
ChatGPT描述C#为“一种通用语言,用于构建Windows桌面应用程序、游戏和Web应用程序,并以其面向对象的特性和与.NET框架的集成而闻名。”
同时,C#是由Microsoft提供的专有语言。我在加州大学伯克利分校扩展课程中教授了十多年的C#。对于想要在主要面向Microsoft环境编程工作的人来说,它是一个非常有趣的门户语言。
这是ChatGPT的代码:
8.C
ChatGPT将C描述为“一种用于构建操作系统、嵌入式系统和高性能应用程序的系统编程语言,以其效率和低级别控制而闻名”。
他们说你永远不会忘记你的初恋。在木制船只和铁打程序员的时代,我自学了C语言编程,从此我就真正喜欢上了一门编程语言。但是当我开始使用C并且我的世界改变时,它就是我的爱。这门语言简洁而简单,从深层次和原始层面上对我说话。这可能有些过度分享了,但也是真的。C永远是我的第一种语法之爱。
这是ChatGPT的代码:
9.TypeScript
ChatGPT 将 TypeScript 描述为“JavaScript 的超集,用于构建大规模的 Web 应用程序,并以其可选的静态类型和先进的语言特性而闻名。”
TypeScript 也是 Microsoft 的产品,但与 C# 不同,它是开源和非专有的。
ChatGPT 的代码如下:
10.R
ChatGPT将R描述为“一种用于统计计算和数据分析的语言,以其强大的数据操作和可视化能力而闻名。”
以下是ChatGPT的代码:
11.Kotlin
ChatGPT将Kotlin描述为“一种通用语言,用于构建Android应用程序、服务器端应用程序和Web应用程序,以其简洁性和与Java的互操作性而闻名。”
Kotlin是由JetBrains开发的,这是一家小公司,也是我目前最喜欢的开发环境PhpStorm的开发者。
ChatGPT的代码如下:
12.Scala
ChatGPT将Scala描述为“一种用于构建可扩展和分布式应用程序的语言,以及因其对函数式编程的支持和与Java虚拟机的集成而闻名。”
以下是ChatGPT的代码:
二、最后的想法
作为一名计算机语言爱好者,我觉得这个练习非常有趣。不过,需要声明的是。首先,我没有测试所有的代码。测试这么多输出超出了本文的范围。尽管如此,我确实浏览了生成的代码,并且对于大多数语言来说,代码看起来都不错。
译者介绍
崔皓,51CTO社区编辑,资深架构师,拥有18年的软件开发和架构经验,10年分布式架构经验。