0

So Sánh Ruby với các ngôn ngữ lập trình khác

Ruby on Rails (RoR) đang trở thành một trong những framework ứng dụng Web phổ biến. Nó là khá tự nhiên cho các nhà phát triển để so sánh Ruby on Rails với ngôn ngữ khác. Vì ngôn ngữ lập trình được sử dụng để viết Rails là Ruby, việc so sánh giữa Ruby và các ngôn ngữ lập trình khác, chẳng hạn như Perl, Python và Java. Đối với bất cứ ai đã làm việc với những ngôn ngữ khác, mã Ruby sẽ trông có sự tương đồng. Thực sự có một lý do cho điều này. Cú pháp được thiết kế để bắt chước các ngôn ngữ phổ biến như Python, Java, Perl và các ngôn ngữ khác. Đó là bởi vì Matz, người sáng tạo của Ruby, muốn nó là dễ sử dụng cho cả những người mới làm quen và có kinh nghiệm lập trình. Một số điều nổi bật về Ruby là:

  • Mọi thứ đều có giá trị, ngay cả khi nó là "nil".
x = 10
y = 11
z = if x < y
      true
    else
      false
    end
z # => true

  • symbol không phải là string, nhưng giống về các đặc tính.
irb(main):001:0> :george.object_id == :george.object_id
=> true
irb(main):002:0> "george".object_id == "george".object_id
=> false
irb(main):003:0>
  • Mọi thứ trong Ruby là một đối tượng, bao gồm các classes và intergers.
# This is the same as
# class MyClass
#   attr_accessor :instance_var
# end
MyClass = Class.new do
  attr_accessor :instance_var
end
  • Ruby có hằng số biến.
  • Ruby có các quy ước đặt tên nghiêm ngặt thông qua biến toàn cục, cục bộ và class.
  • Các phương thức có thể có các phân chia phạm vi cụ thể : public, protect và private.
  • Các Class trong Ruby có thể được opened, edited, và changedi bất cứ lúc nào.

Hãy nhìn vào sự khác biệt chung giữa Ruby và các ngôn ngữ khác. So sánh được đưa ra dưới đây cho bạn một cái nhìn sâu sắc rõ ràng về những lợi thế và bất lợi trong phát triển ứng dụng Web: Ruby

1. So với PHP:

  • Một code PHP thực thi nhanh hơn code RoR. Tuy nhiên, một ứng dụng Ruby on Rails có ít dòng mã hơn so với cùng một ứng dụng được viết bằng PHP.
  • Các ứng dụng Ruby on Rails cần một máy chủ dựa trên UNIX trong khi phần lớn các Web hosting companies hỗ trợ các ứng dụng PHP.
  • Kiểm tra code của ứng dụng Ruby on Rails rất đơn giản. Trong PHP, thử nghiệm mô-đun và coding là một chút khó khăn.
  • Ứng dụng RoR có cấu trúc code clear hơn PHP, giúp thao tác dễ dàng hơn.
  • Phạm vi framework như Zend, Codeigniter, và CakePHP hỗ trợ PHP. Tương tự như vậy, một loạt các framwork như Vintage, Sinatra và Rails hỗ trợ Ruby.
  • PHP đòi hỏi không gian bộ nhớ ít hơn Ruby. Do đó, các ứng dụng PHP thường chạy nhanh hơn các ứng dụng Ruby on Rails.

2. So với Perl:

  • Ruby có hướng đối tượng nhiều hơn Perl.
  • Perl hỗ trợ nhiều thuộc tính Unicode, lập bản đồ trường hợp đầy đủ và Grapheme. Ruby ít hỗ trợ hơn, và mã hoá các chuỗi của nó là rõ ràng hơn.
  • Ruby có nhiều thư viện của bên thứ ba hơn Perl.
  • Perl hỗ trợ nhiều loại biến trong khi Ruby chỉ có một tham chiếu kiểu biến đối với một đối tượng.
  • Perl hỗ trợ tự động chuyển đổi các kiểu dữ liệu trong khi Ruby yêu cầu lập trình viên chuyển đổi các kiểu theo cách rõ ràng.

3. So với Java:

  • Java và Ruby tuân theo cùng một nguyên tắc hướng đối tượng.
  • Lợi thế lớn nhất của Ruby trên Java là bạn có thể hoàn thành task bằng cách viết ít dòng mã hơn. Điều này giúp sửa lỗi và tăng tốc độ phát triển.
  • Code Ruby có thể được diễn giải và không cần biên dịch. Tuy nhiên, mã Java cần được biên soạn trước khi giải thích
  • Ruby cung cấp tính linh hoạt và dễ đọc trong khi Java cung cấp hiệu suất ứng dụng tốt hơn.
  • Java tuân theo cú pháp C nghiêm ngặt trong việc mã hoá trong khi Ruby cho phép lập trình loại bỏ một vài mã.
  • Việc thực hiện mã Java nhanh hơn Ruby. Lý do là mã Java được chuyển đổi sang ngôn ngữ máy và máy ảo Java thực thi mã nhanh hơn.
  • Ruby không có kiểu khai báo, và bạn có thể gán tên cho biến nếu cần. Trong Java, mỗi biến đều thuộc một số lớp. Do đó, một lập trình viên được yêu cầu khai báo kiểu biến và tên của nó trước khi sử dụng nó trong một mã.
  • Java và Ruby có thể được sử dụng cùng nhau, và chúng bổ sung cho nhau. JRuby là một thực hiện ngôn ngữ lập trình Ruby qua Java Virtual Machine

Bài viết mới chỉ là cách nhìn khác quan nếu đối với ai chỉ sử dụng ruby on rails . Do tổng hợp từ nhiều nguồn và mới là cách nhìn chủ quan của tác giả , mình sẽ tìm hiểu và bổ xung thêm vào thời gian tới , thanks !! Nguồn : https://www.allerin.com/blog/ruby-on-rails-vs-other-languages http://www.codeconquest.com/tutorials/ruby/ruby-vs-other-languages/


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí