Đôi khi ngời lập trình ứng dụng nhầm lẫn khi chọn ngôn ngữ phát triển ứng dụng của mình. Trong phần này, chúng ta sẽ so sánh Java với các công cụ phát triển khác để thấy đợc Java có thể và thích hợp để làm gì?
1. Java so sánh với Perl
Perl từ lâu đã là ngôn ngữ lý tởng cho việc lập trình CGI (CGI - Common Gateway Interface). Với các ứng dụng phía server, ít có ngôn ngữ nào tiện lợi, đơn giản hơn Perl. Điểm mạnh của Perl chính là khả năng phân tích các xâu ký tự rất mạnh. Khi làm việc thuần tuý với văn bản, Perl có tốc độ cao hơn nhiều so với Java. Tuy nhiên, Perl lại không có các tính năng đồ hoạ nh Java. Java là ngôn ngữ phân tán, nghĩa là chơng trình viết bằng Java không nhất thiết phải chạy ở server nh Perl. Nh vậy, Java giúp giảm tải trọng công việc trên server, đồng thời làm việc phân phối các chơng trình Java đơn giản hơn (với Perl, khi đem chơng trình từ nơi này sang nơi khác cần phải thay đổi đôi chỗ).
Điểm hạn chế lớn nhất của Java so với Perl là Java không đợc phép ghi thông tin lên server. Tuy nhiên, đây liên quan đến vấn đề an ninh, không phải là lỗi của Java. Vấn đề này sẽ đợc xem xét giải quyết trong một vài năm tới.
2. Java so với các ngôn ngữ khác
Các ngôn ngữ lập trình khác nh C, C++ có mặt từ trớc Java khá lâu, đợc xây dựng đầy đủ hơn, cung cấp cho ngời sử dụng nhiều dịch vụ cấp thấp mà Java không có. Chúng cho phép ngời sử dụng tạo ra các chơng trình đợc tối u hoá để chạy trên phần cứng hoặc phần mềm nhất định. Chính vì vậy, Java sẽ khó lòng thay thế các ngôn ngữ này trong mọi lĩnh vực. Tuy nhiên, với các tính năng nh an ninh, khả năng chạy trên nhiều môi trờng, không ngôn ngữ nào trên đây so đợc với Java trong việc xây dựng những ứng dụng dành cho Internet.
3. Java và ActiveX
Ngày 07/11/1995, Microsoft bắt đầu nhảy vào thị trờng Internet. Trong cuộc họp báo lớn cùng ngày, Chủ tịch Bill Gates cho rằng Microsoft đã "thiếu quan tâm vào sự phát triển của Internet". Đáp ứng lại tuyên bố này, hãng Microsoft đã nhanh chóng thiết kế lại hệ thống thành phần đối tợng nhúng và liên kết (OLE) để chạy trên Internet và đổi tên thành ActiveX.
Giống nh Java Applet, khi trình duyệt hỗ trợ ActiveX nạp các trang Web có nhúng thành phần điều khiển ActiveX, các thành phần này sẽ đợc lấy về và thực thi trên máy tại chỗ. Microsoft cũng thiết kế Visual Basic Script có cú pháp giống Basic (nhng đơn giản hơn rất nhiều) để cạnh tranh với JavaScript. VBScript đóng vai trò cầu nối giữa HTML và ActiveX. Khi ngời sử dụng nhấn chuột trong trang HTML, trình duyệt sẽ thực thi phần VBScript quy định xử lý sự kiện đó. Đoạn VBScript này đến lợt mình gọi đến thành phần điều khiển ActiveX.
Ưu điểm thứ nhất của ActiveX là tốc độ khá cao, do nó đợc viết tối u cho Microsoft Windows. Thứ hai, ActiveX thực chất là các OCX của Visual Basic 32-bit, do đó chúng ta dễ dàng tạo mới các thành phần này bằng công cụ mạnh nh Visual Basic 5.0, Delphi 2.0 hay Visual C++... Chúng ta cũng có thể tái sử dụng hàng trăm thành phần điều khiển đã có sẵn trên thị trờng vào trang Web của mình. Thứ ba, ActiveX có khả năng liên kết đến các ứng dụng khác của Microsoft nh NetMeeting... Tuy nhiên, công nghệ mới này có một số nhợc điểm quan trọng mà Microsoft đang cố gắng khắc phục:
• ActiveX chỉ chạy trên môi trờng Windows: Trình duyệt xét duy nhất hiện nay hiểu đợc ActiveX là Internet Explorer 3.0. Điều này làm mất đi tính độc lập với hệ thống của Web (Microsoft đang triển khai ActiveX trên các hệ thống khác nh Macintosh, Sun... nhng việc này gặp khá nhiều khó khăn). Giám đốc điều hành Sun - Scott McNealy đã đặt tên cho công nghệ này một cách mỉa mai là CaptiveX (captive: bị bắt giữ).
• Tính an toàn của VBScript còn đang là vấn đề đợc tranh cãi. Một số kỹ thuật viên lập trình đã đa ra cách dùng các hàm VBScript kiểu OLE Automation để thực thi lệnh của hệ điều hành trên máy client.
Trái lại với ActiveX, Java tuy có tốc độ chậm nhng an toàn và chạy đợc trên nhiều hệ thống khác nhau hơn. Hãng Sun có kế hoạch tăng tốc cho Java và cải tiến các th viện cho ngôn ngữ này trong phiên bản tiếp của Java Development Kit sẽ có vào đầu năm 1997. Bên cạnh đó, đứng đằng sau Java là những nhà sản xuất phần cứng và phần mềm hùng mạnh. Càng ngày càng nhiều công cụ xây dựng ứng dụng Java trực quan đang đợc phát triển và đa vào sử dụng nh Latte của Borland, Visual Cafe của Symantec, Java Workshop của SunSoft,...
ý tởng của Oracle về máy tính mạng rẻ tiền, dễ dùng có sử dụng Java cũng hứa hẹn trong tơng lai Java sẽ là một chuẩn đợc nhiều ngời sử dụng...