用ChatGPT搞定12 种编程语言:看看它如何表现

news2024/9/24 1:14:17

众所周知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的代码:

二、最后的想法

作为一名计算机语言爱好者,我觉得这个练习非常有趣。不过,需要声明的是。首先,我没有测试所有的代码。测试这么多输出超出了本文的范围。尽管如此,我确实浏览了生成的代码,并且对于大多数语言来说,代码看起来都不错。

原文链接:https://www.zdnet.com/article/i-used-chatgpt-to-write-the-same-routine-in-12-top-programming-languages-heres-how-it-did/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端学习——Web API (Day6)

正则表达式 语法 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice…

SPEC CPU 2017 1.0.5 不同版本CentOS 7 8 安装笔记

CentOS 7.9.2009 x86_64 gcc版本 安装成功 runcpu编译报错 gcc版本太低&#xff0c;不识别-fno-tree-loop-vectorize 去掉config/gcc.cfg中 -fno-tree-loop-vectorize编译优化参数。 用例编译中 CentOS 8.3.2011 x86_64 gcc版本 安装失败&#xff0c;需要自行编译tools 手动…

#{} 和 ${} 的区别?

一、区别概述 1.1、主要区别&#xff1a; 1、#{} 是预编译处理&#xff0c;${} 是直接替换&#xff1b;2、${} 存在SQL注入的问题&#xff0c;而 #{} 不存在&#xff1b;Ps&#xff1a;这也是面试主要考察的部分~ 1.2、细节上&#xff1a; 1、${} 可以实现排序查询&#xff…

亚马逊云科技联合Nolibox定制工业设计AIGC解决方案

从机器学习算法到深度学习再到强化学习&#xff0c;AI创新浪潮奔流不息。而AIGC&#xff08;AI-generated Content&#xff0c;人工智能生成内容&#xff09;的到来&#xff0c;更是让AI成为众多企业的得力助手&#xff0c;开拓了文本、图像、音视频等领域的天花板。 在洞悉到…

企业云性能监控是一项关键的任务

企业云性能监控是一项关键的任务&#xff0c;它不仅可以保障企业云服务的稳定性和可靠性&#xff0c;还可以加强企业对云服务的掌控和管理&#xff0c;提供卓越的用户体验。 首先&#xff0c;企业云性能监控可以保障云服务的稳定和可靠。在云计算环境下&#xff0c;企业的核心业…

#1336 .「找树根和孩子」. [树的基本使用](内附封面)

【题目描述】 给定一棵树&#xff0c;输出树的根root&#xff0c;孩子最多的结点max以及他的孩子。 【输入】 第一行&#xff1a;n&#xff08;结点个数≤100&#xff09;&#xff0c;m&#xff08;边数≤200&#xff09;。 以下m行&#xff1a;每行两个结点x和y&#xff0…

Hyperledger Fabric测试网络运行官方Java链码[简约版]

文章目录 启动测试网络使用peer CLI测试链码调用链码 启动测试网络 cd fabric-samples/test-networknetwork.sh的脚本语法是&#xff1a;network.sh <mode> [flag] ./network.sh up./network.sh createChannel在java源码路径下 chmod 744 gradlew vim gradlew :set ffu…

PostgreSQL技术内幕(九)libpq通信协议

libpq通信协议是基于TCP/IP 协议的一套消息通信协议&#xff0c;它允许 psql、JDBC、PgAdmin等客户端程序传递查询给PostgreSQL后端服务器&#xff0c;并接收返回查询的结果。 在这次的直播中&#xff0c;我们为大家介绍了libpq通信协议的实现原理和执行机制&#xff0c;以下内…

发挥AMS、PMS和WMS在框架层服务作用,简化开发过程

Framework底层服务是Android操作系统提供的一组核心服务和功能&#xff0c;用于支持应用程序的开发和运行。这些底层服务提供了许多功能和特性&#xff0c;帮助开发者构建稳定、高效和功能丰富的Android应用程序。 Framework底层服务作用&#xff1a; 管理应用程序的生命周期…

小白到运维工程师自学之路 第五十一集 (三剑客之sed)

一、概述 sed是一个流式文本编辑器&#xff0c;可以对文本进行搜索、替换、删除等操作。它是一个非交 互式的命令行工具&#xff0c;通常用于处理大量的文本数据。sed的工作方式是逐行读取输入文 本&#xff0c;按照预定义的命令对每一行进行处理&#xff0c;并输出结果。它…

[Linux] 最基础简单的线程池 及其 单例模式的实现

本篇文章主要用到线程相关内容, 下面是博主关于线程相关内容的文章: [Linux] 线程同步分析&#xff1a;什么是条件变量&#xff1f;生产者消费者模型是什么&#xff1f;POSIX信号量怎么用&#xff1f;阻塞队列和环形队列模拟生产者消费者模型 [Linux] 线程互斥分析: 多线程的问…

Python接口自动化测试--requests高级进阶

Cookies与会话对象 如果某个响应中包含一些Cookie&#xff0c;你可以快速访问它们&#xff1a; import requests r requests.get(http://www.google.com.hk/) print(r.cookies[NID]) print(tuple(r.cookies)) 要想发送你的cookies到服务器&#xff0c;可以使用 cookies 参…

xShell中使用vim编辑时,无法粘贴外来文本

鼠标右键弹出菜单时&#xff0c;vim直接变成了视图模式了&#xff0c;不能粘贴了。。 好&#xff0c;执行命令 vim ~/.vimrc输入: set mousec即可。 此时便可以粘贴了。

「观察者(Observer)」设计模式 Swift实现

这里写目录标题 介绍设计模式介绍举例 iOS 中已有的 观察者设计模式实现Notification什么是通知机制或者说如何实现通知机制&#xff1f; KVOKVO底层实现如何实现手动KVO&#xff1f; 介绍 设计模式介绍 观察者设计模式&#xff08;Observer Pattern&#xff09;是一种行为型…

win10电脑出现网络问题时,如何解决?

我们的Windows可能会出现各种网络连接问题&#xff1a; 尝试连接Wi-Fi网络时出现错误&#xff1a;Windows无法连接到此网络&#xff1b;您可以通过Wifi访问互联网&#xff0c;但通过电缆访问以太网却无法正常工作&#xff1b;尝试通过电缆连接互联网时出现错误&#xff1a; Wi…

图数据库:neo4j学习笔记

参考资料&#xff1a;neo4j 教程_w3cschool Springboot集成Neo4j_喝醉的咕咕鸟的博客-CSDN博客 SpringBoot 整合 Neo4j_springboot neo4j_$懒小猿$的博客-CSDN博客 图数据库Neo4j实战&#xff08;全网最详细教程&#xff09;_neo4j使用教程_星川皆无恙的博客-CSDN博客 代码片段…

Flink DataStream之输出数据到File中

新建类 package test01;import org.apache.flink.api.common.serialization.SimpleStringEncoder; import org.apache.flink.configuration.Configuration; import org.apache.flink.configuration.MemorySize; import org.apache.flink.connector.file.sink.FileSink; import…

Model, ViewModel, EnvironmentObject 的使用

1. Model 数据模型的定义与使用 1.1 案例 struct UserModel: Identifiable{let id: String UUID().uuidStringlet dispalyName: Stringlet userName: Stringlet followerCount: Intlet isVerified: Bool }/// 数据模型 struct ModelBootcamp: View {State var users:[Use…

web 禁用 OPTIONS方法启用【原理扫描】

Web服务器上启用了HTTP OPTIONS方法。 OPTIONS方法提供了Web服务器支持的方法列表&#xff0c;它表示对有关由Request-URI标识的请求/响应链上可用的通信选项的信息的请求。 直接在IIS上进行关闭即可&#xff1a;

osg osgDB::readImageFile 返回空指针 解决中

在 osg功能开发中,需要用到 纹理 加载图片&#xff0c;最神奇的之前 好好的。 现在 把osg 编译成了 osg 342vs2013x86 环境 就出现幺蛾子了&#xff0c;之前是使用的 osg364vs2013x86。结果 命令行运行 加载图片 直接 有 warning 提示。还在处理中&#xff01; 提示 找不到文…