【51CTO.com独家特稿】像Ruby, Python 甚至Java/ECMAScript这样的动态编程语言正在受到创新开发者们的亲睐,这种趋势已变得很明显。Ruby on Rails为提高Ruby编程语言做出了很大贡献, Ajax 正将更多的兴趣集中在JavaScript 上。Python 尽管还没有找到它的发展方向, 但它现在也在受到更多的关注。动态编程语言的时代即将到来。我的意思是:当动态编程语言成为一种“标准”而不是“异类”(“例外”)的时代即将到来。
在今后的五年当中绝大多数机构将在一些企业开发中运用动态语言程序。当然不是说在所有的开发中都会用到。因为对于传统编程语言的需求总是存在的,传统编程语言可以让你在编译时就发现(程序)错误而不是在运行时才发现。但是,动态语言摆脱被称为“危险物”或“玩具”的日子指日可待。
当创新开发者蜂拥向像Ruby这样的动态语言程序时,主流的开发群体却不太倾向于采用这种语言程序。这是因为两个原因:FUD和生产率。恐惧(Fear)、不确定(Uncertainty)、及怀疑(Doubt),即FUD, 不断得阻碍着开发者试图体验和使用动态语言程序的行动。听到人们说动态语言程序是“玩具”并且有“危险”的话也是稀松平常的事。但我所发现的是,说这些话的人通常都很少有或根本没有使用过动态程序语言的经历。“FUD”的出现通常只是因为“无知”。然而,对于动态程序语言为什么没有被大众采用还有一个更实际的原因就是:生产率。学习一个新的编程语言平台可不是一件轻松的事。虽然学习一种语言的语法不是很难,但学习一整个新的程序库却是一项巨大的工程。例如,Java 程序师花在学习如何使用标准、enterprise 、专利权及打开APIs (应用编程接口)的时间要比花在学习语法上的时间比例大很多。事实上, 依我看这种时间的比例在第一年可能是20:1,而在往后会是100:1。
如果你花费了所有脑力去学习如何合理的使用Java 程序包以及APIs(而不是学习语法),那么丢掉以前所学的一切而去学习一个全新平台的想法可能……似乎……有点愚蠢。或者更准确一点说,在这个全新平台的优势不是很明显的时候,这种选择是不实际的。从本质上来讲,这种选择会使一个java 开发者所了解的有关访问数据库、控制信息串、输入及输出等一切知识变得毫无用处。另外,新平台的生态系统也没有Java的坚固。
对于主流Java 开发者来说,把平台改为Ruby 那样的看起来似乎不是很理想。不要误解我的意思,我不是说Ruby不好,我也是Ruby 的一个忠实“粉丝”, 但是将Java 平台与 Ruby 平台做个很真实的对比,就会看到Ruby确实有所欠缺。Ruby 生态系统的规模以及APIs(库)的数量与Java 平台相比较显然逊色不少。全世界大概有400万或更多的Java开发者,而如果Ruby开发者的数量能超过10万我都会感到很惊讶。大概仅有5万人每天在“生产代码”中用到Ruby程序。当然这仅仅是一种推测,ruby开发者的真实数量也许会与推测的有所出入,但是很少有人会说ruby 开发团体的规模能与Java开发团体的规模相比。
动态程序语言(如Ruby,Python, JavaScript)总体来说要比传统的编程语言多产(效率高)。在我为期三年的研究中,我总是发现开发者在同一环境中使用动态语言要比使用传统语言多产近5倍。这也就是说一旦你能熟练操作一种动态语言,那你在产量和维护方面会有巨大收益。只要是清洁代码那么代码越少越容易维护。少量的清晰的代码更容易维护。
| 共2页: 1 [2] 下一页 | ||
|
|
||||
| · NAC安全访问控制 · 网络布线测试仪器 · Windows Server 2008专.. · Windows远程桌面应用 · 网络故障排除宝典 · 运营商封堵ADSL共享 中.. · 解析35岁技术人的价值.. · 世纪枭雄比尔盖茨的王.. |
· 主流品牌防火墙配置 · ASP.NET开发教程 · 超级计算机TOP500专题 · Vista SP1对决XP SP3 · SQL Server 2008/2005.. · 程序员如何成长? · C#技术开发指南 · 虚拟化技术还有点“虚” |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Windows远程桌面应用 · C#技术开发指南 · Apache技术专题 |
· Windows集群服务应用 · C#技术开发指南 · 国际文档格式标准开战 · 路由器设置与口令恢复 · Linux 集群技术专题 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · C#技术开发指南 · 三层交换技术专题 · Apache技术专题 · C#技术开发指南 |
· Windows远程桌面应用 · 企业数据恢复指南 · Windows集群服务应用 · 路由器设置与口令恢复 · Linux 集群技术专题 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 |
|||