Ruby 语言简介

在动手装环境之前,我们先认识一下 Ruby 到底是什么、为什么值得学、能用它做什么。理解了背景,学习的时候会更有的放矢。

Ruby 是什么?

Ruby 是一门高级、动态、解释型的面向对象脚本语言,由日本工程师松本行弘(Yukihiro Matsumoto,网名 Matz)于 1993 年开始设计、1995 年公开发布。Matz 想要一门"比 Perl 更强大、比 Python 更面向对象"的语言,于是吸收了 Smalltalk 的纯对象模型、Perl 的文本处理能力、Lisp 的优雅表达,做成了 Ruby。

诞生故事:为程序员的幸福而设计

Matz 在 1993 年的对话里说过:"我想要一门让程序员写得开心的语言。"当时 Perl 擅长写脚本但面向对象能力弱,Python 简洁但还不成熟,Lisp 优雅但工业生态匮乏。Matz 想把三者的优点合在一起:

结果就是 Ruby——一门读起来像自然语言、写起来像散文的语言。Matz 后来把这种追求总结为一句话:"语言是设计师品味的体现"

Rails:让 Ruby 火遍全球

Ruby 在西方世界被忽视多年,直到 2004 年丹麦程序员 David Heinemeier Hansson(DHH)在 37signals 公司构建 Basecamp 时,把其中的 Web 框架剥离出来开源,命名为 Ruby on Rails。DHH 用 Rails 在 15 分钟演示出一个博客系统的视频震惊了整个 Web 开发圈。

Rails 倡导三个核心原则:

GitHub、Shopify、Airbnb、Twitch、Stripe、Kickstarter、Cookpad、Hulu——这些公司早期(很多至今)都把核心业务跑在 Ruby/Rails 上。

Ruby 的核心特点

第一个 Ruby 程序

说了这么多,先看一眼代码。Ruby 的"Hello World"长这样:

# Ruby 的 Hello World 比绝大多数语言都短
puts "Hello, World!"
# 输出: Hello, World!

对比 Java 的 public static void main,Ruby 这一行简直优雅得不像是程序。这种极简可读是 Ruby 的标志。

一切皆对象长什么样

提前感受一下 Ruby 区别于很多语言的核心特点:

# 在 Ruby 里,5 是一个对象,有自己的方法
puts 5.class              # Integer
puts 5.to_s               # "5"
puts 3.times.to_a         # [0, 1, 2]

# 字符串当然也是对象
"hello".upcase            # "HELLO"
"hello".reverse           # "olleh"
"hello".length            # 5

# 甚至 nil / true / false 都是对象
puts nil.class            # NilClass
puts true.class           # TrueClass

5.class 返回 Integer——数字本身就是对象,可以直接调方法。这种一致性让 Ruby 学起来很顺:只要会一个对象的写法,几乎就全会了。

Ruby 都用在哪?

Ruby vs 其他语言

该不该学 Ruby?

如果你的方向是Web 后端、创业项目快速上线、DevOps 自动化,Ruby 几乎是必修课。哪怕你最终不用它工作,体验一次 Ruby 的设计哲学,你对"什么是好语法"的理解也会完全不同——这份"快乐编程"的理念影响了 Swift、Elixir、Crystal 等新一代语言。

← 返回 Ruby 教程目录

下一篇 Ruby 环境安装

✈️💬