动态编程语言遍地开花:浅析Ruby的主流

原创
开发 开发工具 后端
随着计算机的快速发展,编程语言也越来越多,在10年因为开发速度的问题,Java成了编程语言的老大,随着Java不断的臃肿与复杂,开发者也不断的去寻找,尝试各种新的语言,也因近年动态语言有后来居上的趋势,Ruby作为具有动态类型的解释型面向对象语言因此而被开发者热捧。革命的年代已经结束。Ruby从1995年至今已经成熟成为了编程界的主流语言,至少主流在向Ruby前进。

【51CTO独家特稿】随着计算机的快速发展,编程语言也越来越多,在10年因为开发速度的问题,Java成了编程语言的老大,随着Java不断的臃肿与复杂,开发者也不断的去寻找,尝试各种新的语言,也因近年动态语言有后来居上的趋势,Ruby作为具有动态类型的解释型面向对象语言因此而被开发者热捧。革命的年代已经结束。Ruby从1995年至今已经成熟成为了编程界的主流语言,至少主流在向Ruby前进。

当然,在这个充满偏见的语言战争年代,或许是一场无意义的比拼,这是哪个语言都无法回避的。从复杂性问题本身来考虑,为什么说它受到开发者的热捧?首先我们来张国外某博客发起的一次编程语言的投票。

 

从2983个人的投票中我们看到,仅有96人认为Ruby会死,也是上面编程语言中最少的一个。在国外,Ruby已经是主流的编程语言,Ruby的开发理念认为解决问题的方法可以不止一种,选择哪种取决于程序员的喜好。

在旧金山的独立开发者Sara Mei就一直用Ruby开发大量的应用,在他看来,Ruby的魅力在于它是一个使用起来非常舒服的编程语言,它具有许多强大的元编程功能。

为什么选择Ruby而不是PHP或者Python之类的语言呢?

 
【图 TIOBE的Ruby流行度趋势】

从图片上我们看到了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无疑是最佳的选择。

责任编辑:林师授 来源: 51CTO
相关推荐

2012-11-20 17:44:12

开发技术周刊

2012-02-14 09:46:05

虚拟化

2012-08-02 09:22:38

2010-01-13 10:19:56

2013-10-14 13:57:56

2021-03-09 09:36:43

人工智能AI互联网

2012-12-31 14:02:31

数据中心云计算数据中心

2023-02-15 15:57:13

网络安全网络诈骗

2012-05-11 09:19:52

2014-11-10 10:04:25

数据中心云计算大数据

2017-12-29 10:51:35

AI芯片初创

2013-01-11 10:35:00

云计算公共服务IT

2014-07-10 11:42:25

SAP大数据

2018-06-14 10:11:40

2011-07-29 18:34:35

云计算标准盲目建设

2011-09-09 09:46:32

云计算

2012-12-27 10:06:42

数据中心市场

2010-01-21 17:05:21

互联网

2020-10-23 19:00:14

人脸识别人工智能AI
点赞
收藏

51CTO技术栈公众号