`
davidgrubby
  • 浏览: 23588 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
  • davidgrubby: 啥玩意啊,没意义的就删掉啊,浪费人家的精力
    Test

Ruby会长久吗?

阅读更多
Ruby会长久么?这很难回答。重要的是,编程语言将向动态回归,命令式语言将与函数式语言融合。终究有一天,编程语言完全智能化,人们用自然语言来编程。而Ruby有可能在编程语言的智能化发展道路上起到承上启下的作用。
Ruby灵巧,快速,但其实并不简单。
Ruby中实现一个小功能,可以有3种甚至4种完全不同的思路与方法,因为Ruby在语法层次实现了冗余1,但是这样一来:
1).程序员深入掌握Ruby变得不很容易;
2).程序员们相互读懂代码也很难;
3).软件生产是一种大规模地、群体合作的行为。许多软件公司有自己的编码规范,促使员工编码风格统一,以便于A)程序解耦重构、B)代码复用、C)人员流动后项目如期推进。Java撇下C++,成为软件工业的支柱语言,正是得力于此。Ruby灵巧,快速,千变万化,没有统一风格,难于解耦,在目前,自然不适合工业生产。
如果说语法定义的冗余增加了灵活性,没有伤害,那么,Ruby 坚持缺陷也许是一种个性美吧。在 3.6 节我叙述 I/O 的输入方法gets 的时候,没有给出例程,是因为 Ruby for mswin32 的版本在windows 下不能正确处理标准输入和标准输出,要想使用,只好打开一个DOS 窗口,几个版本了,依旧如此。还有就是Ruby的语法中有许多容易产生歧义的地方,恕不举例,假如没有较深的功力、良好的编码风格(比如空格的使用),很容易犯错。软件生产总是偏向于成熟方案、成熟工具的。
1例如, length与size都表示数组长度,为什么Ruby要定义两个方法来表示数组长度呢?因为在英语中提到长度,有人会用length,有人会用size。这样的例子在Ruby语言里非常普遍。
开源文档:Ruby 语言入门教程 v1.0
第 50 页
Ruby语言具有动态特征,代码行为随时可以改变,本书后面内容都将围绕这一特征展开介绍。
产生高级编程语言以来的50年间,从没有哪一种语言像Ruby这样近似于现实世界。看看网络,数不清的信息扑面而来,你知道了什么是冗余;看看每一天的生活,环境污染,交通拥挤,日复一日,许多的无奈,你理解了什么是缺陷;生命里充满了不可预知,明天将发生什么,谁也不知道,也许是悲伤的事,也许是令人欣喜的事,这就是动态。Ruby 语言的冗余性、缺陷性和动态性正是现实世界的真实写照。
分享到:
评论

相关推荐

    Ruby使用C++扩展实例(含C++扩展代码示例)

    但长久没用还是会忘记,不得不翻以前的老代码回忆,写下这篇博文,若下次再忘记,也不至于去翻仓库。 建立 extconf.rb 代码如下: require ‘mkmf’ $libs = ‘-lstdc++’ create_makefile ‘foo’ 建立 foo.cc ...

    Java技术长久占居主要地位的12个原因

    例如,Ruby开发者在面临性能压力时,会选择使用JRuby,一个在JVM上运行的Ruby实现,以利用Java的多线程能力。 再者,Java是初学者的首选语言,尤其在教育领域。许多大学和高中课程都将Java作为入门语言,培养了一代...

    Web开发学习资料整理(第五月).docx

    描述提到“想学习HTML的可以看看,里面有我长久以来做的详细笔记,保证小白可看懂的”,说明这份资料适合初学者,特别是对HTML感兴趣的人群。 标签“HTM”暗示了文档可能涵盖了HTML相关的内容,但同时也提到了...

    java餐桌点餐系统源码-yet-another-Chinese-translation-of-the-rails-doctrine:Rail

    但技术优势一般会随着时间推移而逐渐削弱,而好的时机也并不总会长久相伴。Rails 为何能始终保持与时俱进,并不断扩大其影响力和社区呢?这里有必要给大众一个合理的解释。我认为最主要的原因就是其一直坚守的那些...

    tdiary-core:tDiary,支持TSUKKOMI的Weblog

    为了使您的日记本长久安心,tDiary的开发目标是将项目维持至少25年。 到2016年将是15周年,所以我可以再继续与tDiary一起写日记10年。租赁服务器用户友好您需要的只是Ruby(支持2.1.0或更高版本)。它本身可以用作...

    Java学习方法-并且涵盖了学习任何一门语言需要的动力.docx

    对于初学者,可能会遇到在学校中所学的编程知识过于基础,与实际工作需求脱节的问题。因此,我们需要采取一些额外的学习策略来弥补这种差距。 首先,避免盲目购买书籍和追逐最新的技术潮流。基础知识是长久不变的,...

    Alumni on Rails-开源

    这个平台的宗旨是利用网络的力量来增进校友间的互动,推动各种活动如学术讲座、展览和研讨会,营造一个互信的环境,并且帮助校友保持长久的联系,促进彼此的职业发展和分享实践经验。其核心理念是利用Web 2.0的技术...

    程序员攻略练级

    作者建议不要盲目购买书籍或追逐最新技术,而应重视基础知识的积累,因为它们具有长久的实用价值。通过回顾技术历史,可以更好地预见未来的发展趋势。作者认为未来的编程趋势将是前端以Web和移动设备为主,后端则以...

    submit text3安装包附带注册码

    总的来说,Submit Text 3安装包附带的注册码解决了授权问题,让用户可以全功能、长久地使用这款强大的文本编辑器。通过探索和利用其丰富的插件库,以及进行个性化设置,开发人员可以在编码过程中体验到前所未有的...

    Engineering Software as a Service

    首先,书中借助塞哥维亚水道桥这一历史悠久且功能强大的设计例子,来说明软件工程中“长久耐用的设计”概念。塞哥维亚水道桥建于公元1世纪或2世纪,至今仍然能够供水,这体现了罗马人运用的建筑原则以及设计的持久性...

    Engineering Software as a Service 2013

    - **技术实现**:该书的制作过程运用了LaTeX、tex4ht和Ruby脚本等工具,这些工具基于libxml2和Nokogiri,用于处理XHTML输出,并自动保持Pastebin和视频教程URL的最新状态。 ### 四、《Engineering Software as a ...

    Java开源的下一代社区平台Symphony.zip

    感受到了自造轮子的优缺点,并且可以肯定一点:对于一个想要长久的产品来说,自制技术框架优势远大于劣势 一个好玩的产品或说是细节特性然并卵,需要做的是一个能够持续提供用户价值的产品/特性 虽然直到目前 B3...

    Online Resource Management system-开源

    5. 可持续发展:随着更多开发者参与,开源项目往往具有更长久的生命力和更强的适应性。 开发一个这样的系统需要掌握的技术栈可能包括: 1. 后端技术:如Java、Python或Ruby,搭配Spring Boot、Django或Rails框架。...

Global site tag (gtag.js) - Google Analytics