Jython - Tổng quan
Jython là triển khai JVM của ngôn ngữ lập trình Python. Nó được thiết kế để chạy trên nền tảng Java. Một chương trình Jython có thể nhập và sử dụng bất kỳ lớp Java nào. Cũng giống như Java, chương trình Jython biên dịch thànhbytecode. Một trong những ưu điểm chính là giao diện người dùng được thiết kế bằng Python có thể sử dụng các phần tử GUI củaAWT, Swing hoặc là SWT Package.
Jython, bắt đầu là JPython và sau đó được đổi tên, tuân theo chặt chẽ việc triển khai Python tiêu chuẩn được gọi là CPython như được tạo ra bởi Guido Van Rossum. Jython được tạo ra vào năm 1997 bởiJim Hugunin. Jython 2.0 được phát hành vào năm 1999. Kể từ đó, các bản phát hành Jython 2.x tương ứng với các bản phát hành CPython tương đương. Jython 2.7.0 được phát hành vào tháng 5 năm 2015, tương ứng với CPython 2.7. Quá trình phát triển Jython 3.x đang được tiến hành.
Sự khác biệt giữa Python và Java
Sau đây là những điểm khác biệt giữa Python và Java:
Python là một ngôn ngữ được nhập động. Do đó, khai báo kiểu của biến là không cần thiết. Mặt khác, Java là một ngôn ngữ được định kiểu tĩnh, có nghĩa là việc khai báo kiểu của biến là bắt buộc và không thể thay đổi.
Python chỉ có các ngoại lệ không được kiểm tra, trong khi Java có cả các ngoại lệ được kiểm tra và bỏ chọn.
Python sử dụng thụt lề để xác định phạm vi, trong khi Java sử dụng dấu ngoặc nhọn phù hợp.
Vì Python là một ngôn ngữ dựa trên trình thông dịch, nó không có các bước biên dịch riêng biệt. Tuy nhiên, một chương trình Java cần được biên dịch thành bytecode và lần lượt được thực thi bởi một JVM.
Python hỗ trợ đa kế thừa, nhưng trong Java, đa kế thừa là không thể. Tuy nhiên, nó có triển khai một giao diện.
So với Java, Python có cấu trúc dữ liệu tích hợp phong phú hơn (danh sách, dict, bộ giá trị, mọi thứ đều là một đối tượng).
Sự khác biệt giữa Python và Jython
Sau đây là sự khác biệt giữa Python và Jython:
Triển khai tham chiếu của Python, được gọi là CPython, được viết bằng ngôn ngữ C. Mặt khác, Jython được viết hoàn toàn bằng Java và là một triển khai JVM.
Python chuẩn có sẵn trên nhiều nền tảng. Jython có sẵn cho bất kỳ nền tảng nào có cài đặt JVM trên đó.
Mã Python tiêu chuẩn biên dịch thành một .pyc tệp, trong khi chương trình Jython biên dịch thành .class tập tin.
Phần mở rộng Python có thể được viết bằng ngôn ngữ C. Các phần mở rộng cho Jython được viết bằng Java.
Jython thực sự là đa luồng trong tự nhiên. Tuy nhiên, Python sử dụngGlobal Interpreter Lock (GIL) cơ chế cho mục đích.
Cả hai cách triển khai đều có các cơ chế thu gom rác khác nhau.
Trong chương tiếp theo, chúng ta sẽ học cách nhập các thư viện Java trong Jython.