AI编程火了以后,程序员圈子里出现一种声音,未来10年,编程语言可能都要消失,AI直接生成机器能执行的代码,人类连源代码都不用看了。
话虽然有些夸张,却也引出了一个关于编程语言的争议。
既然Rust安全、性能强,还特别适合AI编程,为什么腾讯这样的互联网巨头,依然大量使用Go和C++?
难道腾讯的技术选型跟不上潮流?事情恐怕没那么简单。
AI编程这么火,为什么TS和Rust被频繁提起?
如果问10个关注AI编程的开发者,最近什么语言最值得学,TypeScript和Rust大概率会被反复提到。
TypeScript简称TS,可以理解成给JavaScript加了一套类型检查。AI写代码容易出现变量用错、参数传错的问题,TS能提前发现一部分错误。
而且网页、管理后台、AI应用界面大量使用JavaScript生态,AI生成代码后,很容易直接运行、修改和展示效果。
Rust的优势又有所不同。
它最出名的就是内存安全。传统C语言开发时,程序员稍有疏忽,就可能出现内存越界、非法访问等问题,严重时甚至造成安全漏洞。
Rust通过所有权、借用检查等机制,在编译阶段拦住大量此类错误。
有人因此认为,Rust特别适合AI编程。AI写出来的代码,只要通过编译器检查,至少能排除不少底层安全问题。
问题来了,既然Rust这么受重视,腾讯为什么没有全面转向它而是GO?
得从谷歌的一段往事说起!
2007年,谷歌的工程师遇到一件头疼事。
一个大型C++项目,光编译就可能耗费几十分钟。程序规模庞大,代码复杂,团队维护起来相当费劲。
于是,Rob Pike、Ken Thompson等人开始设计Go语言,目标很明确,让大型互联网公司的后台开发简单一些。
Go支持并发处理,编译快,语法相对简单,还能自动管理内存。
连错误处理都很朴素,常见的if err != nil,就是让程序员明确检查操作有没有出错。谷歌官方也解释过,Go没有采用传统异常处理机制,是为了控制代码复杂度。
再看腾讯,情况就容易理解了。
腾讯长期拥有大量C++后台服务,微信、游戏等都需要处理海量网络请求。
Go恰好适合其中不少后台服务场景,开发效率、团队协作、长期维护都有优势。
还补充一点就是腾讯主要做互联网应用和后台服务,并不以开发Linux这类通用操作系统内核为主营业务。
Rust擅长解决底层内存安全问题,Go则特别适合网络服务开发。两者各有用武之地。
连Linux内核都依旧以C语言为主,只是在部分领域引入Rust。
争论到这里,问题又来了。
普通人开发软件,真的需要纠结Rust、Go和C++吗?
AI已经能帮个人快速做出网页、工具和简单应用。可到了企业,麻烦才刚开始。
一套管理系统要长期运行,涉及人员权限、业务流程、数据对接,业务规则调整后还得有人维护。
所以,无代码结合AI,也成为企业数字化的一条可行路径。
例如个人可以用Eversheet免费版本搭建应用,中大型企业的内部员工也能通过零代码、类似Excel可视化方式开发管理软件,无需掌握专业编程语言。
中铁十六局的项目经理基于Eversheet不到3个月独立搭建了数据集成系统,项目还获得创新成就奖。
如今,AI Agent接入进来还可以协助整理需求、设计流程,它则负责承载业务数据、权限和系统运行。
总结
腾讯选择Go,背后都有各自的工程需求。
对于个人,有想法就值得动手,AI已经降低了开发门槛。
对于企业,语言流行几年并不重要,员工能不能用、业务能不能跑、系统能不能长期维护,才决定一套软件的价值。
技术圈争了几十年哪种语言最强,可企业最终要面对的,始终是人和业务。
你觉得未来AI会让编程语言逐渐失去存在感吗?
对此,您怎么看?非常欢迎您在评论区补充观点或者干货。
文 | Meng