quangvu
12-09-2002, 19:23
<BLOCKQUOTE> Học VB hay Java ?
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ủ.
<H3>Ảnh hưởng của Microsoft </H3>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.
<H3>Chiếm Thị Trường </H3>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.
<H3>Hai Bảo Bối </H3>Hai kỹ thuật chính của Microsoft là <B>ActiveX</B> và <B>ADO</B> (Active Data Object).
<B>ActiveX</B> 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 M***cel 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 <I>tiêu chuẩn</I> 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.
<B>ADO</B> 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.
<H3>Visual Basic 6.0, tiện dụng và hiệu năng </H3>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.
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ủ.
<H3>Ảnh hưởng của Microsoft </H3>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.
<H3>Chiếm Thị Trường </H3>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.
<H3>Hai Bảo Bối </H3>Hai kỹ thuật chính của Microsoft là <B>ActiveX</B> và <B>ADO</B> (Active Data Object).
<B>ActiveX</B> 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 M***cel 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 <I>tiêu chuẩn</I> 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.
<B>ADO</B> 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.
<H3>Visual Basic 6.0, tiện dụng và hiệu năng </H3>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.