Mục lục
Giới thiệu ngôn ngữ lập trình Ruby
1. Ruby là gì?
-
Ruby là ngôn ngữ lập trình hướng đối tượng, thông dịch, được Yukihiro “Matz” Matsumoto tạo ra năm 1995.
-
Triết lý thiết kế: “Ngôn ngữ lập trình nên giúp lập trình viên hạnh phúc” (MINSWAN – Matz is Nice So We Are Nice).
-
Đặc điểm nổi bật:
-
Cú pháp tự nhiên, dễ đọc như tiếng Anh
-
Mọi thứ đều là đối tượng (100% OOP)
-
Linh hoạt – cho phép thay đổi class/core library
-
Hệ sinh thái phong phú với RubyGems
-
2. Cài đặt Ruby
Trên Linux/macOS
# Ubuntu/Debian sudo apt install ruby-full # macOS (với Homebrew) brew install ruby
Trên Windows
-
Tải RubyInstaller từ https://rubyinstaller.org
-
Chọn phiên bản Ruby+Devkit
Kiểm tra phiên bản
ruby -v # => ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]
3. Cú pháp cơ bản
a. Hello World
puts "Hello World!"
b. Biến và kiểu dữ liệu
name = "Alice" # String age = 25 # Integer price = 9.99 # Float is_active = true # Boolean # Mảng fruits = ["apple", "banana", "orange"] # Hash (key-value) person = { name: "Bob", age: 30 }
c. Điều kiện và vòng lặp
# If-else if age >= 18 puts "Adult" else puts "Child" end # Case-when case grade when "A" puts "Excellent!" when "B" puts "Good" else puts "Try harder" end # Vòng lặp 3.times { puts "Ruby!" } fruits.each do |fruit| puts fruit end
d. Hàm (Method)
def greet(name) "Hello, #{name}!" end puts greet("Alice") # => "Hello, Alice!"
4. Lập trình hướng đối tượng trong Ruby
class Person attr_accessor :name, :age def initialize(name, age) @name = name @age = age end def introduce "My name is #{@name} and I'm #{@age} years old" end end alice = Person.new("Alice", 25) puts alice.introduce
5. Ruby on Rails – Framework web nổi tiếng
Giới thiệu
-
Rails là framework web full-stack mạnh mẽ xây dựng bằng Ruby
-
Nguyên tắc:
-
Convention over Configuration (CoC)
-
Don’t Repeat Yourself (DRY)
-
Cài đặt
gem install rails rails new myapp cd myapp rails server
Tạo CRUD đơn giản
rails generate scaffold Post title:string body:text rails db:migrate
6. Ứng dụng của Ruby
-
Phát triển Web:
-
Ruby on Rails (Shopify, GitHub, Airbnb)
-
Sinatra (micro-framework)
-
-
DevOps & Automation:
-
Chef, Puppet (quản lý cấu hình)
-
Script tự động hóa
-
-
Data Processing:
-
Xử lý file CSV/JSON
-
Web scraping (Nokogiri gem)
-
-
Game Development:
-
Thư viện Gosu
-
7. Ưu và nhược điểm
Ưu điểm | Nhược điểm |
---|---|
✔ Cú pháp đẹp, dễ đọc | ❌ Hiệu năng không bằng Go/Rust |
✔ Hệ sinh thái gem phong phú | ❌ Không phổ biến bằng Python/JavaScript |
✔ Rails framework mạnh mẽ | ❌ Đa luồng phức tạp (GIL) |
✔ Phát triển nhanh (MVP) | ❌ Tài liệu ít hơn các ngôn ngữ khác |
8. Tài nguyên học Ruby
-
Tài liệu chính thức: https://www.ruby-lang.org
-
Sách:
-
“The Well-Grounded Rubyist”
-
“Eloquent Ruby”
-
-
Khóa học:
-
Ruby Koans
-
The Odin Project
-
9. Xu hướng 2024
-
Ruby 3.x tập trung vào hiệu năng (JIT compiler)
-
Rails 7 với Hotwire (giảm JavaScript)
-
API Development (Rails API mode)
-
Microservices với Sinatra
Ruby là lựa chọn tuyệt vời cho:
-
Startup cần phát triển nhanh
-
Developer ưa thích cú pháp đẹp
-
Dự án web phức tạp cần maintain lâu dài
Bạn có muốn tìm hiểu sâu hơn về Ruby on Rails hoặc cách triển khai ứng dụng Ruby production?