首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby做对了什么(或者是Rails)?

Ruby做对了什么(或者是Rails)?
EN

Software Engineering用户
提问于 2012-03-13 20:29:43
回答 4查看 2.8K关注 0票数 13

大多数编程语言都有一些影响其使用和适用性的设计决策。

例如:

  • Python关注代码的可维护性/可读性,并且缩进是语言本身的一部分。
  • Java的意图是跨平台运行,比C++更容易、更友好。
  • Objective是作为C的OO包装器构建的,当时不知道C++的未来。
  • Erlang是为高度容错和并发系统而设计的。
  • 用于处理网页动态创建的PHP
  • CoffeeScript旨在揭露Javascript的好部分,添加OOP语法糖和隐藏细微差别(全球等等)。“幕后”等。

每种编程语言都试图利用和利用特定的利基语言-- IMHO。以上是我对编程语言的基本原则的看法,这些原则指导了编程语言的发展和广泛的可采用性。当然,还有更多,但是这个列表只是作为一个例子。

然而,我很难理解Ruby所基于的基本原则以及它的日益流行。Ruby的基本原理是什么让它今天流行起来的?还是一个设计Rails框架的人的天才?如果后者是Ruby使Rails的设计更好/更容易/更快?在什么意义上?

根据其创建者,最常被引用的原因是“...wanted,一种有趣的弱类型编程语言”--我不认为这是创建一种新的编程语言的理由!无论语言是什么,编程都很有趣,IMHO (每种语言都有一些不好的部分,但要么绕过它,要么与它生活在一起)。

那么,Ruby开发了哪些没有为当前语言所利用的利基呢?Ruby的“优点”(USP)是什么,它已经被广泛采用了?Ruby做了什么以前没有做过的事情(或者非常困难)?

我不是Ruby程序员,但只是一个Ruby,因此出现了混乱。

免责声明:这不是一场火焰之战,我不是在寻找Ruby编程语言类型的答案。我正在寻找Ruby所基于的设计决策,这些决定已经导致了广泛的采用。Ruby满足于哪个领域已经流行起来了,或者这完全归功于Rails?

EN

回答 4

Software Engineering用户

回答已采纳

发布于 2012-03-13 21:57:50

我想Ruby起飞的原因有很多:

  • Rails框架。Rails将许多有用的模式组合在一起,以简化web应用程序的开发,并提高开发人员的生产力。将其与Java冗长乏味的web开发和“一人秀”.NET平台进行比较。在几分钟内创建weblog应用程序是一个令人惊讶的dropping.,您可以在许多新的JVM web框架上看到"Rails效应“,比如Grails,Play!还有春鹿。
  • 像推特和吉顿这样的成功故事。初创企业需要尽快上市,而对于Rails,这是可能的。成功的故事就是一个证据。
  • Ruby编程语言本身是美丽的、强大的和有表现力的。IMHO,红宝石是Rails的秘密沙司,success.看Cucumber和Sinatra的美丽,DSLs的美做得不错。
  • 渴望和勇敢的社区,不怕尝试和创新。
  • (个人观点,可能不是重要的原因)它是在日本创造的。对我来说,没有什么比“日本制造”.的形象更好的了,学习不同国家创造的编程语言就像认识新的人一样。它很有趣,educative. Ruby/日本,OCaml/法国,Lua/巴西,Lisp/火星:)
票数 11
EN

Software Engineering用户

发布于 2012-03-13 22:16:24

这并不直接回答标题问题,而是针对提出的一些问题(例如,为什么创建Ruby )。

Ruby的创建者Yukihiro 'Matz‘Matsumoto引用的话可能有助于解释是什么激发了它的创作:

  • 我想要一种比Perl更强大、更面向对象的脚本语言
  • “我希望看到Ruby帮助世界上的每一个程序员提高生产力,享受编程,快乐。这是Ruby语言的主要目的。”

所以基本上,Matz想要一种非常面向对象的语言,它是为程序员设计的。

票数 13
EN

Software Engineering用户

发布于 2012-03-14 08:41:38

Ruby (与rails结合)使约定高于配置很受欢迎。

旧的(非红宝石路轨)方式是

  • 使用名为“生日”的字段定义数据库表"persons“
  • 定义具有“生日”属性的商务类"person“
  • 编写一个helperclass,以便在数据库和业务类之间传输数据。
  • 创建一个gui,使列表中的人
  • 创建一个gui来编辑一个人的属性

使用约定高于配置,这方面的基本工作将自动完成:

  • 你用代码定义一个人
  • 数据库表、映射、gui-元素是由强力解释器或代码生成器自动为您创建的。

contras:你必须学习所有的错误,所以第一次在rails上学习ruby就更难了。

优点:一旦您了解了这些约定,就很容易理解其他rails开发人员的代码,因为每个开发人员都必须遵循相同的约定。

与此同时,约定高于配置已经进入了许多编码生态系统。

票数 5
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/139606

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档