撼动 IT 界的十大编程语言【转载+整理】
提这些的目的是要保持关注最新的技术。如果你是一个程序员,想要探究未来技术,那这篇文章是你的必读之选。这里列出了10种编程语言,它们可能会改变IT界的工作方式。
下面这些语言都有其实际的需求,举例来说,Web 开发,已目前的 Web 开发方式,实在是太麻烦了。涉及到 HTML、CSS、Javascript 以及 Ajax,再就是一个服务器语言,Java 或 C#,或是 PHP,这实在太繁琐了,有没有用一个语言,将这些所有问题都解决呢~
Dart语言
这种网络编程语言由谷歌创造,帮助开发者克服 Javascript 在 Web 开发的缺点。对于 Dart 语言,谷歌的希望是,它将成为 Web 编程的新官方语言。它有着与 C 语言类似的语法和关键词。然而,一个跟 Javascript 的重大不同之处是,Javascript 是以 prototype 为基础的语言,可在 Dart 里,对象是用类和接口定义的,跟 C++ 和 Java 一样。Dart 语言还允许程序员将变量声明为静态类型。
Ceylon语言
这种语言被称为“Java杀手”,由Gavin King(Hibernate创始人,现任职于Red Hat 公司)创造,但他否认是在 RedHat 里开发的。Gavin King 对 Java 的抱怨包括:罗嗦的语法,缺少一等函数(first class)和高阶函数(higher-order),对元数据编程的支持很弱。特别的,他对缺少能够声明结构化数据定义的语法非常失望,他指出这使 Java 只能“跟在 XML 屁股后面使劲”。Ceylon 语言的目标就是要解决所有这些问题。
Go语言
这个大家应该都知道了,谷歌创造了一个叫做 Golang 或 Go 的编程语言。据一些技术分析家说,它将最终完全替代 Java。这是一种通用型的语言,可以用来开发任何软件——从普通应用到系统编程。虽然这种语言还不成熟,各种语言特征和规格还在变化,但程序员如今已经用它来开发工作了。
F#语言
这种语言已经在计算机科学研究和学术界里流行很久了。F# 是一个微软创造的语言,设计时既考虑了功能性又考虑的实用性。因为它是一种可以运行在 .Net CLR 的一等函数(first-calss)语言,它能跟其它 CLR 语言(如 C# 和 VB)一样可以访问 .Net 平台上的所有程序库和功能特征。
Opa语言
云编程语言 Opa 是新一代 Web 开发平台。Web 开发太复杂。即使一个简单的 Web 应用,也会包含有多种语言交织的无数代码:客户端有 HTML 和 Javascript,服务端有 Java 和 PHP,数据库里有 SQL,等等。Opa 语言并不是来替代其中的某个语言。事实上,它是想一次把这些语言全消灭掉——通过倡导一种全新的 Web 编程模式。在一个 Opa 应用中,客户端 UI,服务端逻辑,数据库 I/O,全部由一种语言实现——Opa 语言。
Fantom 语言
你是否开发过 Java 或 .Net 应用?如果使用 Fantom 开发,你可以选择使用它们任何一种平台,甚至中途切换平台。这是因为 Fantom 语言专门是为跨平台移植设计的。Fantom 工程不仅包括一个可以输出 JVM 和 .Net CLI 字节码的编译器,还包括一套从 Java 和 .Net 中提取的 API,从而可以创建一个额外的可移植代码层。
Zimbu语言
这种奇特的语言从其它各种语言中吸取元素和成分,它是 Bram Moolenaar 的智慧结晶。Bram Moolenaar 是 Vim 文本编辑器的缔造者。这种语言被规划为要快,简洁,可移植,易读。它的语法独特、与众不同,但功能丰富。使用C语言风格的表达式和操作符,但有自己的关键字、数据类型和块结构。它支持内存管理,线程,管道。可移植是它的核心理念。尽管 Zimbu 是一种编译型语言,但 Zimbu 编译器输出的是 ANSI C 代码,这样可以让本地的 C 编译器来把它编译成本地平台的二进制代码。
X10语言
这是一种并行处理语言,曾经只是用在特定领域里的软件开发。然而,随着多核 CPU 和分布式计算的普及,今天的其它编程语言都似乎跟不上这种趋势的步伐。这就是为什么 IMB 研究机构开发了 X10 语言——一种专门为现代并行架构设计的语言,目标就是要把开发效率提高“10倍”。X10 语言的并行能力来自使用分块全局寻址空间(PGAS)编程模式。代码和数据被分割成小的单元,分布到一个或多个“空间”,使得将一个单线程程序升级成运行在多核处理器上的多线程程序变得简单。
haXe语言
haXe 胜过任何一种可移植的编程语言。它是一种可以应用到多种操作环境的多平台语言——从本地二进制到脚本解释器到虚拟机。程序员用它开发出代码,然后编译成目标代码,JavaScript,PHP,Flash/ActionScript 或 NekoVm 字节码等。
Chapel语言
对于应对当今世界高性能计算的特性,Chapel 是一种出色的编程语言。这种语言专门为超级计算机和集群设计的,它是 Cray(超级计算机之父)的 Cascade 研究课题的一部分,由美国国防部高级研究计划局(DARPA)参与启动,有一个宏大的高性能计算设想。Chapel 语言的语法有很多源头,除了常见的如C,C++,Java 外,它还借鉴了一些科学研究性语言(比如Fortran和Matalb)里的概念。它的并行处理特征是受 ZPL 和 High-Performance Fortran 的影响,这些语言也都是 Cray 的早期研究项目。