PDA

View Full Version : Bài 2 :Học VB hay Java ?



quangvu
12-09-2002, 19:23
<BLOCKQUOTE>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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.

quangvu
12-09-2002, 19:25
Học VB hay Java ?
(tiếp theo)
1.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.



2. 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.
Ở Vovisoft chúng tôi có thành lập một nhóm để giúp đở nhau học Java gọi là nhóm CàphêPhin, mà sau khi đứt phim dịch nôm na ra là "Cái nồi ngồi trên cái cốc". Mong rằng sau nầy chẳng những các hội viên của Vovisoft ở Sydney, Úc mà thôi, ngay cả chư vị anh hùng vỏ lâm khắp nơi đều có thể tham gia được.

eyesoflife
01-10-2002, 19:28
Doc bai viet cua Quang Vu! minh thay nhu sang to ra them nhieu dieu! Noi that su khi di den dau deu nghe cai danh cua Bill Gates ma em thay tuc ghe! Chang le khong co ai co the danh do duoc MSW sao! neu cu de cho MSW chiem phan lon thi phan CNTT thi khong co the noi di cho su phat trien cua tin hoc noi chung ma ca nhung van de lien quan! no anh huong rat nhieu den tam phat trien cua nhan loai! Neu moi nguoi cu quanh quan voi may cai nho nhat ma MSW dua lai ma khong tim den nhung cai moi hon thi lam csao ma con nguoi co the di den nhung mien dat la duoc! ..
La mot SV ve Tin em nhat dinh se tim mi cach de lam cai gi do de gop phan vao su thay doi lon trong linh vuc CNTT! phai tao mot cai gi do du nho nhoi!! nhung se lam cho su phat trien cua Tin hoc len tam cao moi! khong phai nhat thiet la Java hay la VB boi le roi day se co mot ngon ngu khac ra doi! va khien ca the gioi di theo no trong mot khoang thoi gian! roi sau do lai mot ngon ngu khac lai ra doi danh do di ngon ngu hoang kim truoc no! va thiet lap mot thoi dai moi! va cu nhu vay thi nen khoa hoc the gioi moi that su phat trien len den dinh diem cao ngat cua tri tue loai nguoi!......

nth
29-10-2002, 22:05
Chào bạn quangvu!

Một ít ý kiến:
Bạn giúp người khác biết thêm về Java thì rất hay, nhưng nếu chỉ mượn bài của người khác để giúp thì đâu cần phải copy nhièu như vậy (vừa tón công vừa tón byte trong DDTH), chì đề đường link cho các bạn trong này biết là được rồi.

Nếu nth không lầm thì quangvu đá copy bài 1 của Vovisoft trong trang:
http://www.vovisoft.com/vovisoft/HienTuongJava.htm

và bài 2 này trong:
http://www.vovisoft.com/vovisoft/VBorJAVA.htm

Còn một điều nứa bạn quên sóa đề giấu bẩn gốc cho người đọc tương bạn viết là ổ trong phần cuối bài này:

Ở Vovisoft chúng tôi có thành lập một nhóm để giúp đở nhau học Java gọi là nhóm CàphêPhin, mà sau khi đứt phim dịch nôm na ra là "Cái nồi ngồi trên cái cốc". Mong rằng sau nầy chẳng những các hội viên của Vovisoft ở Sydney, Úc mà thôi, ngay cả chư vị anh hùng vỏ lâm khắp nơi đều có thể tham gia được.

quangvu
30-10-2002, 08:12
1. Mình cho rằn chèn một link vào thì không hay lắm .
2. Mình copy của người ta mà còn giấu tác giả là "vi phạm bản quyền" :) .Mà mình thi không hề có ý định đó.

---> Thực ra mình Post bày này lên là chỉ mong các bạn thảo luận về học Java hay VB.Nhưng trong bày này đã "nói hết" nên nó trở thành một "bài học" hơn là một tiền đề thảo luận. Mình sẽ rút kinh nghiệm.
Thank .

nth
31-10-2002, 06:51
Không có chi, bạn nghĩ như vậy là tốt rồi, vì nth thấy trong HackerVN.net có ai đó nói là sưu tầm vì muốn lên chức (một bài học tự làm chatroom) nhưng thật ra là copy của trang khác. Không những thế còn dấu luôn cả tác giả, nhưng cuối cùng cũng bị người khác (trong trang chatroom) tìm thấy, nên đưa ý kiến vậy thôi.

lttnd
01-11-2002, 20:45
học cả vb và java

Nam Pham
09-07-2003, 15:15
Bạn Quang Vu ơi bạn có thể sửa bài viết của bạn cho dễ đọc một chút được không, gì đâu mà nó dài thòng lòng mỗi lần đọc phải kéo thanh scroll cực qúa

Ong_trum
09-07-2003, 15:27
Cái nào cũng quan trọng cả ,visul dễ học -Java ngắn ngọn .Đố phân biệt thằng nào hơn thằng nào đó !( liên hệ có thưởng )

nguoitudo
11-07-2003, 06:00
Basic dễ học còn Java thời thượng hix => nhiều đất sống.
Nhưng các bác we^n mất C cọng cọng gùi à.
Tốt nhất là ôm hết, ặc không bít có nặng bụng không nhỉ.
;)

KEM_WALL
11-07-2003, 14:23
Cái nào cũng quan trọng cả ,visul dễ học -Java ngắn ngọn .Đố phân biệt thằng nào hơn thằng nào đó !( liên hệ có thưởng )

Vb.net chưa chắc thua java đâu, nhưng cũng chưa chắc kill được Java.

nhưng rùi thời gian sẽ cho ta thấy VB sẽ dần chiếm thế thượng phong, khi công nghệ IL phát triển mạnh

Ong_trum
12-07-2003, 09:29
Thế tôi mới nói làn không có cái nào hơn cái nào cả vì mình tài có người tài hơn mình mà .
Công nghệ luôn đổi mới

thangnc
12-07-2003, 17:03
Theo mình biết hiện nay "công nghệ" ăn cắp bản quyền ở Vn là rất phổ biến.Do đó các Công ty CNTT đang ủng hộ open source software.Mà java là một trong những ngôn ngữ có khả năng giúp đỡ lớn.Các bác thử nghĩ xem một khi mình viết ra một phần mềm mà khi export ra thì đòi hỏi bản quyền của những phần mềm đã sử dụng để viết nên chúng thì các bác nghĩ sẽ như thế nào.Ặc ặc,toi cả lũ vì cái tội sử dụng phần mềm mà không có bản quyền.Chúng ta phải thông cảm cho SV VN không có tiền nên xài phần mềm đã ***** nhưng hậu quả của nó như thế nào?Nếu ta sử dụng .NET hay những công nghệ của MS thì phải đòi hỏi bản quyền.Do đó phần mềm mã nguồn mở là tương lai của các SV CNTT và của những ai là lập trình viên và của VN.Mình cũng là 1 SV CNTT nên mình cũng rất đắn đo trước khi quyết định Java là con đường của tương lai.Tuy nhiên cũng không nên bỏ qua các ngôn ngữ của MS.Đó là cách tốt nhất để nâng cao khả năng viết CT.Rất mong các bạn góp ý.

KEM_WALL
23-07-2003, 15:10
viết phần mềm bằng .NET cũng là open source rồi đấy. nếu bạn hiểu rõ về reflection bạn có thể viết chương trình decompile exe (IL) lại. tha hồ đọc source ah

giadzich
25-07-2003, 02:15
Bài dài quá...không dám đọc :cool2: . Nhưng GD chỉ cho ý kiến là ... đôi khi cái mình muốn học thì lại không phổ biến, cái không muốn học thì lại bắt học.

Các trường Đại Học (SJ) lân cận, đã thay đổi từ C++ sang Java cả 2 năm nay rồi. Học sinh ở các trường College đều phải học Java để khi lên University được tính điểm cho lớp đó.

Theo như bạn nghĩ vậy thì nên học Basic hay Java? hay C++ ? Nếu bạn đã là programmer, thì có lẽ bạn phải biết hết ( sơ sơ cũng không sao ).

Giả sử bạn bị lạc vào rừng rú :batman: bị người ta bắt ... nếu không biết nói tiếng địa phương của họ, có phải bạn sẽ bị tùng sẻo hay không? :bawling: :bawling: :bawling: ( Còn ngoài đời, có nghĩa là bạn sẽ không tìm được job :confused: )

KEM_WALL
23-08-2003, 18:45
dù là môn đồ .Net nhưng walls vẫn thấy java có tương lai ở VN (chỉ ở VN mớ chắc chắn thế thui đấy, hic cái thằng Sun giàu thiệt ...)

giadzich
25-08-2003, 18:40
Không biết có giàu hay không ... nhưng chỉ biết là stock của nó rơi thê rơi thảm ... đến nổi mỗi lần nhắc đến là phát rầu ... và không còn muốn học nó nữa và treo cái bằng System Admin của Sun certified ... trong nhà tắm ... để nhìn mỗi lần ... ! :-)

KEM_WALL
03-09-2003, 20:31
trời, u có cái bằng của Sun rùi huh, tương lai sáng lạng đây

letdoit
04-09-2003, 06:43
Hoc Java or VB?
Ca? hai thu*' na`y deu phai ho.c ca? Hau he^'t cac truong DH o? My co' phan chuo^ng Java ho*n C++ and OS UNIX hon la` Microsoft
Gio day ho. khong co`n chu' tro.ng ban biet bao nhieu ngo^n ngu? (C++, Java, COBOL, Dephi....), khi ho.c ho. chi? chu' trong "quan diem" lap trinh cu?a ba.n vi` ho xem nhu cac ngon ngu kia la` ban bat buoc phai bie^'t. Da so^' cac major engineer and science o? My doi ho?i ban phai biet it nhat 1 ngon ngu*? lap tri`nh boi lay cac lop CS-computer science.

Mi`nh con nho*' lop CS can ba?n dau tien minh la^'y (dai khai "Introduction to Computer.....", tuc hau het 100% cac nganh lien quan den Engineer and Science pha?i lay) no' day minh phai mua 4 cuon sach:So* luoc ung dung Computer and bo^. phan cu?a no', so* so* ve^` XP and Office XP: Access, Excel, tiep den la` day Visualbasic. NET-->normal not advance.

Sau khi take xong lop do' thi bat dau chon tum lum mot cach co' dinh huong.

letdoit
05-09-2003, 08:03
;) Lu'c do' tui con nho' ong thay da.y lop do' noi rang hoc VB thi quai gi` goi la` programmer, VB chi? la do^` choi cu?a tre con thoi. C++ and Java mo*i la basic.
Dat biet hau het cac Uni My xai Unix, bo? cha cai thang Microsoft tu doi nao roi. Ca? may ong thay cung vay, cha? thich cai thagn Mic chut na`o, xai Unix nhu la` Tools. CS Major la` phai Unix and C/C++ lam ne^`n. Noi vay^ :crying:

real_time
06-09-2003, 21:58
chán quá bài thì hay nhưng cứ phải kéo hết cái scroll này đến cái scroll khác mết muốn chết đọc xong bài này chắc mình thành ông tổ rê chuột mất thôi. Hy vọng là lần sau ai có bài nào hay hay làm ơn chịu khó xuống dong để mọi người dễ coi nhơ một chút nhé cảm ơn nhiều.

ritte
06-09-2003, 22:51
muốn kết hợp Java và Basic : có Visual J++
theo mình nghĩ Java là ngôn ngữ hay nhất á, cấu trúc của nó đơn giản và dễ hiểu.
Nếu các bạn nào vừa thích lập trình trên Win, vừa không muốn từ bỏ Java thì dùng visual J++ hay visual J# là hay nhất.

Javavietnam
07-09-2003, 22:03
Không không! Không thể học Java với J++ hay J#. Các bác này chưa biết tí gì về tác hại của J++ cả. http://www.javavietnam.org/javavn/mvnforum/viewthread?thread=65

ritte
07-09-2003, 23:22
đúng là J++ và J# hông tích hợp trên các môi trường khác Win.
vì thế mới có chữ Microsoft Visual đứng trước á.
túm lại, Java cực hay, hông biết thật là uổng !!

hoangkhanh
22-09-2003, 12:21
Theo mình mỗi ngôn ngữ có một cái hay của nó, chẳng hạn C++ chuyên về lập trình, Java thì ứng dụng Net, VB.net cũng vậy.
Nhưng mà mình thấy C là căn bản nhất, biết C, các bạn chỉ cần 1 phần thời gian để học các ngôn ngữ khác, nhanh hơn người mới học 100% nhiều, có gốc rồi mà.
Java ứng dụng nhiều trong Flash, ai chuyên về Design thì nên biết Java, hay tuyệt.

cuongnq
28-09-2003, 14:28
Java ứng dụng nhiều trong Flash, ai chuyên về Design thì nên biết Java.
To nghi cau nham co ban day

trannam136
29-09-2003, 15:37
Các bạn nhầm rồi, VB chỉ là trò chơi mà một cậu bé cũng có thể làm vì thao tác của nó chỉ là kéo và thả thôi. VB đã từng là ngôn ngữ mạnh cho các ứng dụng vừa và nhỏ như quản lý nhân sự, quản lý bán hàng, vật tư...Việc học VB hầu như là học những thao tác cơ bản đầu tiên của lập trình. Để các sự kiện có thể tương tác chúng ta chỉ cần thêm mọt vài câu lệnh nho nhỏ.
Nhưng với Java thì khác. Java không phải ra đời để thay thế Flash hay VB mà nó ra đời để thay thế Visual Studio, ASP hay thậm chí cả .NET nữa.
Là một ngôn ngữ lập trình hướng đối tượng, Java là ngôn ngữ dành cho những người chuyên nghiệp. Java ra đời đe dọa sự phát triển của M$ và thực tế chứng minh rằng nó đã làm được điều là thay thế các công cụ của M$.
Hầu hết các Application được viết bằng các công cụ của M$ đều có thể làm được bằng Java. Sun Microsystem không chia nhỏ Java như M$ đã chia bộ .Net thành VB.Net, C#... mà nó để nguyên tất cả chỉ trong 1 bộ JDK chỉ có dung lượng bằng 1/30 dung lượng bộ .Net mà thôi.
Trước đây mọi người chỉ nghĩ là ứng dụng lớn nhất của java là Applet nhưng từ khi có Flash thì Applet bị lãng quên nhưng Java đâu chỉ có Applet, đó chỉ là 1 Modul rất nhỏ của Java. Chỉ mỗi awt đã đủ mạnh để thực hiện các ứng dụng bằng VB rồi đâu cần phải dùng đến công cụ mạnh hơn rất nhiều là Swing.
J++ hay J$ chỉ là cái trò lừa của M$ vì cú pháp của nó chẳng khác gì Java nhưng người dùng sẽ phải phụ thuộc vào nó và phải trả rất nhiều tiền. Các bạn vẫn dùng các CD free nên không thấy được mức độ quan trọng này.
Nói chung, bài của Quang Vu post lên cũng đã đủ giúp mọi người hiểu tầm quan trọng của việc chọn học ngôn ngữ nào.
Có thể nói tóm lại một điều là:
+ Bạn là người lập trình không chuyên--> chọn VB vì dễ học và dễ ứng dụng.
+ Bạn có ý định trở thành lập trình viên chuyên nghiệp-->học Java và sang đây để trao đổi tiếp: www.javavietnam.org
Have fun.

real_time
07-10-2003, 21:34
chuyện này thực sự là công việc khó khăn cho những lựa chọn của những người mới học. Nhưng mình thấy rằng lập trình với CSDL và các bài toán bán hàng + quản lý không phải một sớm một chiều ...... mà có thể làm được ngay nó liên quan đến nhiều vấn đề khác nữa nếu không người ta đã không chia ra thành một mảng lập trình với cơ sở dữ liệu và cũng đã tốn rất nhiều giấy mực cho vẫn đề này. Và theo ý mình VB cũng không phải là một trò chơi của trẻ em chỉ gồm có kéo và thả.

trannam136
09-10-2003, 09:48
Nhưng nó là ngôn ngữ cơ bản nhất. Phải vậy không ?

real_time
12-10-2003, 21:04
anh Nam bảo nó ở đây là gì vây?? Nếu muốn nói về ngôn ngữ cơ bản và là nền tảng + tăng cương khả năng tư duy thì có lẽ từ "nó" của anh sẽ dành cho C và Pascal chư chưa được đến VB!