技术开发 频道

D语言能否成为明日之星



    【IT168 专稿】在计算机刚问世之初,并没有象我们现在丰富而且强大的计算机语言,甚至连汇编语言都没有。完全要靠着编程人员的毅力和耐心一点一点地输入机器二进制码来编写程序。但自从面向过程、面向对象乃至更灵活的动态语言的出现,使计算机这个曾经陌生的巨人变成了我们今天亲密的朋友。长久以来,实现计算机语言都需要很深的技术功底,但不知怎么,最近几年计算机语言突然变得多了起来,已经不再局限于传统的C/C++、Pascal、Java等。

    而这些新诞生的语言大多都表现出了更高的灵活性。尤其是大名鼎鼎的Symantec C++ 编译器的作者最近又推出了一种D语言,据说是集C++、Java、C#、PHP等众多语言的优势于一身。除了这种D语言外,国内国外也推出了很多的其他计算机语言。现在计算机语言虽然变得越来越多,但就象论语中所说的那样,人们往往在不知所措时都会一种“惑”的感觉,这种感觉不是源于没有选择,而是我们的选择太多。正所谓“多而惑”。那么这个世界上真的需要这么多的计算机语言吗?未来的计算机语言将会走向何方呢?

    一、计算机语言迅速繁殖,大有百家争鸣的态势

    这个世界上的软件有很多种类,但这其中被认为最难实现的有三类:操作系统、数据库(如SQL Server、Oracle等)以及编译器(将计算机语言编译成机器码)。这些软件不仅在实现上有难度,而且在实现时需要大量的人力和物力。在这三种软件中编译器的规模是最小的,也就是说,靠一个人的力量是在短时间内是可以做出一个优秀的编译器的。

    虽然编译器在实现规模上不大,但在实现难度上并不次于另外两类软件。比如要实现一个编译器,需要对数据结构、编译原理、算法等很了解,而且还要熟悉操作系统。在编译器诞生最初的几十年里,设计编译器的工作基本都是由计算机专家来完成的。那时的编译器必须将源代码编译成机器码,因此,实现起来的难度很大。

    自从进入21世纪以来,好象计算机语言一下子多了起来。尤其是基于Java的开源脚本语言,更是多如牛毛。我们可以在   sourceforge或其他的开源代码网站查到如下一些常见的开源脚本语言:
    Groovy
    Groovy是一种基于JVM的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性。 Groovy可以直接编译成Java字节码。
   Jython
    Jython是Python的纯Java实现。她无缝地结合了Java类与Python,使用户能以Python语言的语法编写在Java虚拟机上运行的软件。
    Beanshell
    Beanshell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性。
    JRuby
   JRuby是一个Ruby脚本语言的纯Java实现。JRuby可以嵌入任到Java应用程序并可以在脚本中使Java类。

   类似的语言还很多,这里不再一一列举。这些脚本语言之所以如雨后春笋般地诞生,我想最主要的原因可能是现在新出现的语言基本都是解释型的,因此,实现难度没那么大了。

    除了这些脚本语言外,另一类象C#、Java一样的计算机语言也开始产生,其中最著名的可能要算D语言了,它是Symantec C++编译器作者的最新力作。据作者在他的网站(http://www.digitalmars.com/d/)上介绍这种D语言来时说:“D语言是一种系统级的编程语言,它同时拥有C或C++的高效以及Ruby和Python一样的高生产率的语言”。

    D语言还不仅拥有以上特性,它还具有如C#、Java一样的高级特性,如垃圾回收、模板等。但D语言目前有一些特性还不支持,如类的动态装载。D语言虽然有一些不足,但由于它出自于这位优异的C++大师之手,因此,它在未来还是会受到非常多的关注的。

    除此之外,国内也掀起了发明计算机语言的热潮。如最早的易语言。这是一种可以使用汉字来编程的语言。虽然这种语言看上去很不错,但由于它将if、for等关键字都换成了汉字,因此,可能这并不符合大多数人的编程习惯。至于它将走向何方,还得让时间来证明。
    另外,还有如太极语言等一些杂七杂八的语言也不断地涌现。这些语言和主流语言共同形式了类似于先秦时百家争鸣的局面。
0
相关文章