Kỹ thuật tin học phát triển nhanh khủng khiếp trong 10 năm qua. Những từ ngữ như Object Oriented Programming, Client/Server, TCP/IP, Windows GUI, ActiveX, Java, http .v.v.. bây giờ rất quen thuộc với mọi người gần gũi với tin học. Vấn đề đặt ra cho chúng ta là nếu kỹ thuật đã nhiều lại dễ lỗi thời thì chúng ta nên đeo theo thứ nào để khỏi uổng công và luôn luôn bắt kịp với trào lưu tin học cận đại.
Rất tiếc là chúng ta không có căn bản về chiêm tinh nên không ai dám đoan chắc rằng trường phái nào sẽ trở thành bá chủ võ lâm tin học. Vì chưa chắc một sản phẩm, ngôn ngữ hay tiêu chuẩn nào hay mà sẽ trở nên thịnh hành. Thí dụ như Operating System OS/2 của IBM được nhiều người khen nhưng nó chưa thật sự ra đời đã bị chết ngủm rồi. Còn Unix Operating Systems đã có gần 30 năm nay nhưng nó bị Microsoft Windows lấn áp mãi cho đến khi Linux trưởng thành.
Do đó ở đây ta sẽ tạm bàn về tương lai thôi. Khi nào có thêm những dự kiện mới, cái nhìn của chúng ta cần phải được xét lại. Nếu không có ngày sắp nhỏ sẽ chê chúng ta là cổ lỗ hủ.
Ảnh hưởng của Microsoft
Sự chọn lựa kỹ thuật tin học để theo đuổi dĩ nhiên sẽ tùy thuộc vào mục tiêu của chúng ta. Nếu cho một người chỉ phụ trách công việc văn phòng thì có lẽ MSWindows98 với MSOffice97, hay gia đình 2000 của Microsoft, sẽ đáp ứng đầy đủ các nhu cầu rồi. Vì MSWindows dễ dùng nhất nên nó sẽ tiếp tục nắm một vị trí thượng phong trong nhiều năm nữa. Khi những người xử dụng MSOffice muốn tự động hóa các nhu liệu áp dụng nầy hơn thì sẽ có công ăn việc làm cho những người biết VBA (Visual Basic for Application).
VBA là ngôn ngữ Macro nằm phía sau tất cả các nhu liệu áp dụng dùng trong văn phòng của Microsoft. Việc dùng VBA là một quyết định chiến lược của Microsoft. Vì VBA dễ học và dễ dùng nên nhiều người đã tự học Visual Basic mà không biết. Đến khi khám phá ra VBA mà họ đã biết viết là một phần lớn của ngôn ngữ MS Visual Basic họ sẽ thấy ngạc nhiên một cách vui mừng và hoan nghênh VB là ngôn ngữ thảo chương chính mà họ sẽ dùng cho mọi trường hợp.
Chiếm Thị Trường
Tưởng cần nhắc lại là trước khi có MSWindows đã có Apple MacIntosh rồi. Apple MacIntosh rất thông dụng từ khi nó được tiếp thị với giá $3.000, thay thế máy Lisa (chị của MacIntosh với giá $10.000 một cái). Sự thành công của AppleMac cho thấy người xử dụng rất thích một máy tính dễ dùng. Trong lúc Apple hốt bạc bằng cách giữ giá cao và không cho ai khác chế một máy nào giống (clone), thì Microsoft lẵng lặng đổ tiền lời từ MSDos vào việc triển khai MSWindows.
Khi MSWindows 3.0 ra đời để biến một máy IBM compatible nửa giá máy AppleMac thành một máy giống MacIntosh thì Microsoft như đã bước vào khúc quanh mới và phần còn lại là lịch sữ mà tất cả chúng ta đều biết.
Từ đó, vì Microsoft là công ty lớn nhất triển khai nhu liệu áp dụng cho AppleMac, nên mỗi lần cho ra thị trường một nhu liệu, Microsoft cố ý để Version của MSWindows được bán trước Version của AppleMac sáu tháng. Thế là đủ làm AppleMac khó thở rồi.
Có người nói sở dỉ Operating System OS/2 không thọ là vì IBM dại dột nhờ Microsoft triển khai OS/2. Với trăm phương, ngàn kế để cho OS/2 ra đời chậm hơn một Version tương đương của MSWindows, Microsoft luôn luôn ăn trước và chỉ dành cho IBM những gì sót lại.
Với sức mạnh tài chánh ghê gớm, Microsoft có thể mua chuộc hầu như bất cứ một tay tổ (guru) thảo chương nào. Nếu không được thì họ mua cả công ty để dùng ngay nhu liệu của công ty ấy. Điển hình là Lantastic, một công ty bán nhu liệu dùng cho mạng lưới địa phương (Local Area Network) và Frontpage, một nhu liệu rất dễ xài dùng để làm Webpage cho Internet.
Hai Bảo Bối
Hai kỹ thuật chính của Microsoft là ActiveX và ADO (Active Data Object).
ActiveX là cái tên tiếp thị rất "kêu" để nói về việc dùng nhu liệu như từng cục nhỏ ta có thể ráp lại với nhau. Mỗi cục là một Object, như một loại thầu chuyên trị một dịch vụ nào. Sở dĩ ta gọi là thầu, chớ không gọi là chuyên viên là vì thầu là người chịu trách nhiệm về mọi vấn đề, dĩ nhiên kể cả mua sắm các vật liệu cần thiết cho công việc. Ta có thể tưởng tượng Microsoft triển khai 800 ActiveX, rồi lấy ra trong đó 600 ActiveX đễ dùng cho MSWord,570 ActiveX cho MSExcel và 700 cho MSAccess; nhiều ActiveX được dùng trong cả hai hay ba nhu liệu.
Để giúp cho ActiveX trở thành một chuẩn, Microsoft tình nguyện giúp đở các công ty nhu liệu triển khai ActiveX để dùng cho MSWindows.
Thường thường, khi nói đến một tiêu chuẩn là ta cần nhiều người hay kỹ nghệ công nhận và dùng. Nhưng khi một công ty lớn quá nó chỉ cần đẩy mạnh và gây ảnh hưởng để người khác chạy theo là cũng có một chuẩn, nhưng gọi là chuẩn IBM, chuẩn Netscape hay chuẩn Microsoft, chớ không phải chuẩn kỹ nghệ hay chuẩn quốc tế. Dầu không phải là một chuẩn quốc tế, được một ủy ban làm việc dựa vào sự tham khảo sâu rộng trong kỹ nghệ, chuẩn của một công ty lớn vẫn có thể khuynh đảo thị trường như thường.
Nếu bạn dùng ActiveX trong một nhu liệu mình triển khai bạn sẽ thấy sự lợi ích của nó rất đáng kể. Nhưng ActiveX cũng có một số trở ngại như sau:
ActiveX cần phải được đăng ký (ghi vô registry) với MSWindows trước khi dùng, và có khi chỉ vì lộn bản phát hành (Version ) mà làm bạn mất ăn, mất ngủ. Đối với những ai lo yểm trợ (support), thì giữ cho đúng Version của các ActiveX trong mỗi máy là chuyện nhức đầu.
Nếu cần phải đăng ký ActiveX trên máy người khác (thí dụ như bạn muốn cài (install) vài ActiveX lên máy của Internet Service Provider để dùng trong Active Server Pages) lại là cả một vấn đề vì lý do an ninh (security) của máy người ta. Người ta không biết chắc là có ActiveX nào của bạn vô ý xóa bỏ hồ sơ nào đó trên máy người ta không.
Có khi cần download ActiveX xuống để dùng trong WebBrowser nhưng người xử dụng không đồng ý. Do đó việc đính kèm ActiveX trong Webpage không được thịnh hành lắm.
ActiveX chỉ dùng trong MSWindows mà thôi. Nói ngay, ai dại gì yểm trợ ActiveX trên Operating System của người ta.
ADO là một bộ tam xên (có 3 cái đi chung) ActiveX. Trước đây ta có ODBC (Open Database Connectivity) là một chuẩn của Microsoft để giúp ta đọc/viết tất cả những loại cơ sỡ dữ liệu (Database), bằng cách dùng ngôn ngữ chuẩn SQL (Structured Query Language) chung với một ODBC Driver (chương trình đọc/viết Database) cho đúng loại Database. ADO gói ODBC lại để cho phép ta viết chương trình bằng Visual Basic thay vì SQL.
ADO đi xa hơn ODBC ở chỗ cho phép ta đọc/viết tất cả những loại cơ sỡ dữ liệu, ngay cả khi dữ liệu chỉ là những điện thư (Email) hay những hàng chữ chứa các dữ liệu ngăn cách bằng những dấu phẩy (comma separated values).
Cách thảo chương xào nấu Database một cách tổng quát như thế nầy không bị ảnh hưởng gì cả khi ta cần phải thay đổi loại Database (thí dụ từ Sybase qua Oracle hay SQL Server chỉ cần đổi ODBC Driver và sửa một câu chương trình duy nhất, chỗ làm Connection với Database ).
Ngoài ra, ta có thể dùng cùng một cách thảo chương nầy đối với cơ sở dữ liệu cho việc triển khai nhu liệu trên Internet hay cho WindowCE (Windows Consumer Electronic) trong các máy tính bỏ túi.
Visual Basic 6.0, tiện dụng và hiệu năng
Phải công nhận là Visual Basic của Microsoft giúp rất nhiều người trở thành thảo chương viên. Với Visual Basic, việc triển khai nhu liệu cho MSWindows rất tự nhiên và dễ làm. Những rắc rối của MSWindows đều được che lại hết và thảo chương những liên hệ với MSWindows đều tương đối đơn giản.
Tưởng cũng cần nhắc lại ở đây, Bill Gates là người giới thiệu ngôn ngữ Basic vào máy vi tính dưới dạng MSBasic. MSBasic biến một máy vi tính không có Operating System thành một dụng cụ hữu ích, ngay cả khi chưa có Operating System CP/M hay MSDos.
Lần lần MSBasic trở nên giống Pascal hơn và đổi tên là QuickBasic, nhưng nó chỉ dùng cho MSDos. Khi MSWindows trở nên thịnh hành, trong thời gian đầu không có ngôn ngữ nào tiện dụng cho việc triển khai nhu liệu áp dụng cho MSWindow.
Dầu vậy, ít ai than phiền vì đó cũng là kinh nghiệm trên AppleMac. Ngày xưa muốn viết một chương trình đơn giản trên máy AppleMac người ta phải đọc cả một bộ sách của Apple Macintosh. Ai nấy đều ngao ngán than phiền:"Tôi đâu có ý định lấy bằng Tấn Sĩ về lập trình!"
Thế rồi có một Alan Cooper phát minh ra Visual Basic, cho lập trình viên một môi trường triển khai dễ hiểu, dễ dùng, với những hình ảnh (Controls) dễ sắp đặt trên MSWindows. Đằng sau những hình ảnh ấy, nếu ta cần xử lý cảnh huống nào thì viết QuickBasic. Vì Basic nằm gần trái tim của Bill Gates, nên khi Alan Cooper, tổ sư về GUI, giới thiệu một môi trường triển khai Basic tuyệt vời cho Bill Gates thì Microsoft ôm chầm lấy Visual Basic ngay và phần còn lại là lịch sữ sự thành công của VB.
Có người cho rằng VB không phải là một ngôn ngữ lập trình đàng hoàng, chẳng hạn như khi đem nó ra so sánh với C++. Hồi đầu thập niên 1970, giáo sư N.Wirth (Thụy Sĩ) phát minh ngôn ngữ Pascal để dạy sinh viên những kỹ thuật về lập trình. Sự khác biệt chính giữa Pascal với Fortran, Cobol hay Basic thời bấy giờ là nó có cấu trúc (structural). Tức là nó có IF..THEN..ELSE, WHILE.. DO.., REPEAT..UNTIL.., CASE OF..với từng khúc lập trình nằm giữa BEGIN và END thận trọng. Với Pascal ta có thể tránh lập trình với mệnh lệnh GOTO thường thấy trong Fortran và Basic, mà nếu không khéo nhu liệu của mình sẽ giống như bánh tầm (spaghetti code).
Pascal trong dạng đó không đầy đủ các phương tiện để dùng cho các áp dụng thực tế. Mãi đến khi Borland cho ra Turbo Pascal khoảng giữa thập niên 1980 người ta mới có một ngôn ngữ Pascal đàng hoàng trên PC. Do đó Turbo Pascal được xem như Chuẩn Kỹ nghệ (Industry Standard) cho ngôn ngữ Pascal.
So với Turbo Pascal thì VB không khác bao nhiêu. Sau nầy Turbo Pascal biến dạng qua Object Pascal, rồi thành Delphi (bắt chước VB) thì ta có một đối thủ Pascal xứng đáng cho VB.
Nhìn từ quan điểm kỹ thuật lập trình (Software Engineering) thì Delphi hay hơn VB, nhưng môi trường triển khai Delphi của Borland khó dùng, dễ té và đòi hỏi người xử dụng phải biết nhiều về lý thuyết nằm phía sau ngôn ngữ.
Người ta thích Delphi hay VB tùy theo thị hiếu cá nhân. Một đặc điểm của VB mà ít ai để ý là người xử dụng không nên tuyên bố loại dữ liệu (data type) của các Variables (những chỗ chứa dữ liệu tạm thời trong trí máy tính để xử lý). Đây là điều tối kỵ trong kỹ thuật lập trình và nó có vẻ đi ngược với nguyên tắc nhờ Compiler (nhu liệu biến chương trình ta viết ra ngôn ngữ máy) kiểm soát cách dùng các loại dữ liệu trong Variables.
Thế mà đó là lý do khiến VB dễ dùng cho những người mới học. VB thích dùng một loại dữ liệu tổng quát cho mọi thứ gọi là Variant. Nó là loại dữ liệu duy nhất được yểm trợ trong VBScript (dùng cho Internet) và WindowsCE (dùng cho máy tính bỏ túi) . VB không nhắc gì đến Integer, Float, Character hay Boolean.
Cần nhớ là VB được chế ra để dùng cho MSWindows. Trong khi đó C++ là một ngôn ngữ lập trình thuần túy được đặt ra để giải quyết nhiều khuyết điểm của C và không đá động gì đến Windows. Do đó, ngay cả MSVisual C++ cũng không tiện dụng bằng VB. Có người chê C++ khó học quá. Có lẽ vì C++ khó mà ít người chịu học, một trường hợp cổ điển như một thiếu nữ quá đẹp và tài ba nên không ai dám hỏi cưới vì sợ điều khiển không nổi. Nói tóm lại, Microsoft đối đải với các thảo chương viên như "con nhà giàu".
Ngược lại chuyện gì VB không dọn sẵn thì tuy thảo chương viên có thể tìm ra cách thực hiện được, nhưng nó không đơn giản.
Đối với thảo chương viên VB, MSWindows gần như là một hộp đen (blackbox). Những gì VB không có sẵn thì phải dùng API (Application Programming Interface) để nhờ Windows thực hiện.
Muốn phân phối công tác lập trình cho một dự án VB lớn cách mạch lạc ta có thể thiết kế nhu liệu VB bằng cách triển khai những Class, một loại Object không có hình. Dầu vậy, bạn có thể dùng VB cho mọi áp dụng từ Database cho đến Communications (viển thông), Real-time (để điều khiển các nhà máy).
Nghe nói Visual Basic V7.0 sẽ là thật sự Object Oriented. Tức là ta có thể cho một Object ra đời (instantiate) bằng nhiều cách khác nhau, gọi là Đa diện (Polymorphism) và có thể gói một Object lại, thêm thắt, sửa đổi chút đỉnh để có một Object mới thích hợp hơn, gọi là Thừa kế (Inheritance).
Vì ta có thể dùng VB để triển khai mọi thứ, kể cả ActiveX và dùng VBScript, một ngôn ngữ em của VB, để triển khai nhu liệu cho Web, tương lai của VB chắc sẽ vẫn còn sáng lạng.
Lập Trình cho Internet Nếu các nhu liệu ta triển khai chỉ dùng lẩn quẩn trong nhà, trong hảng thì chắc Microsoft sẽ vĩnh viển làm minh chủ võ lâm. Trong những áp dụng có cơ sỡ dữ liệu lớn bây giờ Microsoft có WindowsNT và SQLServer. SQLServer là một cơ sở dữ liệu Microsoft mua từ Sybase. SQLServer đã trưởng thành và đang rượt theo Oracle để dành thị trường vì nó rẻ hơn.
Trong khi đó WindowsNT đã trở nên thịnh hành trong các văn phòng và lấn các hệ thống máy tính khác, kể cả UNIX. Về mạng (network) WindowsNT đã trưởng thành, chửng chạc (ít té) và chiếm thị trường của Novell từ từ.
Tự nhiên, trong vòng 5 năm qua, Internet trở nên thịnh hành và làm thay đổi cuộc diện vi tính hoàn toàn. Bây giờ lập trình không phải chỉ có Windows GUI (Graphical User Interface) và mạng (Local Area và Wide Area Network), nơi chỉ cần sản phẩm nhu liệu của một hệ thống duy nhất, thường thường là từ một công ty với những chuẩn vi tính của riêng họ. Với Internet, mỗi chuẩn phải là của công chúng, Chuẩn Kỹ nghệ.
Các bộ phận dự phần vào một cuộc trao đổi dữ liệu trên Internet không nhất thiết phải được sản xuất bởi cùng một công ty, miễn là các nơi đều dùng cách gởi dữ liệu TCP/IP (Transport Control Protocol/ Internet Protocol) và cách sắp xếp dữ liệu http (Hypertext Transfer Protocol).
Thí dụ một trang Web do WebServer Apache gởi đi từ một máy tính chạy UNIX sẽ đưọc vui vẻ đón nhận và trình bày trên một PC/MSWindows với Internet Explorer hay AppleMac với Netscape.
Kế đó người ta chưa thoả mãn với một số trang tài liệu hay hình ảnh lấy từ WebServer. Họ muốn mua hàng hóa, dặn vé phi cơ bằng Internet luôn. Tức là nhu liệu dùng trong máy PC hay trên mạng địa phương (Local Area Network) không còn thích hợp nữa. Nhu cầu mới là nhu liệu ta triển khai sẽ được cài vào WebServer để phục vụ khách hàng. Cơ sở dữ liệu của hệ thống cũng phải để nằm trong một mạng gần Webserver để nhu liệu ta đọc/viết.
Các địch thủ của Microsoft
Ở đời muốn người ta ghét chỉ cần chơi nổi. Microsoft đã thành công, giàu có mà lại tìm cách để khiến tất cả mọi người tùy thuộc vào nó.
Sau khi coi thường sự thịnh hành của Internet, để Netscape qua mặt trong việc sản xuất một WebBrowser tiện dụng, Microsoft rượt theo bằng cách biếu không Internet Explorer Browser. Chiến lược của Microsoft là bắt mọi người phải lệ thuộc vào những kỹ thuật của họ, còn nếu đối thủ có sản phẩm nào đe dọa thì Microsoft biếu không sản phẩm tương đương mà Microsoft triển khai.
Hành động nầy thúc đẩy tất cả mọi đối thủ của Microsoft liên kết nhau để chống lại tay bá chủ võ lâm. Ta thấy trong đó có các cao thủ như IBM, SUN Microsystems, Oracle, Netscape.vv.. Trong khi IBM bắt cá hai tay, vừa ủng hộ, vừa chống Microsoft, các công ty khác coi như tuyên chiến với Microsoft.
Oracle, một công ty chuyên bán Cơ sỡ dữ liệu, muốn mọi người dùng một máy tính với Browser đơn giản để download một nhu liệu từ Webserver xuống để dùng. Như thế máy tính đó không cần phải là PC/MSWindows với Internet Explorer. Người xử dụng không cần phải mua MSOffice, họ chỉ trả tiền mướn nhu liệu họ dùng khi download từ Internet. Họ sẽ không còn phải nhức đầu mỗi lần cài một Version mới (upgrade). Cái máy tính nho nhỏ đó được gọi là Network Computer, thay vì PC.
Nhưng việc nầy Oracle và các đồng minh thất bại, có lẽ vì Network Computer tuy rất đơn giản so với PC (thí dụ như không có dĩa cứng) nhưng tốn kém gần bằng một PC. Ngoài ra người xử dụng cảm thấy an lòng hơn khi chứa các dữ liệu quan trọng trong dĩa cứng hay dĩa dẽo (floppy disc) của mình thay gì chứa ở chỗ nào đó trên Internet.
Java, ngôn ngữ lập trình gần lý tưởng Năm 1995, SUN Microsystems cho ra một vũ khí rất lợi hại, Java. Java là ngôn ngữ lập trình được thiết kế để dùng cho Windows và Internet. Nó là hậu tự của C++, nhưng đơn giản hơn. Đúng ra ngoài C++, Java còn thu thập tinh hoa từ những ngôn ngữ đi trước như Objective C, Smalltalk và Modula-3.
Hay hơn nữa là nhu liệu triển khai bằng Java có thể chạy trên bất cứ máy tính nào. Một số các đặc điểm của Java là:
Đơn giản, mặc dù Java áp dụng nhiều kỹ thuật tin học già dặn hay mới, chính ngôn ngữ Java tương đối ngắn gọn, dễ hiểu và dễ nhớ
Theo lối đối tượng (Object Oriented), có đầy đủ các đặc tính Đóng kín (Encapsulation), Thừa kế (Inheritance) và Đa dạng(Polymorphism)
Phân phối (distributed), các objects có thể được gởi đi nơi khác trên mạng để dùng
Được thông dịch (interpreted) khi chạy
Chắc chắn (robust), khó té (crash)
An toàn (secure), trừ khi dược cho phép, nhu liệu Java không chạm đến các hồ sơ nằm trên dĩa hay trên bảng kẹp (clipboard)
Chạy mọi nơi (portable), không tùy thuộc vào Operating System (architecture-neutral)
Thích hợp cho công nghệ (high performance)
Trong ngôn ngữ có sẵn phương tiện để chạy nhiều phần nhu liệu nhỏ cùng một lúc (multithreaded)
Sống động (dynamic), nhiều điều kiện hoạt động không cần phải được thiết lập từ đầu (late binding) các Object biết tự giới thiệu và làm việc với nhau
Khi một nhu liệu Java nhỏ được cho nằm trong một trang Web thì gọi là Java Applet. Một Applet chạy được là nhờ Browser yểm trợ (Java enabled). Sở dỉ Java có thể chạy khắp mọi nơi là vì một nhu liệu Java được compiled ra bytecode chớ không phải machine code.
Machine code là code của CPU (thí dụ như Intel, Alpha Risc .vv..), còn bytecode là một loại code ở lưng chừng dễ dịch thành ra machine code của bất cứ CPU nào. Do đó hể trên máy có nhu liệu thông dịch thích hợp với những phương tiện yểm trợ thiết yếu (như Windows, mạng .vv..) thì có thể chạy nhu liệu Java được.
Môi trường thông dịch ấy được gọi là Java Virtual Machine. Ta có thể xem Java Virtual Machine như là Operating System của Java.
Như thế ta có thể triển khai một nhu liệu Java trên máy MSWindows rồi cài nó trên một máy UNIX để chạy. Nếu Microsoft có WindowsCE (Windows Consumer Electronic) là em bé MSWindows thì Java có Personal Java (Java cho cá nhân) và Embedded Java (Java nằm luôn ở trong). Trong tương lai chính Java Virtual Machine sẽ được cho nằm hẳn trong phần cứng (hardware) để chạy thật hiệu năng.
VB hay Java, ngôn ngữ nào hay hơn?
Bây giờ bạn hỏi "Rồi sao nữa?" (So, what?)
Đến đây ta lạm bàn đến việc so sánh VB với Java. Thật ra so sánh hai thứ nầy với nhau cũng giống như mang trái táo ra so với trái cam.
Nhắc lại là VB được sáng chế ra để làm ngôn ngữ lập trình cho mọi người trên MSWindows. Nó phải dễ học, dễ dùng cho MSWindows, nhưng không hẳn cho mạng hay Internet. Thí dụ nếu bạn muốn chu du Internet (surf the Net) thì VB cho bạn Object WebBrowser, nếu bạn muốn làm ftp (File Transfer Protocol) thì VB cho bạn Object Inet, còn nếu muốn cho các nhu liệu liên lạc trên mạng thì VB cho bạn Object Winsock.
Nhưng ngay cả những Object tiện dụng nầy cũng có các giới hạn, nếu bạn cần cái gì hơn nữa thì thấy hơi bực mình. Tuy nhiên, nói chung VB cung cấp đầy đủ những gì bạn cần trong việc triển khai một nhu liệu áp dụng thông thường.
Khi dời đến phạm vi Internet, VB phải được sửa đổi thành VBScript cho thích hợp với phạm vi hoạt động an toàn.
Sự khác biệt chính của một ngôn ngữ lập trình bình thường và và một ngôn ngữ gọi là Script là ngôn ngữ lập trình bình thường có thể dùng mọi phương tiện của Windows và Operating System, trong khi Script chỉ có thể dùng những phương tiện gì Srcipt Engine (máy thông dịch Script ra machine code và chạy) cung cấp. Nếu Script Engine không cho chương trình Script xóa một hồ sơ trên đĩa hay chép một dòng chữ vào bảng kẹp (clipboard) thì không có cách gì Script làm được. WebBrowsers (như Internet Explorer và Netscape) và Active Server Pages (trong Web Server) có Script engines cho VBScript và JavaScript.
Phương tiện để chạy Java Applet của một WebBrowser cũng là một loại Script Engine cho Java. Điểm cần biết là JavaScript không dính líu gì với Java. JavaScript là do Netscape sáng tác, còn Java là của SUN. JavaScript chỉ được dùng trên WebServer hay WebBrowser còn Java là một ngôn ngữ bình thường có thể chạy ở mọi nơi.
Trong khi đó quá trình thành hình của Java gồm không phải chỉ cái định nghĩa của ngôn ngữ lập trình Java thôi mà quan trọng hơn là sự triển khai của tất cả những Object mà các thảo chương viên có thể cần đến trong mọi trường hợp trong Windows hay trên mạng.
Có thể nói trong MSWindows có những ActiveX nào tiện dụng thì ta có những thứ tương đương, gọi là JavaBeans (hay Java Components), cho Java. Hay hơn nữa, vì Java sinh sau, đẻ muộn nên những JavaBeans tương đương nầy thường thường có nhiều ưu điểm hơn các ActiveX.
Và dù Java đã được trình làng mấy năm rồi, cho đến khi người ta thấy xuất hiện đầy đủ các JavaBeans để dùng cho Windows thì Java mới trở thành một đối thủ đáng kể của VB.
Đó là thời điểm năm 1999 khi Java cho phát hành Java Platform 2 (Java version 1.2) với bộ Swing Graphic components và Borland cho nó vào JBuilder3, một môi trường tuyệt diệu để triển khai nhu liệu Java hồi cuối năm 1999.
Ngoài ra, vì Java được chế ra để dùng cho mạng, nên việc dùng Java để đọc một thứ gì trên mạng hay từ một đĩa cứng đối với Java coi như tương tự nhau, không cần phải chú ý đặc biệt vì có dính líu đến mạng.
Nói về hiệu lực của ngôn ngữ, thì thời giờ mất ra để thực hiện một nhu liệu bằng Java trung bình bằng phân nửa thời giờ để thực hiện bằng C++. Tức là Java hiệu lực gần bằng VB. Ngoài ra vì ta có thể dùng lại các Object rất dễ dàng trong Java nên sau khi đã dành dụm một số đồ nghề JavaBeans, thời gian ta bỏ ra thực hiện một nhu liệu sau nầy sẽ càng ngắn hơn.
Do đó ta không lấy làm ngạc nhiên khi thấy SUN Microsystems và IBM trình làng bao nhiêu là JavaBeans trong vòng vài năm.
Đặc biệt hơn nữa là source code (chương trình gốc) của đa số các JavaBeans của SUN và nhiều công ty khác được cho không nếu ai muốn học hỏi hay nghiên cứu.
Vì những lý do trên, Java đã trở thành ngôn ngữ lập trường rất phổ thông.
Theo VB hay Java?
Bây giờ ở ngã rẽ tâm tình nầy trái tim ta sẽ trao về ai, VB hay Java? Thương cả hai! Nếu mới học lập trình, VB là ngôn ngữ khích lệ người học, trong khi Java cứ nằng nằng đòi hỏi ta phải suy nghĩ chính chắn để thực hiện lần đầu là đúng cách ( "Do it right the first time", chủ trương của hảng Hewlett-Packard).
Trong thế giới của Microsoft vẫn còn rất nhiều dịp để học hỏi tiến thân và kiếm tiền cho công tử nhà giàu. Tuy phải lệ thuộc vào Microsoft, nhưng cũng không mất mát gì.
Còn Java cho bạn sự tự do của người lãng tử. Đi đâu ta mang theo túi đồ nghề JavaBeans, tự túc sống trong môi trường hầu hết các nhu liệu cần thiết đều có thể download từ Internet, như Linux, SUN Java Developer's Kit, .v.v.. Bạn có thể triển khai Java cho PC, Internet hay máy tính bỏ túi.
Nếu là người mới vô nghề bạn có thể học thẳng Java, hay học VB trước rồi học thêm Java sau nầy. Các kiến thức về VB sẽ giúp bạn hiểu Java lẹ hơn.
Sưu tầm từ trang: vovisoft.com