AI大模型辅助生成动态语言居然比静态语言更快更便宜!静态语言的开发者,往往都会调侃动态语言,关键的论点就是动态语言在大型项目的不可维护性,诚然动态语言在中小型项目,或者说原型开发阶段,有其优势所在。但是现在人工智能已经成为了辅助编程不可忽视的得力助手,那么静态语言的编写生成速度,也会快起来,那么是不是动态语言的可用场景就被压缩到更小?甚至没有意义了呢?最近,有一个Ruby语言的核心开发者,专门做了一个有趣的测试,利用一个名为Claude Code的编程模型,为了一个应用场景,分别编写不同编程语言的代码,对比其优劣。有意思的是这个Ruby语言的开发者会对静态语言和动态语言有偏颇吗?话说回来,被测试语言都被用来实现一个简化版Git工具,由于大模型的编程也不是一次就能成功的,需要反复试错和推演,设定了每种语言都有20次的运行测试。并且为了消除不同语言依赖库存在差异导致的干扰,该测试者还是在实验中采用了自定义的一种哈希算法,而不是标准的SHA-256算法。实验结果主要从速度和成本进行了分析,但是其中动态语言的消耗成本和生成速度居然位列前三,依次是Ruby、Python、Javascript。从第四名开始,运行成本开始显著提升,且结果的差距增大。在参与的静态语言中C语言的运行成本最高,这也归咎于其需要的代码行数最多,比Ruby生成的代码多出了一倍有余。当然,现在这些动态语言往往都有一些类型系统的方案,一旦开启这些,Python语言和Ruby语言的运行速度也会下降差不多2倍左右的执行速度。测试者提出,加入类型检测后,大模型在推导类型过程中,必然要消耗更多的token进行思考。最后,测试者也坦诚地表示,这个测试本身是有一定偏误的,毕竟围绕一个几百行可实现的项目而言,这类似一个原型的开发,而在更大规模的代码仓开发时,静态语言会展现出其独特的优势。这个测试只关注了代码生成的成本和速度,很多和编程相关的关键指标没有涉及,所以无论是哪种语言的开发者,大多数的态度都还是以娱乐的态度来看待。Q1:什么是动态编程语言?动态编程语言是一种在程序运行时执行类型检查和内存管理的编程语言,而不是编译阶段的时候。这类编程语言的代码规则十分灵活。Q2:什么是静态编程语言?静态编程语言是一种编程语言,其编写的代码中的每个变量的类型都在编译时就确定下来并进行检查。因此在程序还没有开始运行时,编译器就已经能够确保了内部传递的数据严格的符合规则的定义。用Arch Linux就得新!用Fedora Linux作开发的想法