扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
大约是一两年前,在和朋友讨论的时候,曾经指出过这样一种趋势:
在大型系统的解决方案中,由于完全使用C/C++这样的底层语言,存在着开发效率低的问题,因此存在两种解决问题的方式:一是底层语言+脚本,例如用C/C++写底层库,用Perl/Python/Ruby作为glue;二是用Java/C#这样的中间语言来解决所有问题,先用它写好context,再把它当脚本语言用,通过IoC的方式完成相应工作。
当时我的观点是,后一种方式似乎正在成为主流。典型的例证是,Oracle/SQL Server一直使用SQL*/SQL Plus这样的方言来编写Store Procedure/Trigger这样的对象,但近来它们纷纷支持Java/.NET来完成这项工作。好处至少有:一,开发者不需要多学习一门语言;二,中间语言的功能比脚本更强大;三,运行效率更高。也许有一天,我们将在Unix下使用Java而不是Perl来写脚本,只要提供了足够好的context。
现在一看,完全不是那么一回事。脚本语言不但没有衰落的趋势,而且越来越壮大。LAMP如日中天,甚至开始对Java形成威胁;Python越来越成为重要的工业语言;Ruby On Rails也轰动一时。
另一个有意思的现象是,游戏开发,这个最能体现超复杂型系统的领域内,脚本语言的地位得到了空前的提高:WOW的一大部分代码就是由LUA编写的,Civilization 4的MOD完全由Python编写,而且由于向玩家开放了SDK,使用这个游戏的开放度空前未有地高。另外,据说Age of Empires也用Python写了很大一部分代码。
当然,现在就说脚本语言已经取得决定性的胜利,未免言之过早。但有一点是确定的,就是我已经决定学习Python了。
查看本文来源
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者