频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

动态语言为何难堪重任

作者: 刘睿 出处:软件世界 2007-03-21 10:58    砖    好    评论   进入论坛
阅读提示:最近,ruby、php、Python等脚本异常火爆,好像有种要和java、.Net一决高下的趋势,可是在真正大工程中如:银行系统,电子政务,大型的运营开发商等,却很少以它们做为主流开发。动态语言为何难堪重任?

Linux之父炮轰C++:糟糕程序员的垃圾语言

Linux之父话糙理不糙 不得不看的两次从C++回归C的高手评论C++ C语言是否该扔进垃圾桶
为什么每个程序员都应该学习C语言? 每个程序员都应该学习C语言?我可不这么认为 C语言已经死了,5个需要忘却它的理由
用C设计 用C++编码
为什么使用C++
C++0x:崭新的C++,还是另一个Java?
编程语言的三大定理 动态语言为何难堪重任 动态语言面面观

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

目前,编程语言可以说是百花齐放。据统计,现存的编程语言已经超过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语言呢?我的回答是一切皆有可能。

【责任编辑:火凤凰 TEL:(010)68476606-8007】

关于 编译  解释  动态  语言  Java  .Net
专题
C++是垃圾语言?!
Java实用开发全集
Java类的基础教程专题
Java发展动态专题
专题:ASP.NET 2.0基础开发指南
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看81120次)
·UML类图详解 (查看72587次)
·C++是垃圾语言?! (查看42719次)
·C#技术开发指南 (查看40290次)
·UML统一建模语言 (查看39225次)
·Java编程开发手册 (1198个砖)
·Java基础教程 (431个砖)
·C#技术开发指南 (311个砖)
·.NET开发手册 (254个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (658个好)
·Java基础教程 (578个好)
·.NET开发手册 (282个好)
·PB开发教程 (213个好)
·Delphi开发技术手册 (200个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。