导读:开发者是否真的还需要一种新的编程语言呢?选择已经有那么多了,现有的语言都让开发者应接不暇,可是各种新的编程语言还是在以惊人的速度产生!答案就是随着多核CPU、云计算、移动及分布式结构的不断发展,简单的语法已经不能适用,我们需要更加强大的语言!而以下10种编程语言,或正在走向成熟,或还在开发,可是它们都以全新的视角演绎着软件开发的艺术,每一种语言,都有可能打开编程世界的新大门!
No.1:Dart
JavaScript在Web的交互性方面运用得很好,但是当Web应用程序的代码行过多时,它的弱点就会显现出来,因此,Google推出了新的结构化Web编程语言Dart用以替代JavaScript。
与JavaScript标准的语法不同的是,Dart是通过类和接口来定义对象,并且允许编程者自由地定义静态变量,这使得Dart既能如JavaScript般流畅,又能更快更容易地存储且不易受干扰。此外,CSDN软件研发频道之前编译的Dart比JavaScript更酷的10个理由会让你了解到更多Dart的便捷性。
No.2:Ceylon
Gavin King 称Ceylon是由红帽公司开发,被称之为“Java 杀手”。King是一名Java爱好者,他认为Java还有很大的改进空间。比如,缺少优秀的高阶函数,对元编程薄弱的支持,缺乏对结构数据定义的说明等等,Ceylon就是为了解决这些问题而产生的。现在Ceylon编译器已经支持在JVM上运行输出字符串,当然Ceylon的目标不只这些,它的目标是开发出新的Ceylon SDK来代替Java SDK。
No.3:Go
Go是一门从应用程序开发到系统编程都通用的程序设计语言。从某种程度上来说,它更像是C或者C++,但又像Java、C#一样有垃圾回收机制,运行时间映射及并行支持诸如此类的先进特点。同时,Go很容易编写,它像C却又没有C的冗长古板。
Go开发团队想开发出一种愉快的编程语言,身为动态脚本语言又兼具编译语言的特性。不过,Go目前还是在继续开发中,对于它的应用规则也随时可能改变。此外,Google已经开发出相应的工具和编译器。
No.4:F#
虽然函数式程序设计在计算机科学家及学术界里很流行,但是纯函数式语言却很难跟现实世界的软件开发相结合。 微软开发的F#是包含函数式和实际应用的优秀语言,它和其他CLR(公共语言运行库)语言使用相同的函数库和特点。 不过F#有自己的更有趣的语法特点,如丰富的数据类型会做科学的分类,还提供了一些设计有助于异步I/O、CPU并行化、卸载GPU的处理等。
现在微软已经在基于Apache开源许可证下开发了F#编译器及核函数库,大家可以免费使用,甚至可运行在MAC和Linux系统上。
No.5:Opa
Opa提出了一项崭新的Web编程规范,而这或将一举消灭其他大部分的编程语言。在Opa应用程序中,客户端的UI、服务器端的逻辑,以及数据库中的I/O都可以用简单的编程语言Opa执行。它将客户端和服务端的结构框架绑定在一起。当然,这还需要后台特殊技术的支持。Opa的运行环境是绑定了它的Web服务器和数据库管理系统,其中任一部分都不能随意取代。现在,Opa对64位的Linux和Mac OSX平台是开源,以后会有更多的接口来使用。
No.6:Fantom
Fantom是专门为跨平台的移植而设计的。Fantom不仅包含了可以在JVM或者.NET CLI中运行的编译器,也包括了一系列从Java和.NET API中抽象出来的API,从而创建了一个额外的可移植层。 现在有更多的计划要把Fantom 这种移植性蔓延开。 不过可移植性并不是Fantom存在的唯一原因。它在继承一些像C这样的特性时,也提高了支持其它语言的质量。
Fantom在Academic 3.0下开源,支持在Windows和Unix平台上使用。
No.7:Zimbu
作为Bram Moolenaar的产物,Zimbu吸收了以前各种语言的特点,目标是成为一种快速、简洁、轻便、易读、可适用于从GUI应用程序到OS内核的语言。 由于Zimbu具备多种特性,而语法本身是独一无二的。它不仅有着像C一样的表达式和运算符,也有自己的关键字、数据类型和分程序结构。此外,还支持内存管理、线程。良好的可移植性也是Zimbu的一个重要的特性。虽然Zimbu是编译语言,但是它输出的是ANSI C代码。
不幸的,Zimbu现还处于初期阶段。但是如果你有兴趣体验的话,一些基本的工具在Apache 许可下已经可以使用了。
No.8:X10
并行处理已经成为了软件开发的趋势。因此,IBM研究院开发了X10来顺应这种趋势,希望提高开发者10倍的效率。 X10使用全局地址空间分区(PGAS)的编程模式来进行并行管理。代码和数据以单位的形式被分开存储,这有利于在处理器上高性能的将单线程转为多线程。 将来X10还会实现跟Java的交互使用。
现在X10还在改善当中,但是已经相当成熟了,在Linux、Mac OS X 及Windows等多种平台上都可以使用。
No.9:haXe
haXe不仅是一门便捷的语言,更是在不同的操作环境间使用的跨平台语言,从Native binaries到解释器再到虚拟机。开发者可以在haXe里编写代码,然后将它们编译成目标代码。haXe标准库是这门核心语言的坚实后盾,它能在每个目标上分别运行,然后再使用特殊目标库,从而来体现每个平台的不同之处。haXe有一系列优点,而它最主要的优势莫过于将目标平台上所固有的问题给否定掉。虽然haXe现在还仍处于开发阶段,但它的开发者已经将其用到商业上和游戏工作室Motion Twin。在开源许可证下,它可适用于Linux,Mac OS X及Windows。
No.10:Chapel
Chapel作为Cray的第一门独创性的编程语言,是为超级计算和集群而设计的。 Chapel的语法吸收多方的精华,除了通常的语言(C,C++,JAVA),它还从科学程序设计语言中借鉴概念,它的并行处理的特点则是受ZPL及高性能的程式语言的影响。 Chapel一个最吸引人的特点是支持“多重解析编程”。
Chapel的开发还在继续。现在,它可以在Cray的超级计算机和多数高性能的集群上使用,但它对大部分类似Unix系统来说也是相当便捷的。源代码在BSD开源许可下可使用。
那么,这些新语言中您关注过或用过的有多少呢?