Tình hình trước đây
Trong chiến trường tin học trước đây, không kể các Database như Oracle,
SQL Server, Informix .v.v. ta phải nhắc đến: Java, Linux hay Unix, C++, Delphi
MSWindows và Visual Basic. Nếu muốn đeo đuổi với Unix ta cũng có thể dùng Linux,
một Operating System trưởng thành, chắc chắn và miễn phí. Thường thường hể nói
Linux người ta hàm ý nó dùng XWindows để cung cấp một GUI (Graphical User
Interface) tương đương với MSWindows3.1 ngồi phía trên MSDOS. Có điều Linux thì
thật sự multi-tasking, có nghĩa là ta có thể chạy nhiều chương trình cùng một
lúc. Viết chương trình bằng C hay C++ trên Linux và dùng XWindows không bao giờ
là chuyện đơn giản.
Sau nầy ta cũng có
thể viết Java, một ngôn ngữ do Sun sáng tác cách đây hơn 5 năm và có thể chạy
trên nhiều OS, độc lập với CPU (tức là Intel, Risc hay hiệu gì cũng không thành
vấn đề). Đặc biệt Java rất thích hợp cho việc viết chương trình cho Internet.
Tuy nhiên, Java vẫn còn chạy chậm và trên thực tế vẫn chưa thật sự thịnh hành.
Mặc dầu Sun Corporation và IBM có đẩy mạnh Java, nhưng dường như Microsoft đã
dùng ASP để chận bớt ảnh hưởng của Java.
Để lập trình trên Web, lâu nay người
ta vẫn dùng cgi-Perl, và gần đây dùng php, môt ngôn ngữ giống như Perl nhưng
cách dùng khiến nó chạy nhanh hơn. Ta có thể triển khai Perl trên Unix/Linux hay
MSWindows. Tuy nhiên có nhiều người không thích làm việc với regular expressions
và những quy ước khác thường về lập trình của Perl nên không ưa dùng Perl. Hơn
nữa, các phần cho thêm rất hay của Perl như User Interface, Database .v.v. được
triển khai bởi những người khác nhau, chớ không phải từ cùng một tổ chức. Do đó,
ta không bao giờ đuợc đảm bảo về sự yểm trợ lâu dài hay biết rõ đuờng hướng
tương lai của các thứ mình dùng.
Còn trên MSWindows thì ta có thể viết chương trình bằng Visual C++,
Delphi hay Visual Basic. Visual C++ thì làm được nhiều chuyện nhưng khó dùng.
Visual Basic thì đơn giản, dễ học và dễ dùng nhất nên nó rất thịnh hành. Lý do
chính là Visual Basic giúp ta viết chương trình dùng MSWindows mà không bắt buộc
ta phải biết rất nhiều về cách MSWindows hoạt động. Ta chỉ cần có một số kiến
thức căn bản tối thiểu về MSWindows là đủ rồi. Từ quan điển của VB, mọi liên hệ
với MSWindows đều tự nhiên và dễ hiểu. Có điều Visual Basic không phải là một
ngôn ngữ Object Oriented.
Delphi là hậu thân của Turbo Pascal của Borland. Nó giống và tương đối dễ
dùng như Visual Basic. Delphi thì Object Oriented. Các controls dùng trên các
Forms của một chương trình Delphi đều tự động generate codes. Khổ nổi nếu ta sửa
đổi các controls nhiều lần thì công tác code generation của Delphi thỉnh thoảng
gặp trở ngại. Ngoài ra, công ty Borland sản xuất Delphi bị Corel bên Gia Nã Đại
mua rồi đổi tên, họ không đảm bảo tương lai của sản phẩm khi chuyển hướng bằng
cách nhấn mạnh vào JBuilder (dùng cho Java). Trong lúc tình hình rối loạn, một
số guru của Delphi về đầu thú với Microsoft, các version mới của Delphi không
thật sự tiến bộ hơn bao nhiêu, nên người ta không dám đầu tư việc triển khai
phần mềm vào Delphi.
Trong khi đó Visual Basic không cần phải generate code
nên Visual Basic bền vững hơn Delphi trong khi ta thiết kế các Forms. Nói như
thế, không phải che đậy nhiều khuyết điểm của Visual Basic như:
* Không yểm trợ OOD, nhất là khả năng thừa kế (inheritance)
* Giới
hạn về việc chạy nhiều task nhẹ cùng một lúc (mutithreading) trong một
application. Thí dụ như ta không thể dùng VB để viết một service kiểu NT.
* Khả năng Error Handling rất yếu, bất tiện cho môi trường multi-tier (phân code
ra nhiều lớp)
* Khó dùng chung với các ngôn ngữ khác như C++ chẳng
hạn
* Không có User Interface thích hợp cho Internet
Vì Visual Basic không thích hợp cho việc lập trình trên Web Server nên
Microsoft sáng tác ra Active Server Pages (ASP). Các trang ASP gồm có vừa HTML
vừa VBScript (hay JavaScript), nằm lẫn lộn nhau. Khi xử lý một trang ASP hể HTML
thì được gởi thẳng qua browser (client), còn VBScript thì tạo ra các dòng HTML
để gởi qua browser. Trừ các Sub hay Function, vị trí của VBScript trong các
trang ASP rất quan trọng.
Khi có nhóm codes nào ưng ý ta muốn biến nó thành một ActiveX và install
nó trên Web Server. Vì lý do an ninh, các Internet Service Provider (ISP) làm
host cho Web site của chúng ta thường thường rất miễn cưỡng install một ActiveX
lạ trên máy của họ. Ngoài ra, việc uninstall ActiveX trên MSWindowsNT 4.0 không
phải dễ ăn nên công tác quản lý version của các ActiveX thừơng làm cho các Web
administrators nhức đầu. Ai đã từng trải qua việc quản lý các version của DLL
trên MSWindows đều than phiền tại sao phải register các DLL và nhất là tại sao
chỉ có thể register một version của DLL mà thôi. Họ chán quá, nên đặt ra từ "DLL
hell" (địa ngục DLL).
Để giúp ta lập trình ASP nhanh, Microsoft cho ra Visual Interdev, một IDE
(Intergrated Development Environment) hơi giống như Visual Basic. Visual
Interdev cho ta các Design-Time Controls giống như các Intrinsic Controls của
Visual Basic (td: Label, Textbox, Listbox .v.v..). Tiếc thay Visual Interdev
không bền vững lắm nên sau khi dùng thử Visual Interdev một thời gian, đa số lập
trình viên bỏ nó.
Để thay thế Visual Interdev, Macromedia cho ra Drumbeat 2000. Drumbeat
2000 làm nhiều chuyện hơn, và dễ dùng hơn Visual Interdev. Nó tự động generate
VBScript cho mọi hoàn cảnh và kết quả là các trang ASP rất linh động. Nhưng có
lẽ vì mối liên hệ của Macromedia với các tác giả của Drumbeat 2000 (một sản phẩm
do một công ty khác bán lại cho Macromedia) không tốt đẹp lắm nên Macromedia
không còn yểm trợ Drumbeat 2000.
Dầu sao bản thân ASP hãy còn một số khuyết điểm quan trọng, nhất là khi
chạy trên Internet Information Server với NT4.0, ASP không đáng tin cậy lắm.
Nói tóm lại, nếu ta theo trường phái Microsoft thì việc lập trình trên
desktop, cho distributed system và Web không ăn rơ nhau. Muốn di chuyển từ
Desktop development lên Web development là phải đi qua một chặn đường học hỏi
thêm rất mệt xác.