Mặc
dù mới xuất hiện gần đây, Java đã có một tầm quan trọng đặc biệt và được coi là
ngôn ngữ của tương lai trước bối cảnh bùng nổ của mạng toàn cầu Internet. Trong
xu thế hiện nay, người ta quan tâm và nói nhiều đến Java, bản thân PC World VN
cũng không ít lần đề cập tới vấn đề này, điển hình là loạt bài "Java cho mọi
người" đã đăng trên các số tạp chí từ 3/1997 đến 2/1998. Trong bài này, một
lần nữa, chúng tôi muốn trình bày lại về ngôn ngữ đang được ưa chuộng này,
nhưng với nội dung ngắn gọn và cô đọng hơn nhằm giúp các bạn có được cái nhìn khái
quát về Java.
Java
là gì?
Thập
kỷ 90 chứng kiến một sự phát triển như vũ bão của mạng Internet, kèm theo đó là
vô vàn các ứng dụng trên các môi trường, hệ điều hành (OS) và các hệ xử lý
(CPU) khác nhau. Tuy nhiên có một điểm hạn chế lớn là người lập trình phải rất
vất vả khi chuyển đổi các ứng dụng của mình để các hệ thống khác có thể sử dụng
được.
Ngày
23/5/1995, công ty máy tính Sun Microsystems đã giới thiệu một công cụ lập
trình mới - ngôn ngữ Java - nhằm khắc phục những khó khăn đó. Đặc điểm nổi bật
nhất của Java là nó không phụ thuộc vào hệ điều hành và bộ xử lý. Điều này cho
phép một ứng dụng viết bằng Java có thể được thực hiện trên bất kỳ hệ điều hành
và hệ xử lý nào có hỗ trợ Java. Do vậy, người lập trình chỉ cần viết ứng dụng bằng
Java đúng một lần, sau đó có thể sử dụng ứng dụng này trên các hệ điều hành
khác nhau như Windows95, WindowsNT, Mac OS, Unix,... theo phương châm: "viết
một lần, sử dụng ở bất kỳ đâu".
Có
thể định nghĩa một cách chính xác hơn về Java: "là ngôn ngữ lập trình hướng
đối tượng, được thiết kế độc lập với hệ điều hành, cho phép người lập trình viết
chương trình một lần và có thể sử dụng tại bất kỳ đâu".
Không
chỉ giới thiệu ngôn ngữ lập trình, Sun Microsystems còn đưa ra hàng loạt công cụ
hỗ trợ người lập trình phát triển các ứng dụng bằng Java, như Java Developer
Kit, JavaBeans, HotJava...
Ngôn
ngữ Java có cú pháp rất giống với ngôn ngữ C/C++ (là một ngôn ngữ rất mạnh được
dùng phổ biến hiện nay), tuy nhiên nó đã được thay đổi khá nhiều để đáp ứng khả
năng độc lập với hệ điều hành. Nền tảng của ngôn ngữ Java là các class. Các
class đóng vai trò như những đối tượng, người lập trình khi xây dựng ứng dụng sẽ
sử dụng một số class chuẩn của hệ thống, đồng thời có thể tự mình xây dựng
class khác đáp ứng yêu cầu công việc.
Java
là ngôn ngữ dễ học, nó lược bớt những lệnh thừa và rườm rà của C/C++ để người lập
trình chú trọng vào việc viết chương trình. Đồng thời, nó còn hạn chế người lập
trình không can thiệp quá sâu vào hệ thống.
Hiện
nay Java được ứng dụng rất rộng rãi, chủ yếu là các ứng dụng được viết trên
Internet nhằm khai thác tối đa khả năng của nó trong lĩnh vực viễn thông, truyền
hình, mạng, và các máy tính đơn lẻ. Hiện tại các ứng dụng viết bằng Java khi thực
hiện còn chậm hơn so với các ứng dụng được xây dựng thông thường, tuy nhiên hầu
hết các nhà phát triển phần mềm đều cho rằng tốc độ sẽ được cải thiện và Java sẽ
là ngôn ngữ lập trình của tương lai.
Hoạt
động của một ứng dụng viết bằng Java
Chương
trình xây dựng bằng Java được chia làm hai loại: Java Applet và Java
Application.
Java
Applet là các đối tượng được thực hiện trên trình duyệt Web. Khi thực hiện trên
các trình duyệt Web, Java Applet cũng tạo ra các hiệu ứng như một ứng dụng bình
thường, tuy nhiên các thông tin cho phép Java Applet thực hiện lại được đưa từ
các trang Web.
Hình
bên minh họa một cách đơn giản cơ cấu hoạt động của Java Applet. Người sử dụng
dùng trình duyệt Web (browser) để xem các trang thông tin, trong đó có nhúng đối
tượng Java Applet. Khi trình duyệt Web truy cập đến trang thông tin này, Java
Applet sẽ được tải về trình duyệt Web và được thực hiện thông qua một cơ cấu gọi
là Java Virtual Machine (JVM) đã được cài sẵn trong trình duyệt.
Java
Application (Java App) là những ứng dụng độc lập, tương tự như những chương
trình có đuôi .EXE hay đuôi .COM thông thường. Việc thực hiện Java App đơn giản
hơn Java Applet vì chúng không cần phải thông qua trình duyệt Web.
Java
Virtual Machine (JVM) đóng vai trò rất quan trọng để các ứng dụng Java có thể
thực hiện được. Nó hoạt động như một máy tính ảo, cũng có bộ lệnh, cấu trúc dữ
liệu, bộ nhớ,... Khi các ứng dụng Java (sau khi dịch, các ứng dụng viết bằng
Java sẽ có phần mở rộng là class) thực hiện, JVM tiến hành phân tích mã trong
class đó thành bộ lệnh của JVM rồi thực hiện giống như máy tính PC thao tác với
các ứng dụng thông thường.
Bởi
vậy, các class sau khi dịch có thể được thực hiện trên bất kỳ hệ điều hành nào
thông qua máy tính ảo JVM.
Hiện
tại, JVM được xây dựng cho hầu hết các hệ điều hành và hệ xử lý hiện có, điều
này có nghĩa là các ứng dụng viết bằng Java có đầy đủ điều kiện để phát triển.
Làm
thế nào để viết chương trình bằng Java?
Như
đã nói ở trên, Java rất giống C/C++. Trên thị trường hiện nay có nhiều bộ công
cụ lập trình cho Java: Java Workshop của Sun Microsystems, Visual J của
Microsoft, Symantec Cafe của Symantec... Tất cả đều có điểm chung là hỗ trợ tối
đa cho người lập trình. Sun Microsystems còn đưa ra khá nhiều phần mềm cung cấp
sẵn các đối tượng class để người lập trình sử dụng. Để bắt đầu việc học lập
trình Java, các bạn cần phải trang bị cho mình thật đầy đủ tài liệu hướng dẫn
và tối thiểu là một bộ công cụ lập trình. Các tài liệu hướng dẫn có rất nhiều
trên thị trường hoặc có thể được tải về qua địa chỉ [Only registered and
activated users can see links]
Ngôn
ngữ Java xây dựng trên nền tảng các đối tượng (class). Toàn bộ chương trình được
viết bao gồm nhiều đối tượng, mỗi đối tượng được lưu vào một tập tin có phần mở
rộng là .java.
Để dịch
Java, bạn sử dụng chương trình Javac đi kèm theo bất kỳ công cụ lập trình nào.
Java
Script là gì?
Java
Script (JScript) được đưa ra nhằm hỗ trợ khả năng tương tác của trình duyệt
Web. Hãy thử tưởng tượng trên trang Web, với khả năng của JScript, bạn có thể dễ
dàng thay đổi các hình ảnh khi đưa con trỏ chuột vào đó, làm cho trình duyệt
Web trở nên sinh động. Điểm khiến JScript trở nên thông dụng như ngày nay là nó
có cú pháp của ngôn ngữ Java, đồng thời có thể được thực hiện trên bất kỳ trình
duyệt Web nào hỗ trợ nó.
Điểm
hạn chế của JScript là nó không cho phép người lập trình tự tạo ra các đối tượng
(class) cho riêng nó, mà chỉ có thể sử dụng các đối tượng có sẵn hoặc Java
Applet. Do vậy, với những ứng dụng phức tạp, người lập trình không thể chỉ sử dụng
JScript mà phải kết hợp với các hình thức khác.
ứng
dụng của JScript
Điểm
cần nhấn mạnh là JScript được đưa ra nhằm hỗ trợ khả năng tương tác của trình
duyệt Web, do vậy tất cả các ứng dụng của JScript đều hướng tới cách trình bày
một trang Web.
Hoạt
động của JScript
JScript
hoạt động như thế nào? Nó có cần JVM để hoạt động không? Câu trả lời là có. Các
câu lệnh JScript được đưa tới JVM để phân tích và thực hiện. Chúng sẽ tác động
ngay tới bản thân trình duyệt Web và các tác động này sẽ được thể hiện trên màn
hình. Ngược lại, khi có bất kỳ sự kiện nào tác động tới trình duyệt Web, chúng
sẽ được gửi tới JVM để thực hiện các câu lệnh JScript tương ứng.
Tuy
nhiên JVM đã được đơn giản hóa tối đa để phù hợp với JScript.
So
sánh Java và ActiveX
Việc
so sánh bao giờ cũng rất phức tạp, khó khăn và nhiều khi không mang lại kết quả
thực tế. Nhưng xuất phát từ quan điểm của người dùng và dựa trên một số tính
năng chủ yếu, ta có thể so sánh Java và ActiveX để có được một đánh giá chung về
khả năng, cũng như ứng dụng của Java (xem thêm bài "Làm quen với
ActiveX" trong PC World VN số 9/1998).
Môi
trường hoạt động
Đặc
điểm nổi bật nhất của Java là độc lập với hệ điều hành và hệ xử lý. Điều này
cho phép Java có thể hoạt động trên bất kỳ môi trường nào. Trong khi đó ActiveX
chỉ có thể được thực hiện trên môi trường Windows, mặc dù Microsoft (hãng cung
cấp ActiveX) đã rất cố gắng chuyển đổi kiến trúc ActiveX sang các hệ khác. Với
ưu thế này, Java đang dần thâm nhập vào rất nhiều lĩnh vực khác nhau trong thế
giới Internet.
Khả
năng xây dựng ứng dụng
Các ứng
dụng Java hiển nhiên phải được xây dựng dựa trên ngôn ngữ Java, do đó nó phụ
thuộc rất nhiều vào sự hỗ trợ từ Sun Microsystems và các hãng cung cấp thư viện
cho lập trình Java. ActiveX linh động hơn, ta có thể viết các ứng dụng ActiveX
bằng bất kỳ ngôn ngữ nào, miễn là tuân theo các yêu cầu của kiến trúc COM
(Component Object Model) như Visual Basic, C/C++, và thậm chí có thể bằng hợp
ngữ (Assembler).
Một
điểm hạn chế nữa của Java là tốc độ. Do phải hoạt động thông qua máy tính ảo
JVM nên tốc độ thực hiện ứng dụng của Java khá chậm. Điều này lý giải tại sao
Java vẫn chưa thực sự được sử dụng như một ngôn ngữ lập trình chính hiện nay.
Tuy
nhiên, trong tương lai, khi các hệ máy tính đều đi đến xu hướng sử dụng JavaChip
thì tốc độ thực hiện ứng dụng Java sẽ không còn là vấn đề (JavaChip là bộ xử lý
hỗ trợ Java nhằm tăng tốc độ thực hiện câu lệnh Java – xem thêm bài "CPU
cho ngày mai", PC World VN 12/1996). Nếu so sánh tốc độ thực hiện của Java
và ActiveX trên cùng một hệ thống thì Java chậm hơn ActiveX từ 2 đến 10 lần,
tùy thuộc vào cấu hình hệ thống.
Tuy
vậy, không thể đánh giá Java hay ActiveX ưu việt hơn vì trong một số điều kiện
nhất định, Java tỏ ra nổi trội hơn và ngược lại.
Các ứng
dụng viết bằng Java - JScript và VBScript
Mặc
dù JScript và VBScript đều được sử dụng cho trình duyệt Web, nhưng chúng cũng
có những khác biệt đáng kể, đặc biệt là với những trình duyệt Web đang trong
giai đoạn cạnh tranh như hiện nay: Netscape và Explorer.
Với
JScript, mọi chuyện có vẻ đơn giản hơn vì bất kỳ trình duyệt Web nào cũng hỗ trợ
nó, kể cả Internet Explorer của Microsoft. Với VBScript thì không phải như vậy.
Cho đến nay, Netscape mới đưa ra trình duyệt Web để hỗ trợ cho VBScript.
Do vậy,
ứng dụng của VBScript còn rất hạn chế, chúng thường chỉ được sử dụng kèm với
các ứng dụng khác liên quan tới ActiveX.
Phải
nói rằng JScript và VBScript đều đơn giản như nhau - về câu lệnh lẫn cấu trúc -
cái gì làm được bằng JScript thì cũng có thể làm được bằng VBScript và ngược lại.
Điểm khác biệt lớn nhất là chúng dựa vào hai kiểu đối tượng khác nhau: JScript
với Java, VBScript với ActiveX.
Kết
luận
Có
thể nói rằng sự ra đời của Java đánh dấu một cuộc cách mạng mới trong lĩnh vực
Công Nghệ Thông Tin. Cuộc cách mạng này kéo theo một loạt những thay đổi: các ứng
dụng dần được thay thế bằng Java, các thế hệ máy tính sử dụng những vi mạch có
khả năng hỗ trợ Java,... Làm quen với Java sẽ giúp chúng ta tiếp cận được với
những công nghệ mới nhất của Công Nghệ Thông Tin.
http://www.java.com/fr/download/index.jsp
Mặc dù JScript và VBScript đều được sử
dụng cho trình duyệt Web, nhưng chúng cũng có những khác biệt đáng kể, đặc biệt
là với những trình duyệt Web đang trong giai đoạn cạnh tranh như hiện nay:
Netscape và Explorer.
Với JScript, mọi chuyện có vẻ đơn giản
hơn vì bất kỳ trình duyệt Web nào cũng hỗ trợ nó, kể cả Internet Explorer của
Microsoft. Với VBScript thì không phải như vậy. Cho đến nay, Netscape mới đưa
ra trình duyệt Web để hỗ trợ cho VBScript.
Do vậy, ứng dụng của VBScript còn rất
hạn chế, chúng thường chỉ được sử dụng kèm với các ứng dụng khác liên quan tới
ActiveX.
Phải nói rằng JScript và VBScript đều
đơn giản như nhau - về câu lệnh lẫn cấu trúc - cái gì làm được bằng JScript thì
cũng có thể làm được bằng VBScript và ngược lại. Điểm khác biệt lớn nhất là
chúng dựa vào hai kiểu đối tượng khác nhau: JScript với Java, VBScript với
ActiveX.
Kết luận
Có thể nói rằng sự ra đời của Java
đánh dấu một cuộc cách mạng mới trong lĩnh vực Công Nghệ Thông Tin. Cuộc cách mạng
này kéo theo một loạt những thay đổi: các ứng dụng dần được thay thế bằng Java,
các thế hệ máy tính sử dụng những vi mạch có khả năng hỗ trợ Java,... Làm quen
với Java sẽ giúp chúng ta tiếp cận được với những công nghệ mới nhất của Công
Nghệ Thông Tin.
n" st� # " o �W� ��� 51, 51, 51); font-family: Arial, Helvetica, sans-serif; font-size: 12px; ">Tuy nhiên, trong tương lai, khi các hệ máy tính đều đi đến xu hướng sử dụng JavaChip thì tốc độ thực hiện ứng dụng Java sẽ không còn là vấn đề (JavaChip là bộ xử lý hỗ trợ Java nhằm tăng tốc độ thực hiện câu lệnh Java – xem thêm bài "CPU cho ngày mai", PC World VN 12/1996). Nếu so sánh tốc độ thực hiện của Java và ActiveX trên cùng một hệ thống thì Java chậm hơn ActiveX từ 2 đến 10 lần, tùy thuộc vào cấu hình hệ thống.
Tuy vậy, không thể đánh giá Java hay ActiveX ưu việt hơn vì trong một số điều kiện nhất định, Java tỏ ra nổi trội hơn và ngược lại.
Các ứng dụng viết bằng Java - JScript và VBScript
Mặc dù JScript và VBScript đều được sử dụng cho trình duyệt Web, nhưng chúng cũng có những khác biệt đáng kể, đặc biệt là với những trình duyệt Web đang trong giai đoạn cạnh tranh như hiện nay: Netscape và Explorer.
Với JScript, mọi chuyện có vẻ đơn giản hơn vì bất kỳ trình duyệt Web nào cũng hỗ trợ nó, kể cả Internet Explorer của Microsoft. Với VBScript thì không phải như vậy. Cho đến nay, Netscape mới đưa ra trình duyệt Web để hỗ trợ cho VBScript.
Do vậy, ứng dụng của VBScript còn rất hạn chế, chúng thường chỉ được sử dụng kèm với các ứng dụng khác liên quan tới ActiveX.
Phải nói rằng JScript và VBScript đều đơn giản như nhau - về câu lệnh lẫn cấu trúc - cái gì làm được bằng JScript thì cũng có thể làm được bằng VBScript và ngược lại. Điểm khác biệt lớn nhất là chúng dựa vào hai kiểu đối tượng khác nhau: JScript với Java, VBScript với ActiveX.
Kết luận
Có thể nói rằng sự ra đời của Java đánh dấu một cuộc cách mạng mới trong lĩnh vực Công Nghệ Thông Tin. Cuộc cách mạng này kéo theo một loạt những thay đổi: các ứng dụng dần được thay thế bằng Java, các thế hệ máy tính sử dụng những vi mạch có khả năng hỗ trợ Java,... Làm quen với Java sẽ giúp chúng ta tiếp cận được với những công nghệ mới nhất của Công Nghệ Thông Tin.