TIOBE社区今天发布了2013年10月编程语言排行榜,轻量级的Java语言Groovy在这份榜单中排名第18位,实现了历史性的突破,终于闯入了排行榜前二十。前五名没有太大变化,C语言保持不变,其次是Java。与上个月相比,只有排名第三的C++和排名第四的Objective-C发生了位置变化。小编上周的猜测似乎成真了。上周的黑马Transact-SQL下降一位,但势头依旧迅猛,与去年同月相比上升了14位。Groovy在本月击败了其他著名的JVM语言,例如Scala(36位)、JavaFXScript(#41)和Clojure(#76)。让我们拭目以待,看看它能否在未来几个月保持其前20名的位置。关于Groovy的前20名列表Groovy是一种用于Java虚拟机的敏捷动态语言,是一种成熟的面向对象编程语言,既可以用于面向对象编程,也可以用作纯脚本语言。您不必编写大量代码即可使用这种语言,同时您还拥有动态语言中的闭包和其他功能。Groovy是JVM的替代语言(替代是指可以在Java平台上使用Groovy进行Java编程),其用法与Java代码基本相同。考虑了Java集成,这使得Groovy与Java代码的互操作变得容易。(注:不是指Groovy取代java,而是指Groovy和java编程的良好结合。)9大杀手级JVM编程语言Java虚拟机不再局限于Java,很多语言都提供脚本转换,你可以让其他程序运行在java虚拟机上,让更多的开发者可以依靠JVM在Java平台上做很多事情。而且虚拟机和对应的字节码都是开源的,你可以很方便的生成对应的字节码,做出属于自己的编程语言。今天我们就来看看下面这9种新的编程语言。GroovyGroovy是一种编译为字节码的面向对象语言。它的语法风格与java非常相似,但不像java那样容易混淆。Java程序员可以快速熟练使用Groovy;事实上,Groovy编译器可以接受完全纯Java语法格式,这使得程序员无需学习任何新语法即可学习Groovy。需要注意的是,使用Groovy的一个重要特性是类型推断的使用,它允许编译器在程序员没有显式声明变量时推断变量的类型。同时,Groovy还提供了一种高级架构来解决字符串处理、xml序列化和反序列化、单元测试等——所有这些好处都可以为程序员节省大量时间。JRubyJRuby用于连接Java和Ruby。它使用比Groovy更短的语法来编写代码,允许每一行代码执行更多的任务。与Ruby一样,JRuby提供的不仅仅是高级语法。它还提供了纯面向对象的实现、闭包等。与Ruby本身相比,JRuby多了很多基于Java的类库可以调用。与Java标准类库相比。JythonJython,又名JPython,是第一个专用于JVM的脚本语言。它可以高效地用Python语言生成动态编译的Java字节码。几种可供选择的静态编译方法可用于开发applet、servlet和bean。作为Jython的顶级程序员,JimHugunin现在已经停止了Jython的工作,转而为Microsoft工作。所以这门语言的发展也只是2005-2008年,所以Jython似乎已经无法与Groovy和JRuby抗衡了。Jython现在可以在一些商业应用程序中找到,并得到WebSphereApplicationServer和IMB的商业JavaEE产品部门的正式支持。ClojureClojure是一种纯函数式编程语言。与Scala类似,Clojure已经有很多内置的并行执行基础设施,允许许多方法同时执行。Clojure还旨在生成一种通用语言,能够生成.NET和JavaScript。Clojure虽然也可以直接编译成Java字节码,但是不能利用动态语言特性,直接调用Java类库。与其他JVM脚本语言不同,Clojure不是面向对象的。ScalaScala通常被我们描述为一种多模式编程语言,因为它混合了多种编程语言元素的特性。但无论如何它本质上是一种纯面向对象的语言。它相对于传统编程语言的最大优势在于它为并行编程提供了良好的基础框架。这是唯一一个在JVM中有参与者的——另一个用于并行编程的代码生成器。Scala代码可以很好地优化成字节码,其运行速度与原生Java一样快。KotlinKotlin是一种静态类型语言,也可以编程为Java字节码和JavaScript。Kotlin作为一种时尚且富有表现力的编程语言,其设计初衷是为了产生高性能的程序,因此它的运行方式与Java不同。可比。Kotlin可以作为开发工具JetBrainsInteilliJIdeaIDE的插件使用。RhinoRhino是一个用Java编写的开源JavaScript引擎。目前,Mozilla正在主导其开发。Rhino的特点是它在JavaScript上加了一个壳,然后嵌入到Java中,让Java程序员可以直接使用。其中,Rhino的JavaAdapters使JavaScript能够通过调用Java类来实现特定的功能。CeylonCeylon是一种通用的静态类型编程语言,也是基于块和面向对象的。据说这门语言深受Java的影响,最初是RedHat为大型团队完成大型项目而设计的。Ceylon努力的主要方向是使语言更易读、更可预测、更面向工具和更模块化。根据GavinKing的说法,Ceylon将不仅仅是一个编译器,而是一个可以替代JavaSDK的新CeylonSDK。FantomFantom可以在运行时为JVM和.NET或JavaScript平台生成字节码。Fantom是一种类似于Groovy和JRuby的面向对象编程语言,但悲剧的是Fantom不能使用Java类库,而是使用自己的Extended类库。忘了说了,Fantom也包括actors,它最大的优势就是在网站上有非常完善和优秀的API文档体系。#p#Top10编程语言长期趋势图21-50编程语言排行:最后50个编程语言排行:(Visual)FoxPro,4thDimension/4D,ABC,Algol,Alice,APL,ATLAS,Automator,Awk,BlitzMax,CFML、cg、Clean、Clojure、cT、Dart、Eiffel、Forth、GNUOctave、Go、Icon、Inform、Informix-4GL、Io、J、J#、JScript.NET、LabVIEW、Modula-2、Moto、MS-DOS批处理、NATURAL、NQC、ObjectRexx、OCaml、OpenCL、OpenEdgeABL、PILOT、PureData、Q、Revolution、S、S-PLUS、Smalltalk、Squirrel、标准ML、VBScript、VHDL、X10、Zshell
