这两个话题都是一个很大的话题,本不应由我这个对ruby或rails都半通不通的人来说,昨晚看到了@keakon 这篇文章 你该选择Ruby on Rails吗? ,发觉似乎大部分人对它们误解都比较大,所以我在这稍微说下个人见解
大部分语言,静态的动态的,其实都更偏向于机器语言,是人类对机器说话,目的是让我们的话能让机器懂得。
而ruby,大家都知道它似乎很「自由」,一个函数可以有多个别名,比如得到 Array 的长度,有size,length甚至count,很多人费解为什么非得安上那么多别名,一个不就好?但如果以人类语言的「语境」来理解这个,就相当明了,以之前我的一段关于Notifications实现的代码为例子
def notifs_count
self.notifs.count
end
以上是说得到未读提醒计数,用self.notifs.size或者self.notifs.length都可以得到一样的结果,但却没count那么符合人类的「语境」。可以说ruby的自由,最大的目的是为了让语言看起来更像「人」说的语言,比如这一段代码