A: Mohammed Isam, một cựu lead programmer và quản trị hệ thống
————
Với một người mới chập chững bước chân vào lập trình, có. Đây là chương trình “Hello World!” trong Python:
_________
print(“Hello, World!”)
_________
Và đây vẫn là chương trình đơn giản ấy, trong Java:
_________
public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello, World!”);
}
}
_________
Với những ai đơn giản chỉ muốn bắt đầu với việc lập trình càng-nhanh-càng-tốt, rõ ràng họ sẽ chọn phương án đầu tiên. Ai cũng biết một sự thật hiển nhiên: Java dài dòng và phức tạp hơn Python.
Bên cạnh đó, Python là một ngôn ngữ thông dịch. Nó đồng nghĩa với việc để chạy chương trình bên trên, bạn chỉ cần bật Chrome (hay bất cứ trình duyệt nào bạn muốn) lên và tải trình thông dịch về. Đối với Java, bạn sẽ phải làm nhiều việc hơn thế.
Nhưng thời đó đã qua lâu rồi. Bây giờ bạn có thể dễ dàng có cho mình một bản Java SDK được biên dịch sẵn, với trình biên dịch, IDE và những thứ khác liên quan. Hầu hết các IDE cho Java hiện nay như NetBeans, Eclipse và IntelliJ IDEA đều đã làm việc
sử dụng Java trở nên dễ dàng như Python đã có lâu nay. Bạn sẽ có một cây phát triển (development tree) được xây dựng sẵn; IDE của bạn sẽ thay bạn xử lý nhiều thứ khác như là các phụ thuộc (dependencies), các thư mục và đường dẫn,.. (và có khi bạn còn chẳng cần tự mình viết đoạn code trên!).
Thêm vào đó, ngày nay hầu hết các hệ thống chạy trên GNU/Linux được cài sẵn trình biên dịch Python. Một số thì được cài sẵn Java (và kể cả khi chúng không được cài sẵn, bạn vẫn có thể tải chúng về với trình quản lý gói (package manager) ). Sau đó bạn sẽ cần có một IDE. Vì thế, nói về việc cài đặt môi trường, Python có vẻ dễ dàng hơn đối với những người mới.
Nhưng ngược lại, đối với các lập trình viên dày dạn kinh nghiệm (trong bất kỳ ngôn ngữ nào trừ hợp ngữ), những dòng mã Python là một thứ làm họ đau đớn. Hãy thử nhìn qua đoạn code ngốc nghếch này:
_________
if num < 0:
print(“Negative”)
elif num == 0:
print(“Zero”)
else:
print(“Positive”)
_________
Những dấu ngoặc nhọn đã biến đi đâu mất rồi? Cái trò “thụt đầu dòng code của bạn, hoặc chết” là sao vậy? Tôi biết việc định dạng mã nguồn là vô cùng quan trọng, chúng tôi đều tuân thủ một phương pháp định dạng tiêu chuẩn hoặc một cái gì đó khác tương tự thế (nếu không, chúng tôi là một đám tồi tệ), nhưng như thế này thì thật không ra thể thống gì cả. Còn nữa, nó làm cho những lập trình viên non trẻ khác bị ám ảnh với việc thụt-đầu-dòng và khiến họ xa lánh những dấu ngoặc nhọn đầy sức mạnh của C. Tôi không biết bất kỳ ai có thể học Python đầu tiên và rồi sau đó học bất kỳ ngôn ngữ nào mang hơi hướng giống C khác – nó là một sự khó khăn khó diễn tả.
TL;DR Với người mới, Python dễ hơn. Với những người dày dạn kinh nghiệm, sự khác biệt giữa 2 ngôn ngữ chẳng đáng là bao.