注册

普通人能否彻底告别代码学习?

小明:“嘿,AI,你说我还需要学编程吗?”


机器人:“理论上,当我达到‘终极智能’时,你可能就不需要了。但现在嘛,还是得学一点。”


小程:“那程序员呢?他们会被你取代吗?”


机器人:“哈哈,别担心!虽然我能帮你写代码,但现阶段我更像是个助手,而不是替代者。”


普通人能否彻底告别代码学习,直接使用AI编程?


就这个问题我们先来看看几位大佬们的观点:


百度-李彦宏


2024《对话·开年说》系列中,百度公司创始人、董事长李彦宏在节目中表示“以后不会存在程序员这种职业了”



360-周鸿祎


在《对话》现场,360创始人兼董事长周鸿祎对李彦宏的观点提出反对意见“我不同意这个观点”。



英伟达-黄仁勋


黄仁勋认为,即便是在人工智能(AI)革命刚刚起步的今天,编程已不再是一项关键技能。



可以看到大佬们对AI与编程的影响这个问题的回答,虽然有差异,但我们不难看出AI在影响着编程这个职业或者行业。或许随着技术的发展与成熟,最终AI可以完全的代替人类。当然这个时间可能是一万年或许会更长或者更短。



之前也有读过阮一峰大佬《未来世界的幸存者》, 2018年7月发表的“技术的边界”中有写到:


“人工智能领域有一个概念,叫做“终极智能”。意思是,当机器的智能达到这种程度时,就不需要人类再做发明创造了,因为机器自己就会发明创造。”


我们来看看现阶段AI能给我们编程带来些什么?


一、专业性AI编程插件的能力


自从GPT带动全球AI热潮,AI席卷着各行各业。而在编程界也发生了巨大的变化,最出名的莫过于OpenAI与GitHub联合开发的Github Copilot。Github Copilot带动了一大堆AI编程工具的出现。


当然除了Github Copilot之外还有很多优秀的AI编程插件,我们来具体看一看:



p.s.以上的下载量与评分均只是plugins.jetbrains的marketplace数据,发布的时长也不相同,数据仅供参考。


基本AI编程工具的功能都差不多:



  • 代码补全:根据当前代码上下文自动补全代码。
  • 根据注释生成代码:根据注释描述生成相应的代码。
  • 方法和函数生成:根据方法名或函数名自动生成该方法或函数的代码。
  • 生成测试代码:生成测试代码。
  • ....

这里选择豆包MarsCode来展示AI编程插件的功能:



MarsCode 是豆包旗下的智能编程助手,提供以智能代码补全为代表的核心能力,支持主流编程语言及 IDE,能在编码过程中提供单行或整个函数的建议,同时支持在用户编码过程中提供代码解释、单测生成、问题修复、技术问答等辅助功能,提升编码效率与质量。


安装方式


JetBrains与 Visual Studio Code都可以安装,比如下面就是Visual Studio Code中编程助手的安装,在市场搜索后进行安装。



安装好后就可以看到AI功能界面



主要功能



  • 行级/函数级实时补全、注释生成代码

在编码过程中提供单行或多行的代码推荐,并支持通过注释生成代码片段,提升代码编写速度。



我只写了注释,回车后代码就自动会生成



  • 代码解释

精确解释项目代码,帮助开发人员快速熟悉项目。



生成代码注释




  • 单元测试生成

为选中函数生成单测,提升单测覆盖率,提升代码质量。




  • 智能修复

一键修改代码bug,提升代码修复效率。


当运行程序出现bug后,“AI Fix”图标会自动出现,点击后会可以通过AI生成相应的解决方案,解决方案里也会有相应的按钮半自动化的处理,非常的方便。




  • AI 智能问答

针对研发领域定向优化问答质量,提供更精准的问答结果。



1 通用性AI产品的编程能力


目前市面上能实现编程的AI产品非常多,基本上AI产品都会带编程的能力,比如chatgpt、文心一言、通义千问、豆包等


下面我们用chatgpt4o与kimi的对比,来了解通用性AI产品的编程能力


2 生成手机正则代码



  • KIMI

这里是KIMI生成的代码,



把代码贴到IDE中是可以直接执行的




  • chatgpt4o

和KIMI类似生成相应的正则代码,不过chatgpt默认会生成不同国家的手机号格式的正则



当然这只是比较简单的正则表达式。不过这种情况下就不需要我们去学习复杂的正则表达试的语法了,直接拿过来用就可以了。


再如core表达式也是类似的,比如:每周一晚上10执行一次的core表达式


就需要我们专门去学习core表达式的语法了



3 不同语言代码转换


我们现在让AI把上面的python代码转换成javascript代码



  • KIMI



  • chatgpt


这次两者是完全相同的,在IDE里也是可以执行的



4 生成PDF电子签名


让AI生成PDF电子签名的代码



  • kimi

给chatgpt以下需求:请写出itextpdf5实现pdf电子签名的代码


生成的代码直接放到IDE里还是不能直接使用的



可以看到是缺少import,kimi生成的代码中import并不完整,先把缺少的import先引入



引入后还是有多处错误


1)函数参数类型不正确


2)变量没定义


3)无对象枚举



  • chatgpt

给chatgpt相同的需求



把生成后的代码拷贝到IDE中,可以看到依赖已经下载好了,程序还是会报错



发现是import引用缺失,增加相应的import。


然后还是会发现PdfSignatureAppearance是没有WINCER_SIGNED枚举。一般来说就是引用的版本不对,说明itext生成的代码依赖与代码是不对称的。



虽然chatgpt4o生成的效果好一点,但还是不能直接使用。但大体上还是能知道实现PDF电子签名的技术实现,微调后还是可以使用。还是得完全懂代码的人才能正直使用起来。


总结


AI辅助编程给我们带来了一次变革,但目前或者很长一段时间内它的作用还是辅助的。并没有达到能代替程序员的能力。


像生成代码、代码注释、单元测试、bug自动修复等功能对编程的助力是非常大的。


我是栈江湖,如果你喜欢此文章,不要忘记点赞+关注


作者:栈江湖
来源:juejin.cn/post/7452197545588146214

0 个评论

要回复文章请先登录注册