在近日的华为开发者大会上,华为正式宣布推出自主编程语言仓颉。这门语言支持函数式、命令式和面向对象编程,具备自动内存管理功能、静态类型、面向应用开发等特点。语言设计初衷之一在于解决现代软件开发的复杂性,提升开发效率。
与其他主流编程语言不同,仓颉编译器及运行时经过优化,在性能上取得明显优势。仓颉语言还提供一系列面向应用开发的工具链,如图像界面设计器、自动机器学习等。这意味着开发者可以通过仓颉语言直接开发AI应用,而非使用其他专门的AI编程语言或工具。
仓颉语言的应用前景
仓颉语言的定位和特性使其在面向全场景应用开发方面具备竞争力。仓颉语言在面向原生智能化应用开发方面有望成为领先者,这也是其与其他编程语言的区别之一。那么仓颉语言是如何通过智能化进行升级的呢?
原生智能化,即仓颉智能化能力,是仓颉区别于其他编程语言的重要特性之一。它不仅能够实现编程语言自身的智能化,还能够通过编程语言实现人工智能应用的快速开发。这也是仓颉语言在人工智能应用开发中具备优势的根本原因。
仓颉造汉字,华为造仓颉
华为补齐鸿蒙生态最后一环华为自研仓颉编程语言首次对外亮相在华为开发者大会2024上,华为将发布自研仓颉编程语言,这也是仓颉首次正式对外亮相。
在全国产化+华为+鸿蒙的强力带动下,仓颉必然能够短期内跻身国际主流的编程语言。
1、2019年8月31日,华为在开源平台上放出了方舟编译器的源代码,这是华为首个完全自主研发的编译器平台,也是外界第一次看到华为在编程语言和编译器上对外的信息发布;
2、2020年,华为申请注册了“华为仓颉”、“仓颉语言”等商标;
3、2021年10月,华为开发者大会上,公司透露了将发布自研编程语言的消息;
4、2022年3月,华为编程语言实验室发布了“新语言试用报名-202203”问卷,征集开发者参与小范围的内测;
5、2024年4月23日,OpenHarmony社区公布了仓颉调用ffi层接口的功能,表明仓颉语言正式纳入鸿蒙体系;
6、2024年6月17日,华为2012实验室旗下的编程语言实验室官方公众号“编程语言Lab”,更名为“仓颉编程语言”,标志着仓颉即将正式推出。
人类语言vs.编程语言
编程语言是为了让人类操作机器,那么如今AI时代,机器人ChatGPT可以直接和自己对话如何?这当然效率更高,LLM大模型会发明适合自己的高效语言。
亚里士多德说:人类语言三个用处:道德、情感和逻辑。
前两种可以看成是人类交流,逻辑是思想的体现。
人类语言是交流工具还是思想体现呢?
自维特根斯坦的语言转向以来,人们更倾向于语言是逻辑表现,但是最近一篇自然论文:语言主要是一种交流工具,而不是思维工具。其实这不矛盾,人类可以有自己的思想,不用语言表达,但是如果能语言表达,将有逻辑、情感和道德三个方面的约束,那么存在这样约束的语言才是思想,否则可能是胡思乱想,与做梦类似,因此,好的语言需要交流对话才能催生思想。
说了这么多,主要是提醒一下:中国普通话语言是适合逻辑?还是更适合表达情感?道德说服力?还是三者兼具?
英语是更适合逻辑的,因此编程语言使用英语之类字母则更严谨,对英语本身也有促进发展,希望我们通过用汉语作为编程语言,能够促进汉语的更逻辑化、更严谨化。
当然,现在我们通过与ChatGPT不断对话,会纠正细化我们语言的逻辑部分,通过不同各种人类语言让LLM大模型为你生成各种代码,你需要做的就是去验证。
首个AI程序员已经出现
6月21日,阿里云宣布推出首个“AI程序员”,具备架构师、开发工程师、测试工程师等多种岗位技能。
该AI程序员是基于通义大模型构建的多智能体系统,能够覆盖任务分解、编码、测试等不同板块,与此前的通义灵码有所不同。
当阿里云带着首个“AI程序员”强势登场后,程序员们是真的坐不住了。
AI程序员的诞生,体现了人工智能技术在软件开发领域的强大实力。这位"智能之士"并非一个单一的AI系统,而是由多个专门的智能体组成的协作团队。每个智能体都负责需求分析、代码编写、调试等不同的开发环节,通过高效的分工协作,完成了从零到一的软件应用开发。仅用10分钟,AI程序员就能完成一个奥运赛事日程应用的开发,这对于传统软件开发流程而言无疑是一次天翻地覆的变革。
与以往基于代码补全的"Copilot"不同,AI程序员真正实现了自主编码。它不仅能准确理解需求,还能根据需求自动拆解任务,选择合适的算法和技术方案,生成符合需求的代码,并进行自我调试和修改。这种端到端的自动化开发能力,大大提高了软件开发的效率和质量。
究其原因,AI程序员的出现得益于基础人工智能技术的持续突破。其核心依托于阿里云最新推出的"通义大模型",这是一种基于大规模语料训练的通用人工智能模型,具备对各种任务进行自主理解和处理的能力。在此基础之上,阿里云研发团队通过构建多智能体协作架构,赋予AI程序员强大的软件开发技能,使其能够完成从需求分析到代码编写的全链条工作。
值得注意的是,AI程序员的出现并非意味着人类程序员将被取代。相反,它为软件开发带来了全新的合作模式——"人机协同"。人类程序员将不再局限于繁琐的编码和调试任务,而是可以将更多精力集中于创意思考和需求分析等更有价值的环节。
"让人类程序员成为超级个体"正是阿里云对AI程序员未来发展的设想。通过人机协作,人类开发者可以借助AI程序员强大的执行能力,提升自身的工作效率和产出质量。阿里云的数据显示,通义灵码这款基于大模型的AI编程助手已经在阿里内部帮助开发者实现了10%-15%的综合人效提升。而AI程序员的出现,必将进一步放大这种效能提升。
当然,AI程序员的发展道路并非一帆风顺。目前,它在编程技能方面仍有一定局限性,主要体现在对全局代码的理解及工程化实施效率等方面。阿里云表示,未来还需要在基础模型能力、算法优化等方面进行持续创新,才能够最终实现真正意义上的"自主编码"。