Lynn Greiner的文章《脚本世界现状》遭到痛批一些人对文章明显的疏漏表示出了不满因为文章只涵盖了PHP PerlPythonRubyTcl和JavaScriptLynn只选择这些语言因为那她是为三年前的一篇文章做的后续报道此外大多数IT经理即使没有亲自编写过代码也都至少熟悉其中一种脚本语言 然而尽管我们已经深入了解上述五种语言但是开发人员使用语言的却不仅限于这五种由于每种编程语言都是适合于解决某个具体问题的工具因此每个IT公司都能挑选一个最适合自己的语言在本文中我们会分享一些新兴的脚本语言以提供些指导 Scala Scala对开发人员而言是别具吸引力的按照其网站所说Scala既是对象面向型又是实用型的它混合了一些现代语言功能同时与Java保持着密切的兼容性 Object Mentor的高级顾问Wampler说Scala是我见到的最好的一体适用的语言Scala弥补了Java的不足比方Java为对象面向型编程提供的支持冗繁而有限此外Scala支持功能性编程——在学术计算机科学界已存在很长一段时间的一种方法但现在被证明用来编写强效并行软件非常有用并行技术对在大型网站和企业扩展软件十分重要 Trampoline Systems开发人员David Ritchie Maclver认为Scala的主要好处是能避开Java他说就图书库的支持性能和易于部署而言我可以匹配Java许多Java工具也推到Scala他认为他的公司正为可视化软件的软件采用Scala随着这一更新将减少Java和Ruby的使用 但是Maclver并不推崇Scala的一切他说为了发挥并行优势人们会推动Scala的发展但请不要受制于这种诱惑因为它不能取代Java Groovy 另一种语言就是Groovy根据其网站所称Groovy是为Java虚拟机(JVM)而设计的一种灵活而动态的语言集Java之长但受Python Ruby和Smalltalk的启发具备额外的功能和特点 Groovy令人信服之处在哪里呢?首先提出这一问题的开源新闻平台批评家说我感到惊讶的是Groovy没有出现在任何地方如果有一个动态语言能平衡企业的拥堵那它就是Groovy它能汇编进Java字节码并直接利用庞大的Java库却省去了繁琐的Java句法几年的时间后Python和Ruby被Groovy取代将不会使我感到惊讶 Groovy让Java开发的指令有效表达同时又与Java代码保持相互兼容性 Closure 您的公司可能会采用最新的硬件但您的软件可以充分利用其多线程功能吗?您可能想看看Clojure它是一个以虚拟机为目标的动态编程语言其网站上解释说 Clojure被设计成一个通用语言它是将高效和强劲的基础设施同脚本语言的可接近性和互动发展相结合的多线程编程 Clojure是一种直接编辑JVM字节码的语言却保存了完整的动态特点每个由Clojure支持功能在运行时也获得支持 Clojure提供对Java框架的轻松访问通过可选类型提示和类型推断确保调用的Java可避免映射 小?强大?Java?这三个能并存吗? Clojure是一种体积小功能强大的语言它在虚拟机上编辑并运行因此不需要新的基础设施此外它也可以让您以更少的代码处理更多事情这对发展进程和维护都是好事特别有益于在缺乏像Java那样足够多的程序员开销时利用多核硬件 现在软件开发中最紧迫的问题在于如何更好地利用多核CPU 以提高性能和降低能源成本就方便与安全性而言Clojure用于并行要比其他任何语言都要优越它继承的Lisp极大地提高程序员的生产方式随着时间的增长它能实现简单的DSL创建以便商家验证程序的正确性它能在模拟机上运行并能顺利与数百万行遗留的Java代码融合还仅是其表面现象 Lua 正式点说Lua是一个强大快速轻量可嵌入的脚本语言Lua结合了简单的程序句法并具备强大的基于关联数组和可扩展的语义的数据描述Lua是动态型的它的运行通过为基于寄存器的虚拟机解释字节码来实现通过增量垃圾收集自动管理内存非常适合配置撰写脚本和快速原型 通俗点说这只是一个非常小的语言工具用它办事很快 开发人员RalphHempel将Lua描述为编程语言中最棒的小秘密他还说虽然它没有一个正式认可的库分配机制但却有大量的标准库供文件系统访问网络连接数据库访问等等对我来说该系统最好的部分是坚如磐石的语言核心和考虑周密的升级和补丁Lua的发布由从一开始就参与该语言的Three Amigos控制Hempel已向LEGO Mindstorms NXT移植Lua Lua的优势在于它的快速敏捷式开发超过了传统的语言它给你所需要的积木您可以以任何方式建立你想要的任何东西惊人的小和快是Lua特点就技术层面而言它是杰作 F# NET开发社区并非没有一套脚本语言增强功能其中最突出的是F#它起先作为微软的编程语言研究集安全简洁性能表达和脚本于一身能高品质运行支持现代运行系统现在微软把F#转变成NET平台上的充分支援语言 F#促进编程的功能性不可改变类型而这适合并行和分布式程序的编写此外它支持编程的陈述风格陈述风格可以让你区分为解决问题开发一些智能库的高级程序员和使用它来解决日常问题的初级程序员 许多编程语言可以很容易地写一些小东西再扩展成一个较大的应用程序但当软件需要变成一个真正的有强大逻辑结构的库时问题就来了F#就可以让你做得很好你可以从简单的(就像使用动态类型语言如Python或Ruby那样)开始最终完成一个非常强大的程序(如同C #或Java )F#的关键益处是做到过渡完全流利而无须经历任何痛苦的步骤事实上你不需要重写任何开始时的代码 F#额外的好处是通过学习F#有助于你成为更好的C#程序员 F#有助于人们了解LINQ如果你未来想平行运行什么东西它可能是很好的准备 Boo Boo在其主页上宣布它是为CLI(通用语言基础设施)设计的一个新的面向对象的静态类型的编程语言具备Pythoninspired句法并特别侧重于语言和编译器的可扩展性 这不是一种解释语言因为它的编纂是为了CLI由于它在Net上运行您拥有Net的所有权力只有它更灵活而且您把它当作一个脚本或编好的程序Boo也有足够的技术优势如能在汇编过程中操纵编译器输出 计算机语言是制作软件的一种工具Boo作为一种计算机语言与其他工具(Net 生态系统)一样表现出色但Boo更具竞争力因它给予开发者空前的力量开发自己的语言工具大多数语言围绕一套固定的概念工作Boo赋予开发者制作自己的语言概念的能力此外Boo句法也很奇妙并配备了各种口译以加速发展 该语言在轻量特定领域子语言和微型格式中取得优势它也是微小的自我控制和跨平台的所以在Windows编写代码和在Linux或Mac OS X是一样的它有一个内置的GUI库能够发送电子邮件和访问内内置的网络资源没有包含文件只有两条简单的线可执行程序也很小在Java做同样的事情将有数以百计兆数据在C将有以吨计的包含文件和许多代码 |