AI编程现在很强大,它能帮你写一些完整demo的代码,拿来直接能够运行,节省很多时间,减少你去查找你笨拙的代码库的次数。例如让AI编程写一个判断字符串两端是否是空白的JavaScript函数:
function isBlank(str) {
return /^\s*|\s*$/.test(str);
}
它写得很好。然而调用者也需要读懂这个函数,知道它的局限在哪,后续调用才能保障正确,避免bug。
对这个例子来说,如果整个字符串都是空格 或者字符串是空,结果都会返回true,为什么?因为这个正则是贪婪匹配模式,正则式的前半部分完全匹配了整个字符串,后边部分得不到参与匹配的机会。
然而AI编程导致程序员失业吗?我想还不会,我的使用体验是,AI编程最大的作用是辅助编程。我认为AI编程系统最大的客户可能是程序员,用来协助编程,减少手动编码量,提高效率。
那么企业老板会因此减少雇佣程序员的数量吗?不会。程序员岗位是一个长流水线繁杂的工作,编码只是其中一个环节,其他还有测试、部署、运行等。你不能用一个只能完成某个流水线上一个动作的机器人来取代整个流水线个人吧?除非现实是,有纯编码的程序员岗位。
此外,AI编程只是针对比较简单的常见功能需求,特别是CURD,你可以让它写一个tree控件看看,距离真正的应用如jstree、ztree、ytree知识树还有差距。