5.1 为什么是Ruby?
现在软件生产的代表语言是Java。但Java已老,在主流市场,虽然它还会将继续存在许多年。
为什么说Java已老?很怀念Pascal的严谨、优美与高效。Java也一样,是静态语言,沉稳的同时注定了笨重,不善腾挪;而且Java是强静态语言,在需要简略的地方,依然沉稳笨重。仿佛一个绅士,在宴会大厅中彬彬有礼,在厨房里彬彬有礼,在卧室里仍然彬彬有礼。灵气沾不上Java,神来之笔沾不上Java。这一切,注定了Java与软件的快速开发无缘。
为什么不是C++,C#?从C++开始,C系列语言已经走上一条不归路。C++不仅兼容C,而且囊括了模板、范型等特性,包罗万象。无论是系统调用、网络开发、数据库操作都能显试身手,可是程序员很难掌握这些,即使想熟练应用其中某一方面也不容易。一个软件,一门语言,或是一个人,当他(它)想要得到整个世界的时候,危机已经埋下了。
当我们厌倦了静态语言的时候,当我们饱受大象思维折磨的时候,Ruby浮现出来,灵巧,快速。
5.2 Ruby会长久么?
Ruby会长久么?这很难回答。重要的是,编程语言将向动态回归,命令式语言将与函数式语言融合。终究有一天,编程语言完全智能化,人们用自然语言来编程。而Ruby有可能在编程语言的智能化发展道路上起到承上启下的作用。
Ruby灵巧,快速,但其实并不简单。
Ruby中实现一个小功能,可以有3种甚至4种完全不同的思路与方法,因为Ruby在语法层次实现了冗余① ,但是这样一来:
1).程序员深入掌握Ruby变得不很容易;
2).程序员们相互读懂代码也很难;
3).软件生产是一种大规模地、群体合作的行为。许多软件公司有自己的编码规范,促使员工编码风格统一,以便于A)程序解耦重构、B)代码复用、C)人员流动后项目如期推进。Java撇下C++,成为软件工业的支柱语言,正是得力于此。Ruby灵巧,快速,千变万化,没有统一风格,难于解耦,在目前,自然不适合工业生产。
如果说语法定义的冗余增加了灵活性,没有伤害,那么,Ruby 坚持缺陷也许是一种个性美吧。在 3.6 节我叙述 I/O 的输入方法gets 的时候,没有给出例程,是因为 Ruby for mswin32 的版本在windows 下不能正确处理标准输入和标准输出,要想使用,只好打开一个DOS 窗口,几个版本了,依旧如此。还有就是Ruby的语法中有许多容易产生歧义的地方,恕不举例,假如没有较深的功力、良好的编码风格(比如空格的使用),很容易犯错。软件生产总是偏向于成熟方案、成熟工具的。
Ruby语言具有动态特征,代码行为随时可以改变,本书后面内容都将围绕这一特征展开介绍。
产生高级编程语言以来的50年间,从没有哪一种语言像Ruby这样近似于现实世界。看看网络,数不清的信息扑面而来,你知道了什么是冗余;看看每一天的生活,环境污染,交通拥挤,日复一日,许多的无奈,你理解了什么是缺陷;生命里充满了不可预知,明天将发生什么,谁也不知道,也许是悲伤的事,也许是令人欣喜的事,这就是动态。Ruby 语言的冗余性、缺陷性和动态性正是现实世界的真实写照。
① length与size都表示数组长度,为什么Ruby要定义两个方法来表示数组长度呢?因为在英语中提到长度,有人会用length,有人会用size。这样的例子在Ruby语言里非常普遍。
完整阅读,请看我写的 Ruby语言中文教程all in one
分享到:
相关推荐
#### 5.1 为什么选择Ruby? 在软件开发领域,Java曾一度占据主导地位,以其严谨、高效及广泛的适用性成为业界的首选。然而,随着时代的发展,Java的静态特性和强制类型的约束开始显得过于僵硬,难以适应快速变化的...
《Ruby编程,实用程序员指南》是一本针对Ruby语言的学习教程与参考手册,旨在为程序员提供一个全面、深入的Ruby语言学习资源。本书不仅适合初学者快速入门,也适合具有一定经验的开发者进阶学习。 ### 一、Ruby语言...
### Ruby语言介绍与基础知识 #### 一、Ruby语言概述 **1.1 Ruby的历史** Ruby是一种面向对象的脚本语言,由日本人松本行弘(Matsumoto Yukihiro)于1993年开始开发。起初,Ruby是作为一种兴趣项目而诞生的,但...
在对Ruby进行了简要的综述之后,《Ruby编程语言》详细介绍了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。本书还包含对...
此外,从字体大小的角度来看,Perl大小通常为5pt,而Ruby的大小为5.5pt,这使得Ruby这个名字对于一种Perl的后续语言来说非常合适。 **1.3 Ruby的特点** - **简洁明了**:Ruby语言的设计理念之一就是让代码尽可能地...
《The Book of Ruby》是一本由Huw Collingbourne编写的书籍,旨在为读者提供一个深入浅出的学习Ruby编程语言的指南。本书不仅适合初学者,也适用于有一定编程经验但希望进一步掌握Ruby语言特性的开发者。Ruby是一种...
Ruby的名字来源于Perl,Perl的创始人Larry Wall曾希望下一版本的语言命名为“Perl 7”,并希望它能像“红宝石”一样珍贵而美丽,松本行弘将这一想法发展为独立的语言,并命名为Ruby。 **1.3 Ruby的特点** - **简洁...
名字灵感来源于Perl和Smalltalk两个词的结合——Perl的发音接近于“Pearl”,而Smalltalk则是最早的面向对象语言之一,因此将这两个词合并为“Ruby”。 **1.3 Ruby的特点** - **简洁性:** Ruby的设计非常注重代码...
### Ruby语法基础教程知识点概览 #### 一、Ruby语言概述 **1.1 Ruby的历史** - **创始人:** Ruby语言是由日本人松本行弘(Matz)在1995年开始开发的一种脚本语言。 - **发展背景:** 在Perl和Python流行的时代背景...
Ruby 2.4和Rails 5.1 Ruby 2.4和Rails 5.2 Ruby 2.5和Rails 4.2 Ruby 2.5和Rails 5.1 Ruby 2.5和Rails 5.2 动机 每个域中都有一些对象本身没有身份,但是它们的相等性取决于其属性的值。 示例:价格,任何大小...
ruby语法基础教程,比较全的。 目 录 Ruby语言 1 Grant Ren 1 第一部分 Ruby语言基础 8 第一章 Ruby语言概述 8 §1.1 Ruby的历史 8 §1.2 Ruby名字的由来 8 §1.3 Ruby的特点 8 §1.4 Ruby和Python的比较 9 第二章...
### Ruby 程序设计知识点概览 #### 一、Ruby语言概述 ##### §1.1 Ruby的历史 - **起源与发展**:Ruby是由日本程序员松本行弘(Yukihiro Matsumoto)于1995年开始开发的一种面向对象的脚本语言。它结合了Perl的...
Ruby Watir框架为Web应用测试提供了一个强大且灵活的解决方案。它不仅易于学习和使用,还支持多种浏览器和复杂的功能测试需求。通过熟练掌握Watir的基本用法和高级技巧,可以显著提高Web应用的测试效率和质量。
此外,Ruby拥有一个丰富的标准库,这为开发者提供了大量工具和功能,使得无论是小型脚本还是大型应用系统的开发都变得高效便捷。 #### 二、Ruby块的基本概念 在Ruby中,**块**是一种特殊的代码片段,它可以在特定...
### Ruby入门教程知识点详解 #### 一、Ruby语言概述 **1.1 Ruby的历史** Ruby是一种面向对象的脚本语言,由日本人松本行弘(Matz)于1995年开始开发。Ruby的设计理念是“使编程人员快乐”,因此它具有简洁、直观...
《Ruby.on.Rails.Web开发之旅》,作者:【德】Patrick Lenz,翻译:王德民、刘昕、裴立秋,出版社:人民邮电出版社,ISBN:9787115188526,PDF 格式,大小 144 Mb,被压缩为 3 部分,本资源是第二部分;第一部分下载...
### Ruby基础知识概览 #### 一、Ruby语言概述 ##### 1.1 Ruby的历史 Ruby是一种面向对象的脚本语言,由日本人松本行弘(Matz)于1995年开始开发。Ruby的设计理念是使编程变得简单、有趣且高效。 ##### 1.2 Ruby...