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.
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.
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ỉ http://java.sun.com.
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.
Bình thường, các nút bấm đều ở trạng thái nổi (thực chất chúng đều là các tệp ảnh bình thường). Khi đưa con trỏ chuột vào, nút tương ứng sẽ lõm xuống (thực tế là được thay thế bằng một tệp ảnh khác).
Đây chỉ là một ví dụ rất đơn giản của JScript trong việc thể hiện 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.vatgia.com/home/detail.php?module=estore_news&type=1&iNew=13241
Bình luận