【51CTO独家特稿】随着计算机的快速发展,编程语言也越来越多,在10年因为开发速度的问题,Java成了编程语言的老大,随着Java不断的臃肿与复杂,开发者也不断的去寻找,尝试各种新的语言,也因近年动态语言有后来居上的趋势,Ruby作为具有动态类型的解释型面向对象语言因此而被开发者热捧。革命的年代已经结束。Ruby从1995年至今已经成熟成为了编程界的主流语言,至少主流在向Ruby前进。
当然,在这个充满偏见的语言战争年代,或许是一场无意义的比拼,这是哪个语言都无法回避的。从复杂性问题本身来考虑,为什么说它受到开发者的热捧?首先我们来张国外某博客发起的一次编程语言的投票。
从2983个人的投票中我们看到,仅有96人认为Ruby会死,也是上面编程语言中最少的一个。在国外,Ruby已经是主流的编程语言,Ruby的开发理念认为解决问题的方法可以不止一种,选择哪种取决于程序员的喜好。
在旧金山的独立开发者Sara Mei就一直用Ruby开发大量的应用,在他看来,Ruby的魅力在于它是一个使用起来非常舒服的编程语言,它具有许多强大的元编程功能。
为什么选择Ruby而不是PHP或者Python之类的语言呢?
从图片上我们看到了Ruby从06年开始关注Ruby的人渐渐增多,在国外udemy 博客中Renee就做了个详细的对比,重点介绍了三个当今最流行的编程语言。
从这张图片上看在可用性方面Ruby无疑是超越了PHP和Python这两种语言,PHP是属于比较传统的,可用性较弱些;Python相对来说稍微好点;Ruby的优势在于代码编写优雅、强大和表达性好,可用性极高。
如何理解这个可用性?
Ruby,它是有历史的“人”
为什么说Ruby是有历史的?因为Ruby它是一门借鉴了前辈的语言,它站在了巨人的肩膀上,引入了C,C++,Lisp,Perl等等语言的特性。Ruby它也是一门支持多种平台的语言,像Java一样,可以运行在Linux及其它UNIX变体、Windows平台、MAC、BeOS等等。更重要的事,Ruby没有指针。和Java类似,同时也向恶狠狠的瞥了C++一眼!不知道是否追求简单和速度,Ruby也就不存在于法和调试指针所带来的头疼困扰。
Ruby,它有着女人的优雅
用优雅来形容Ruby最好不过了,因为它完全具备了语法简洁,灵活性强,多样性这三个特征。
语法简洁:更纯正的面向对象语言,也就是说,所有的一切(包括字符串或整形之类的基本数据类型)都是以对象的形态来表达的。许多功能让从Java/C++世界过来的人耳目一新;
灵活性强:如模块的混入,块,开放式的类定义,加上已有的动态性使其变得极其灵活;各种繁多的著名设计模式在它手中好象都失去了意义,Java做梦都想达到的灵活性在Ruby手中轻而易举;
多样性:Ruby可以完成好Kornshell和C语言能够完成好的事情。想快速写一个十行的hack程序来完成一次性的任务,或者为遗留代码写个wrapper吗?用Ruby没问题。想写一个Web服务器、CGI,或者棋类游戏吗?用Ruby也没问题。
小结:
Python和Ruby虽然作为同个时代的动态编程语言,在开发的语法上以及其社区的风格都有着很大的区别。当然从它们的编程理念上去理解:Python注重规范化,统一的解决方法,缩进的强制约束,有利于多人合作;而Ruby注重人性化,阅读方便,同个问题有着多种解决方法,过多的方法需要使用者自己锻炼驾驭能力。
如果你是偏重乐趣,偏重人类语言化,那么Ruby无疑是最佳的选择。