编程语言

导读:开发者是否真的还需要一种新的编程语言呢?选择已经有那么多了,现有的语言都让开发者应接不暇,可是各种新的编程语言还是在以惊人的速度产生!答案就是随着多核 CPU、云计算、移动及分布式结构的不断发展,简单的语法已经不能适用,我们需要更加强大的语言!而以下 10 种编程语言,或正在走向成熟,或还在开发,可是它们都以全新的视角演绎着软件开发的艺术,每一种语言,都有可能打开编程世界的新大门!

No.1:Dart

JavaScript 在 Web 的交互性方面运用得很好,但是当 Web 应用程序的代码行过多时,它的弱点就会显现出来,因此,Google 推出了新的结构化 Web 编程语言 Dart 用以替代 JavaScript。

与 JavaScript 标准的语法不同的是,Dart 是通过类和接口来定义对象,并且允许编程者自由地定义静态变量,这使得 Dart 既能如 JavaScript 般流畅,又能更快更容易地存储且不易受干扰。

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 开源许可下可使用。

那么,这些新语言中您关注过或用过的有多少呢?

文章出自:infoworld