Ruby căn bản | Ruby là gì?

Chào mừng các bạn đến với series học lập trình Ruby căn bản. Đây là series dành cho các bạn mới bắt đầu học về lập trình ruby căn bản.

Trong series này nội dung chủ yếu xoay quanh về kỹ thuật lập trình với Ruby. Nếu bạn đã từng học bất kì 1 ngôn ngữ lập trình nào đó như PHP, C++, Python thì rất dễ để tiếp cận với Ruby. Nhưng nếu bạn là người mới bắt đầu tìm hiểu về lập trình thì phải cố gắn cày cuốc thật nhiều nhiều hơn. Để trở thành một lập trình viên giỏi thì đòi hỏi bạn phải có 1 kiến thức nền tảng vững chắc, chịu khó tìm tòi học hỏi Google thì mới phát triển và đi đến đích được. Nhưng các bạn đừng e ngại việc đó, mình sẽ là người giúp các bạn thực hiện điều này, chỉ cần các bạn thật sự đam mê thì mọi thứ đều có thực hiện được. Và trong series này mình sẽ biên soạn nội dung theo mức cơ bản nhất STEP BY STEP nên rất dễ học cho mọi đối tượng.

Ngoài Ruby ra thì bạn cần phải biết thêm về hệ quản trị cơ sở dữ liệu MySQL hoặc PostgreSQL và sử dụng tốt hệ điều hành Ubuntu hoặc MacOS (các bạn có thể vào series Học Linux để có chút kiến thức, không cần quá nhiều đâu, cơ bản mấy dòng lệnh là đủ rồi), vì mình sẽ thiết lập Ruby trên 2 hệ điều hành này, còn lý do vì sao không sử dụng trên Windows thì vào bài "Thiết lập môi trường Ruby" mình sẽ nói sau. Ông bà ta có câu "dục tốc bất đạt" cho nên với những bạn mới bắt đầu thì cứ từ từ mà học, không nên quá vội vàng. Hãy cố gắn tìm hiểu thật sâu để hiểu rõ bản chất của vấn đề thì sẽ dễ dàng đi xa hơn.

Ngoài series này ra thì các bạn có thể tìm kiếm thêm 1 số nguồn tài liệu bên ngoài hay 1 số video hướng dẫn trên youtube nó củng rất hữu ích. Nhưng với sự tâm huyết trong series này thì mình sẽ cung cấp khá chi tiết các kiến thức trong tài liệu và cách sử dụng trong thực tế như thế nào, thì mình tin chắc rằng các bạn sẽ không cần phải đi đâu tìm tòi mất thời gian. Hãy để mình trao cho bạn chìa khoá thành công!

Oke! Nãy giờ thì mình củng nói khái quát sơ qua về series Ruby, nhưng chúng ta là người mới bắt đầu học thì ít nhất ta củng phải biết cụ thể Ruby là cái gì, nó có phải là vàng, bạc, hay đá ruby gì không. Tại sao nó lại có tên là Ruby. Có bạn nào thắc mắc giống mình không nào. hehe. Thì mình xin giải thích sơ qua về ngôn ngữ lập trình Ruby này như sau:

1. Ruby là gì?

Ruby là một ngôn ngữ lập trình hướng đối tượng, mọi thứ trong ruby đều là đối tượng, ngay cả khi chúng ta gõ chữ "s" hay số "1" hoặc một kiểu dữ liệu boolean (true, false) thì nó củng chung quy là một đối tượng (Object). Thường thì các ngôn ngữ nó hao hao giống nhau chỉ khác nhau ở cú pháp (syntax) thì Ruby nó củng giống với Perl, Python, Dylan. Vậy thì quá tuyệt vời khi chúng ta học được Ruby thì coi như mình củng có cơ hội học hỏi nhanh ở các ngôn ngữ kia. Quá đã phải không nào. kaka.

Khi chúng ta đọc một cuốn sách hay nghe 1 bài hát thì ít ra ta củng phải biết tác giả của nó là ai. Vậy ai là người sáng lập ra Ruby? Hãy củng mình đi tiếp qua phần 2 xem ai là người tạo ra ngôn ngữ Ruby.

2. Chủ nhân tạo ra ngôn ngữ Ruby là ai?

Ruby được tạo ra bởi Yukihiro Matz Matsumoto từ 24 tháng 2, 1993 và đưa ra bản chính thức vào năm 1995. Suy nghĩ ban đầu của anh Yukihiro là tạo ra một ngôn ngữ với cú pháp đơn giản nhất, với người không quá giỏi về lập trình nhưng đọc có thể hiểu được, cho nên ông đã đưa ra tiêu chí này lên hàng đầu trong quá trình phát triển. Sau này khi bước đầu tiên hoàn tất ngôn ngữ này thì anh đã đùa với một người bạn nên đặt tên ngôn ngữ này như thế nào nghe cho nó giống như một viên đá quý. Thì lúc đó anh bạn này mới nghĩ rằng Ruby chịu nhiều ảnh hưởng từ Perl, mà Perl lúc đầu được đặt tên là Pearl - ngọc trai, và anh bạn liền nghĩ đến cái tên là Ruby. Sau này Matz cũng bất ngờ khi phát hiện ra Pearl là viên đá quý tượng trưng cho những người sinh tháng 6, còn Ruby thì tượng trưng cho những người sinh tháng 7. Anh cho rằng cái tên Ruby như thế là phù hợp vì Ruby kế thừa và phát triển nhiều đặc tính từ Perl .

Nguồn gốc để cho ra được cái tên Ruby thật thú vị. Vậy những ưu điểm và nhược điểm mà ngôn ngữ này có là gì?

Ưu điểm:

  • Mã nguồn mở
  • Hoạt động trên nhiều nền tảng
  • Có thể nhúng vào HTML
  • Ngôn ngữ cấp cao
  • Cung cấp các phương pháp đóng gói dữ liệu trong các đối tượng
  • OOP tinh khiết (Lập trình hướng đối tượng)
  • Kỹ thuật chuỗi và văn bản thao tác siêu tiên tiến
  • Có thể dễ dàng kết nối với DB2, MySQL, Oracle, và Sybase
  • Các chương trình lớn và mở rộng cao dễ dàng được bảo trì
  • Có một cú pháp sạch sẽ và dễ dàng cho phép các nhà phát triển mới để tìm hiểu Ruby rất nhanh chóng và dễ dàng
  • Có khả năng viết các ứng dụng đa luồng với một API đơn giản
  • Cung cấp lớp màn tiên tiến
  • Có thể viết thư viện bên ngoài Ruby hoặc C
  • Tính năng bảo mật tốt hơn
  • Nó có một trình gỡ lỗi
  • Cú pháp linh hoạt
  • Chuỗi xử lý mạnh mẽ
  • Có hệ sinh thái lớn trong cộng đồng

Nhược điểm:

Hiện tại mình chỉ biết có 2 nhược điểm này thôi

  • Việc học ngôn ngữ Ruby có thể khó khăn ở chỗ cài đặt môi trường, còn cách sử dụng Ruby thì đơn giản lắm, các bạn yên tâm mình sẽ hướng dẫn cách cài đặt chi tiết cụ thể ở bài sau.
  • Thời gian xử lý chậm hơn (thời gian CPU) so với các ngôn ngữ lập trình khác

Nếu như trong PHP có các framework như Lavarel, CodeIgniter, Phalcon, Cake PHP ... thì bên cạnh ngôn ngữ Ruby củng có 1 framework nổi tiếng đi kèm là Ruby on Rails, Sinatra. Với các trang web nổi tiếng như Github, themeforest, slideshare, twitch, goodreads thì đều phát triển trên framework Ruby on Rails - nền tảng Ruby. Với các ông lớn như trên thì các bạn yên tâm mà học Ruby nhé.

-------------------#####-------------------

Notes: Series có sự tham khảo 1 số trang như tutorialspoint, ruby-doc