当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > ChatGPT强悍的编程能力,让我吓出一身冷汗!

ChatGPT强悍的编程能力,让我吓出一身冷汗!

来源:51CTO.COM 2023-04-17 15:33:57 0浏览 收藏

大家好,我们又见面了啊~本文《ChatGPT强悍的编程能力,让我吓出一身冷汗!》的内容中将会涉及到等等。如果你正在学习科技周边相关知识,欢迎关注我,以后会给大家带来更多科技周边相关文章,希望我们能一起进步!下面就开始本文的正式内容~

最近有好几个人给我安利ChatGPT,说老刘快你去看看吧,这货实在太强了,搞不好我们程序员都失业了。

刚开始我都是微微一笑,怎么可能?我之前的观点一直都是在我的有生之年,AI绝对不可能干掉程序员。

但是安利的人实在是太多了,我忍不住要去注册个账号去看一下。

没想到这货竟然没对中国开放,网上有些攻略,我嫌麻烦,赶紧呼叫在国外的好兄弟,请他帮忙注册一个账号。 

尝试开始,我决定跳过那些简单的问答,例如:

如何反转一个字符串?

如何发起一个HTTP调用?

因为这种东西对于阅码无数的AI来说太小儿科了,根本测试不出来它的本事有多大。

程序员的一个核心能力就是拿到需求,能作出优雅的设计,咱们就拿这一点考考它。

先问一个简单的问题:

图片

(点击看大图)

不出所料,它“背诵”得非常好!

它说的最后一个原则是:尽量使用合成/聚合的方式,而不是继承来达到复用目的。 这确实是面向对象一个重要的设计原则。

ChatGPT能运用这样的原则吗?

先问问它会不会做设计:

图片

说得真不错,咱们开始放大招,我手头正好有一个经典案例:薪水支付,这是从经典书《敏捷软件开发:原则,模式和实践》中提取出来的。 

这个案例的需求是这样的:

该系统由一个公司数据库以及和员工相关的数据组成,系统需要准时地按照规则给员工支付薪水

员工有三种类型

1.钟点工,每个小时有固定报酬,他们每天提交工作时间卡,其中记录了日期以及工作小时数,如果每天工作超过8小时,按1.5倍进行支付。每周五对他们进行支付。

2.月薪员工,工资固定,每个月的最后一个工作日对他们进行支付

3.销售人员,有固定工资,但会根据他们的销售情况,支付给他们一定数量的佣金,他们会提交销售凭条,其中记录了销售的日期和数量。每隔一周的周五对他们进行支付。

员工可以选择支付方式,可以把支票邮寄到他们指定的邮政地址,也可以保存在财务那里随时支取,或者要求直接存入他们指定的银行账户。

看了这个需求以后,一般的设计是这样的:

图片

Employee 作为基类,不同类型的雇员类来继承。

但是这个需求会有变更,客户要求员工类型可以变更,例如从钟点工变成月薪雇员,这样上面的设计就不行了。

这个时候应该做个抽象,,用一个类PaymentClassification来表达支付分类,然后让Employee类持有这个实例,简单说就是组合代替继承。

图片

这相当于是个陷阱了,我们程序员能识别,抽象,这个ChatGPT可以吗? 我还真有点好奇。

先问最初的需求,ChatGPT的回答是这样的:

图片

(点击看大图)

你别说,还真是不错,它“理解”了需求,从中抽取出了名词进行类的设计,并且设计好了类的继承关系。

已经达到了面向对象设计的初级水平。

接下来是重点,给他挖坑:

图片

图片

图片

非常惊艳,这货竟然学会了抽象!

虽然它抽象出的类型叫EmployeeType,不如PaymentClassification那么精确,但是大方向是一致的:用EmployeeType来管理支付规则,员工类型发生变化时,Employee类不需要变化。

说实话,我看到它给出这个结果,内心是很吃惊的,可以说,能超越相当多的程序员了。

接下来我又问它关于支付周期怎么处理:

图片

这一次它的抽象更加厉害,直接给出了精确的名称:PaymentSchedule,还有相关的伪代码!

图片

它还特别提到了,当需要修改支付周期时,只需要更改PaymentSchedule即可,不用修改原有的员工类,组合优于继承,再次体现出来

这和书中的例子几乎一样了:

图片

继续问支付方法的处理方式:

图片

不出所料,它的设计依然很棒:

图片

实际上,ChatGPT的设计,已经非常接近书中的最终方案了:

图片

尝试到这里,心里有一丝失落和不甘,这个ChatGPT实在是太强悍了,展示出来很强的设计能力,并且对话过程非常流畅

人工智能真的能理解需求,学会了抽象,能设计出漂亮的类结构了吗?程序员的核心能力被替代,程序员的危机真的来了?

我又问了它一个问题,让它把类图画一下:

图片

图片

图片

等等,这里的类名怎么和之前的不一样了,怎么出现了一个新的概念:工会成员? 我在这次对话中,可是从来没有告诉过它这个概念啊!它从哪里知道的?

最大的可能是,这货并没有理解我告诉它的需求,它之前应该学过这个案例,依然是在“背诵”它学习的东西,自作主张把工会成员也给我弄出来了,从而露出了马脚。 

我关掉了ChatGPT网站,再次登录,重新用同样的内容和它交互,这次的结果彻底地把它暴露了。

图片

图片

看到没有,这次它根本没有抽象出PaymentClassification/EmployeeType,它竟然推荐了面向过程的思路,添加一个type的属性,用switch来解决问题。这比之前的方案要差太多了。

最后聊一下感受吧!ChatGPT确实很厉害,应该是学习了海量的数据,肚子里货很多,但是它依然没有真正的理解需求,它告诉我们的答案就是在现有知识中做提炼和整合。

如果抛给它一个完全全新的领域问题,估计它会懵的,大家可以拿实际业务问题来玩一下。

所以,ChatGPT是一个好帮手,但是你要想完全依赖它,可要掂量掂量了,它告诉你的可能是优雅的代码,也可能是垃圾代码。

今天关于《ChatGPT强悍的编程能力,让我吓出一身冷汗!》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
如何在 Windows 11 中自动启用或禁用设置时区如何在 Windows 11 中自动启用或禁用设置时区
上一篇
如何在 Windows 11 中自动启用或禁用设置时区
Apple Watch 通过 watchGPT 应用程序获得 OpenAI 流行的聊天机器人
下一篇
Apple Watch 通过 watchGPT 应用程序获得 OpenAI 流行的聊天机器人
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 茅茅虫AIGC检测:精准识别AI生成内容,保障学术诚信
    茅茅虫AIGC检测
    茅茅虫AIGC检测,湖南茅茅虫科技有限公司倾力打造,运用NLP技术精准识别AI生成文本,提供论文、专著等学术文本的AIGC检测服务。支持多种格式,生成可视化报告,保障您的学术诚信和内容质量。
    136次使用
  • 赛林匹克平台:科技赛事聚合,赋能AI、算力、量子计算创新
    赛林匹克平台(Challympics)
    探索赛林匹克平台Challympics,一个聚焦人工智能、算力算法、量子计算等前沿技术的赛事聚合平台。连接产学研用,助力科技创新与产业升级。
    154次使用
  • SEO  笔格AIPPT:AI智能PPT制作,免费生成,高效演示
    笔格AIPPT
    SEO 笔格AIPPT是135编辑器推出的AI智能PPT制作平台,依托DeepSeek大模型,实现智能大纲生成、一键PPT生成、AI文字优化、图像生成等功能。免费试用,提升PPT制作效率,适用于商务演示、教育培训等多种场景。
    150次使用
  • 稿定PPT:在线AI演示设计,高效PPT制作工具
    稿定PPT
    告别PPT制作难题!稿定PPT提供海量模板、AI智能生成、在线协作,助您轻松制作专业演示文稿。职场办公、教育学习、企业服务全覆盖,降本增效,释放创意!
    135次使用
  • Suno苏诺中文版:AI音乐创作平台,人人都是音乐家
    Suno苏诺中文版
    探索Suno苏诺中文版,一款颠覆传统音乐创作的AI平台。无需专业技能,轻松创作个性化音乐。智能词曲生成、风格迁移、海量音效,释放您的音乐灵感!
    156次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码