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.