根据我们各自的视角及对具体问题的切身感受,编程世界的发展到底是过快还是过慢在不同人的眼中会有不同的结论。但无论大家的关注重心是Cobol应用还是Node.js破解,有一项事实没人能够否认,即:程序员必须始终紧跟不断发展变化着的编程技术趋势,否则就无法保持自己在这一活跃领域中的竞争力。 从随处可见的JavaScript到无所不包的JVM,时代与主流工具始终处于变化之中。程序员们的工作方式同样如此,多亏了框架与相关规范的出现,目前的发展方向开始摆脱一味追求开放性的误区。对于带宽、能耗以及可扩展性的关注使更多人开始从编程层面寻求解决方案,例如并行计算及显卡。这一切的一切都在我们身边迅猛发生,使得很多人对变化产生了恐惧感,甚至希望可以回到学校重新进修——只要那些传统的教学内容还能帮得上忙。 每隔一段时间,我们就要对进行编程工作所需要的方法及手段加以更新或是全盘替换,这有点像使用新的操作系统或是函数库。在本文中,我们将与大家分析十一大近来正在如火如荼发展着的技术趋势,借以共同把握编程领域的未来走向。 编程发展趋势第一位: JVM不再只为Java服务 在很久很久以前,Sun公司打造了Java并为全世界贡献了虚拟机这一宝贵财富。在微软推出C#语言的时候,人们意识到虚拟机本身在功能上并不局限于某一种语言。任何能够被转化为字节代码的内容都能在虚拟机上发挥应有的作用。 现在,似乎每个人都在为实现这一目的而着手构建自己的语言。将构建虚拟机方面的工作完全交给Sun/甲骨文公司,而将自己的主要精力放在语法与结构的种种细节上,这已经成为当下极为常见的开发态势。 因此,依附于JVM的语言正在不断增多。Ruby爱好者们乐于谈论JRuby在繁重负载下的良好工作状态。Scala与Cloture则可以让开发者们编写出的代码能够在同一套JVM中实现比Java更多的功能性及更快的运行速度。 甚至连Java的拥趸们也开始尝试使用JVM却抛开Java的做法。比如说Groovy,这是一款集合了JVM及Java API的脚本语言。利用Groovy进行缩略并同时采用Grails,大家就能够以类似Rails的编码规则进行工作。需要调用Java函数库?闹太套。Groovy自身的无缝工作设计让我们完全能够在不用大括号的前提下实现Java的全部功能性与稳定性。总之,有了它,妈妈再也不用担心我的编程。 编程发展趋势第二位: JavaScript 不再只为JavaScript JVM并不是惟一一款向各类语言敞开大门的跨平台解决方案。JavaScript,这款过去常常被咱们的小妹妹用来为她的交友网站添加提示框的语言,现在也不再只局限于JavaScript编码的苑囿。比起目前各类繁多的精巧语言交叉编译器,JVM上的种种JavaScript实时引擎更是百花齐放。 以谷歌Web工具包来例。我们大可以像上个世纪九十年代在Swing框架上那样编写Java代码,只要通过GWT编译器的转换,结果就可以顺利运行于拥有JavaScript的台式机、智能手机或者平板设备的浏览器中。至于客户端上是否具备Java小程序插件或者JVM则完全不重要,因为浏览器中的JavaScript已经足以提供必要的支持功能。 CoffeeScript是这一领域中的后起之秀,这款缩略语言通过帮助讨厌输入各类标点符号的脚本语言用户自动插入必要符号将目标代码转换为JavaScript可识别的格式。这个主意可谓深得人心,因此现下已经出现了像Coco、Parsec-Coffee-Script以及Contracts-Coffee-Script等一系列衍生产品,其中每一款都拥有各具特色的精巧元编程结构,旨在允许用户更便捷地转换代码。 有些衍生产品太过成功,以至于它们自身几乎也成为另一种全新的语言。想象一下,众多Web开发者们只需利用jQuery敲出可用的代码,而完全不必理会什么JavaScript语言的系统知识,这一切是多么美好啊。 如果大家认为上述事例还不足以说明问题,不妨点击这个链接。这里有包括Ruby、Python、Lisp、Scheme、Haskell以及OCaml等几乎各种语言向JavaScript转换的范例。 |