(Post 17/11/2006) Mười năm sau khi Java được
chính thức công bố vào tháng 5 năm 1995, giấc mơ về một nền tảng phần
mềm hiện diện khắp nơi và hỗ trợ cho thế giới nối mạng đang dần trở thành
hiện thực.
Java, có tên ban đầu là Oak, là một phần trong dự án
Green của hãng Sun. Dự án này được bắt đầu từ tháng 12 năm 1990 với 3
thành viên gồm Patrick Naughton, Mike Sheridan và James Gosling (người
cuối cùng là kiến trúc sư trưởng của Java, được xem như “cha đẻ” của Java).
Ngay từ ngày đó, các kiến trúc sư Java đã tiên đoán về một thế giới nối
mạng phủ khắp, kết nối tất cả các loại thiết bị với nhau và tạo nên môi
trường làm việc cộng tác tuyệt vời. Đó là thời điểm chỉ vài năm trước
khi trình duyệt Mosaic ra mắt và World Wide Web ra đời.
Kim Polese, nguyên giám đốc sản phẩm Java thời đó, nhớ
lại: Chúng tôi biết mình có một công nghệ mạnh, nhưng có khó khăn trong
việc tìm nền tảng thích hợp để làm bệ phóng cho nó. Những bước thăm dò
ban đầu trong lĩnh vực truyền hình tương tác và PDA mới mẻ tỏ ra non nớt,
nhưng sự kiên trì của chúng tôi được đền đáp khi xuất hiện phiên bản đầu
tiên của trình duyệt Mosaic.
Mosaic chỉ hiển thị văn bản và hình ảnh tĩnh. Cái còn
thiếu chính là sự tương tác: Khả năng chạy chương trình trong trang web,
hiển thị ảnh động và đáp ứng thời gian thực. Nhận thấy World Wide Web
là môi trường lý tưởng để làm bệ phóng cho Java, các kiến trúc sư Java
đã phát triển HotJava, trình duyệt tương tác đầu tiên cho phép hiển thị
ảnh động và thông tin (như tỉ giá ngoại tệ, giá chứng khoán...) theo thời
gian thực trên web.
Về mặt kỹ thuật, Java đã phá bỏ những rào cản nền tảng
hệ thống. Nó giải phóng các nhà phát triển phần mềm khỏi sự lệ thuộc phần
cứng, và cho phép họ viết ứng dụng một lần cho nhiều hệ điều hành khác
nhau. Java rất linh hoạt. Là một ngôn ngữ lập trình, Java được thiết kế
đủ nhỏ để có thể chạy trên các thiết bị di động có tài nguyên hạn chế,
nhưng cũng đủ mạnh để hỗ trợ các ứng dụng phức tạp. Bằng cách sử dụng
máy ảo, Java có thể giải quyết những vấn đề bảo mật đã cản trở những cố
gắng trước đó nhằm tạo chương trình có tính khả chuyển trên nhiều nền
tảng hệ thống.
Chặng đường đã qua
Chưa đầy một năm sau khi ra mắt chính thức, tháng 1 năm
1996, bộ công cụ đầy đủ dành cho phát triển ứng dụng Java, JDK 1.02 (Java
Development Kit) được phát hành. Phiên bản JDK 1.1 được tung ra một năm
sau đó và được nâng cấp dần trong nhiều năm, cuối cùng kết thúc với phiên
bản 1.1.8.
JDK 1.1 giới thiệu mô hình JDBC (Java Database Connectivity)
dùng cho truy xuất cơ sở dữ liệu, RMI (Remote Method Invocation) dùng
cho đối tượng phân tán và JavaBean dùng cho giao tiếp ứng dụng phía client.
Mô hình JavaBean đưa ra phương thức getter/setter rất mạnh nhưng đồng
thời cũng giới thiệu những hàm đầy tai tiếng trong AWT (Abstract Window
Toolkit) có thể gây khó khăn cho việc gỡ bỏ về sau. AWT còn đưa ra mô
hình ủy thác sự kiện được sử dụng ở một giai đoạn khác trên lộ trình Java,
dự án Swing.
Dự án Swing, hay thành phần JFC (Java Foundation Classes),
đã có một hành trình riêng trước khi được tích hợp vào JDK. Không biết
có ai còn nhớ nhóm phát triển trình duyệt Netscape đã phát triển công
nghệ gọi là IFC (Internet Foundation Classes) và chính công nghệ này được
dùng làm cơ sở cho JFC. JFC là bộ công cụ đồ họa thuần tuý Java và yêu
cầu sự hỗ trợ rất ít từ AWT. Swing có những tính năng mới như kéo-thả.
Mã lệnh Swing được tích hợp vào JDK 1.2.
JDK 1.2 được dự tính gọi là JDK 2.0. Do ngày phát hành
gần thời khắc thiên niên kỷ, năm 2000, ngay cả tên Java 2000 cũng đã được
xem xét. Cuối cùng tên gọi Java 2 phiên bản 1.2 được chọn. Bản phát hành
này không có Swing, nhưng có API Collections, một thư viện dựng hình Java
2D và âm thanh mới. Hai công nghệ mới này sử dụng các sản phẩm của hãng
khác và việc tích hợp chúng đã gây không ít khó khăn. Một số lỗi do việc
tích hợp này đã không được sửa cho đến tận phiên bản 1.4 và J2SE 5.0 (được
đổi số hiệu từ 1.5).
Có thể nhiều nhà phát triển không nhớ phiên bản 1.2.1.
Đây là bản sửa lỗi bảo mật có cuộc sống ngắn ngủi. Bản sửa lỗi thực sự
là 1.2.2. JDK 1.2.2 là phiên bản đưa ra JVM trên Linux lần đầu tiên. Máy
ảo Java (JVM - Java Virtual Machine) này được gọi là JVM kinh điển và
sử dụng trình biên dịch JIT (Just-In-Time compiler).
Trong khi đó, Hotspot JVM lẳng lặng chờ thời. Sun đã
mua lại công nghệ này dùng để đẩy mạnh Smalltalk và đã tốn nhiều công
sức phát triển. Khác với trình biên dịch JIT, sản phẩm Hotspot là bản
JVM hoàn chỉnh với đầy đủ sức mạnh, sử dụng các kỹ thuật thu “rác” mới
và quản lý tiến trình tốt hơn.
J2SE 1.3 được phát hành trong năm 2000 và đưa ra Hotspot
JVM cho tất cả nền tảng, tuy nhiên phải đến phiên bản 1.3.1, JVM này mới
được hỗ trợ đầy đủ.
Những sự kiện trong 5 năm qua hẳn chưa phai nhoà trong
ký ức mọi người. J2SE 1.4 xuất hiện vào năm 2002 và đưa ra NIO (New I/O),
Java Web Start, JVM 64-bit và chú trọng Swing, cải tiến tốc độ và API
lưu ký (log). Tiếp đó là bản nâng cấp 1.4.1 hỗ trợ một số tính năng của
nền tảng Itanium và các cơ chế thu “rác” mới. J2SE 1.4.2 là bản nâng cấp
cuối cùng của 1.4.
Đánh giá đây là bước phát triển lớn, Sun quyết định đổi số hiệu 1.5 (tên
mã Tiger) thành J2SE 5.0 hiện tại, tập trung cải tiến thời gian khởi động,
các tính năng ngôn ngữ mới và giám sát hệ thống.
Tương lai Java
Tin vui cho “fan” của Java, các phiên bản 6.0 (tên mã
“Mustang”, dự kiến phát hành vào giữa năm 2006) và 7.0 sẽ nối dài lộ trình
Java đến năm 2008. Đặc biệt, hãng Sun đã gián tiếp đề cập đến tương lai
Java thông qua một số phát biểu gần đây về chính sách bản quyền mới, tuy
vẫn chưa phải là nguồn mở. Động thái này trấn an dư luận lo ngại về việc
Sun sẽ “giết chết” Java theo đường lối “đóng cửa”. Cả đặc tả JVM và ngôn
ngữ Java giờ đây đều đã chín muồi đủ để tách thành tổ chức độc lập, đây
là điều đã từng được hứa hẹn vào những ngày đầu của Java và giờ đã đến
lúc thực hiện cam kết này với các nhà phát triển khắp thế giới.
Trong một cuộc thuyết trình hồi đầu năm, James Gosling
đã nhận định tương lai Java sẽ là những hệ thống “không biên giới” – các
hệ thống có thể liên lạc với nhau dễ dàng và thông suốt, hay một thế giới
nối mạng phủ khắp. Theo ông, tương lai của Java không giới hạn trên các
hệ thống PC mà là tất cả hệ thống có thể “nhúng” chương trình, ví dụ điện
thoại di động. Nếu bạn nhìn vào các điện thoại di động hiện nay, bạn sẽ
thấy chúng có năng lực tương đương như PC cách đây 6 hay 7 năm. Hãy nhìn
vào những gì người ta đang làm với PDA và những thứ tương tự.
Hậu Java? Theo Guy L., Steele Jr., người vừa đoạt giải
thưởng Excellence in Programming Award 2005 của tạp chí Dr. Dobbs Journal
(tạp chí hàng đầu về lập trình) và là đồng tác giả đặc tả Java (cùng với
James Gosling), các ngôn ngữ lập trình cũng có tuổi thọ và Java có thể
tồn tại trong khoảng 20 năm nữa. Đó là lúc xuất hiện một ngôn ngữ lập
trình mới. Hiện Guy lãnh đạo một nhóm nghiên cứu nhằm tạo ra một ngôn
ngữ lập trình mới tốt hơn Java có tên là Fortress. Đây là một phần trong
dự án lớn của Sun thiết kế nhắm đến hệ thống siêu máy tính trong tương
lai. Dự án này được sự tài trợ của DARPA (cơ quan nghiên cứu quốc phòng
Mỹ), tổ chức khởi xướng Internet.
Phương Uyên (tổng hợp)
(theo PC World VN) |