Ruby 被称为“优雅的语言”,主要来自于它的设计哲学、语法风格以及开发者体验。下面从几个角度来解释为什么 Ruby 给人“优雅”的印象。
Ruby 的创始人 松本行弘(Matz) 明确提出:
“Ruby 是为程序员的快乐而设计的。”
这与很多以机器效率或严谨规范为先的语言不同。Ruby 更关注:
这种“让人愉悦”的设计目标,是 Ruby 优雅感的根源。
Ruby 的语法非常贴近英语表达,读起来像在“说话”。
例子:
5.times do
puts "Hello"
end
对比一些其他语言:
for (int i = 0; i < 5; i++) {
System.out.println("Hello");
}
Ruby 没有多余的括号、类型声明和样板代码,逻辑一目了然。
在 Ruby 中:
1.class # => Integer
"hello".upcase # => "HELLO"
甚至连数字、字符串、类本身都是对象。这种一致性让语言非常统一,不需要记住“哪些东西是对象,哪些不是”。
Ruby 允许在运行时动态定义和修改行为,例如:
class String
def shout
self.upcase + "!"
end
end
"hello".shout # => "HELLO!"
这种能力让框架(如 Rails)可以用极少的代码实现极强的功能,也增强了“优雅”的观感。
Ruby 的 block、proc、lambda 非常自然:
[1, 2, 3].map { |n| n * 2 }
配合链式调用:
users
.select(&:active)
.sort_by(&:created_at)
代码读起来像在描述“做什么”,而不是“怎么做”。
Ruby on Rails 是 Ruby 最著名的框架,它的口号是:
“约定优于配置(Convention over Configuration)”
例如:
class Article < ApplicationRecord
end
几乎不用配置,就能完成数据库映射、路由、校验等功能。这种“少写代码、多做事”的风格,让 Ruby 的优雅被更广泛认可。
Ruby 鼓励写清晰可读的代码,而不是炫技。
例如:
if user.admin?
grant_access
end
而不是:
grant_access if user.admin?
(虽然 Ruby 支持后者,但是否使用取决于可读性)
Ruby 之所以被称为“优雅的语言”,核心在于:
一句话概括:
Ruby 的优雅,不是“写得少”,而是“写得像人话,却依然强大”。
如果你愿意,我也可以对比 Ruby 和 Python / JavaScript,看看“优雅”具体体现在哪些差异上。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。