编程语言是“正确的”是什么意思?

问题描述 投票:30回答:12

我目前正在与Groovy和Grails合作。尽管Groovy基本上很简单,因为它基本上是Java,但我不能说我讨厌Grails。我读到Groovy对Grails而言就像Ruby对Ruby on Ruby一样,但这是什么意思?

ruby-on-rails ruby grails groovy terminology
12个回答
40
投票

解决您对隐喻的困惑(尽管在您的问题下已用其他方式回答了此问题:]

Groovy对Grails而言就像Ruby对Ruby on Rails一样,但这是什么意思?

[Grails是建立在Groovy编程语言之上/之上的Web框架,与Groosy所做的事情一样,Rails(Ruby的Web框架)也为Ruby做过。


“处于轨道上是什么意思?

答案取决于这些Web框架的本质。

这些Web框架(Grails和Rails)是在“约定之上的配置”的前提下构建的,这意味着使用通用约定来开发Web应用程序可以提高生产率和更可维护的应用程序(这是总的概括)。通过定义一个约定并遵守约定,您将发现您的应用程序易于生成并且可以快速启动和运行。

这对我来说就像火车一样,在铁轨上意味着什么。当开发一条新的火车路线时,不必担心重新设计火车从一个地方到另一个地方的方式,几十年来,一个单一的惯例已解决了这一问题:铁轨。就像火车路线上的轨道从两个位置限制路径一样,基于约定的Web框架使用约定来提高应用程序开发人员的灵活性,以便他们可以专注于其应用程序的基本业务问题。

Web框架约定的一个主要好处是,Web框架现在可以假设应用程序的某些层如何连接在一起。在Rails中,通常可以假定,如果一个人的数据库表具有复数名称,则映射到该表的ActiveRecord类将具有对应的单数名称。因此,Rails代码生成器可以使用数据映射信息来生成数据访问代码,例如动态查找器,迁移,延迟加载的关联遍历等。在基于配置的框架中,这种数据访问代码很难手工编写。 >


0
投票
这是一个隐喻,我几乎要说这需要解释。无论如何,这是Ruby on Rails所做的工作的一个非常好的比喻。它使执行(转到)通用操作变得极为容易。即测试,验证,部署,MVC。

0
投票
我不同意“ on rails是关于约定优于配置的哲学”等评论。

尽管Rails确实遵循这些原则,但是“ Ruby on Rails”是Web框架的名称。仅此而已。它不是在指任何特定的“过时”,它只是一个品牌名称,就像麦当劳是一个品牌名称一样。



15
投票

[许多人提到了使Rails / Grails成为自己的东西的技术。一些人还提到“约定之上的配置”是Rails / Grails中的“ rails”。这越来越接近事实。但这只是Rails广泛哲学的一个特征,即opinionated software


8
投票

[我认为一个努力成为“ rails-like”的框架指的是几件事情:

  • 模型级别:AR模式的ORM(而不是数据映射器),迁移或某种自动化的模式和模型层管理,在应用程序中处理外键(不在数据库模式中,也不使用存储过程或纯DBMS逻辑)


7
投票

Rails是用于开发具有数据库后端的Web应用程序的框架。我认为这个名字最初是一个文字游戏。火车可以将您带到[[really快速的某个地方,但仅限于铁轨所在的地方。


4
投票
在轨道上意味着您无法控制要去的地方。这意味着,您只能去到已放置铁轨的地方。任何试图走到下铁轨的人都没想到您会去的地方的尝试都会导致沮丧。

2
投票
这是一种汽车表达。当汽车的操控性非常好时,它被称为“像在铁轨上行驶一样的拐角”(即,它可以为您提供出色的控制能力)。

我不知道那是铁杆人们得到这个名字的地方,但这就是我的解释方式。


1
投票
真正简短的答案:约定优于配置。

1
投票
如上所述,Rails和Grails提供了Web应用程序开发的约定-以某种方式命名您的作品并将它们放在正确的位置,使您的应用程序默认情况下无需额外配置即可工作。当您想偏离约定时,可以在此处进行配置。

1
投票
Ruby和Groovy是语言。

Ruby on Rails是一个突破性的webapp框架。请参阅上面有关自有意见的软件的出色解答。

© www.soinside.com 2019 - 2024. All rights reserved.