中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Groovy
动态语言为何难堪重任
作者:刘睿 时间:2007-12-11 18:08 出处:软件世界 责编:月夜寒箫
              摘要:动态语言为何难堪重任

这个世界之所以如此奇妙,就是因为世界是多样性的。存在着不同的人种、不同的语言、不同的文化习俗、不同的思考方式。这种多样性是世界向前发展的动力和源泉。我们的软件行业也不例外。

目前,编程语言可以说是百花齐放。据统计,现存的编程语言已经超过100种。因此,有好事者甚至搞出了编程语言流行排行榜,每月统计一次。参见:http://www.tiobe.com/index.htm?tiobe_index

按类型分,编程语言大致可以分为两种:编译型和解释型(即脚本)。

编译型的有新兴的.net系列(C#、VB.Net)、成熟的Java、老而弥坚的C和C++,不断衰退的VB和Delphi等。解释型(即脚本)则包括:Perl、Javascript、Ruby、PHP、Python等。

从编程语言的发展历史来看,编译型的语言一直占据着主流的地位,解释型(即脚本)从来就没有能撼动编译型的语言的地位。这种现象也正是本文开头提出问题的写照。脚本语言为何难堪重任?

之所以会出现这样的情况,我觉得不外乎以下几个原因:

历史的原因

脚本语言刚诞生的时候,仅仅被当作批处理和shell脚本使用了,纯粹是辅助工具。由于处于非主流地位,脚本语言的发展是相当缓慢的。直到上个世纪90年代初,随着Python和Ruby的陆续出现,脚本语言才得到了快速发展。而编译型语言从一开始就是主流语言,在经过了几十年成功的历史后,逐步衍生出了象C、C++、Java和.net这样的杰出代表,并创建了一整套完整的应用体系架构。

以Java为例,目前Java已经可以满足企业级大型应用开发、桌面型应用开发、移动型应用开发、嵌入式应用开发等等。可以说,Java已经把它的触角延伸到各个应用领域。而且在每个领域都拥有丰富的成功案例,得到用户和开发者的广泛认可。与Java等编译型语言相比,尽管Python和Ruby最近也在向Java和.net的各个应用领域进军,但成功的案例还不够多,无法给用户和开发者足够的信心。

没有得到足够的推动力

翻看编程语言的发展历史,我们可以看到这样的情况:每一种成功的主流编程语言的背后,都有一些行业巨人在支撑着。例如,.net的背后是微软,Java的背后是sun和IBM。

这些行业巨人的能量是不可低估的。正是靠着这些巨人投入大量的资金和人才去推动,.net和Java才可以迅速地把触角遍布各个应用领域。与Java和.net相比,Python和Ruby就缺乏行业巨人的支撑,它们依靠的只是各自的开源社区。很显然,这种缺乏资金和人才的发展,速度当然会慢很多。

大型工程的约束条件

现代项目管理的理念之一是风险控制。大型工程的特点是金额庞大,开发规模很大,技术复杂。一旦发生差错,损失惨重。所以特别在意风险控制。

在众多已知的风险里面,技术风险和人员风险是最容易被关注的。技术风险是指系统使用了无法满足业务开发需要的技术架构而产生的风险。

人员风险是指无法找到足够多的合适开发团队成员。由于Python和Ruby等脚本语言在大型项目的成功案例不多,显然采用Python和Ruby做开发语言的技术风险会比较高。

另外,目前使用Java和.net做开发的技术人员显然要比使用Python和Ruby等脚本语言的要多很多。所以从人员风险来看,使用Python和Ruby等脚本语言做开发风险也会比较高。基于风险的考虑,大型工程往往会采用已知成熟的技术(C、Java、.net),而不愿意采用Python和Ruby等脚本语言。

基于以上的分析, Ruby、PHP、Python等脚本语言想要超越Java和.net,困难挺大的。就我个人而言,我喜欢编程语言的多样性,欢迎Ruby、PHP、Python等脚本语言的流行。因为它们会促进新思想和新语言的诞生。那么,十年之后能替换Java、.net的语言会出现吗?如果出现这样的语言,会是Ruby、PHP、Python等脚本语言吗?或者是一门新的X语言呢?我的回答是一切皆有可能。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有