Tất cả bắt đầu trước khi C # tồn tại
Trở lại năm 1999, chúng tôi đã có Visual Studio 5/6. Nếu bạn là Nhà cung cấp phần mềm độc lập hoặc công ty sử dụng Windows và cần một ứng dụng được viết, ví dụ như theo dõi thời gian của nhân viên dành cho các dự án, bạn có một vài lựa chọn:
- Các hình thức trong Visual Basic.
- MFC, ATL hoặc Win32 trong Visual C ++.
- Các hình thức trong Truy cập 97/2000.
- Trang web ASP.
- Táo Java.
Vào thời điểm đó, chúng tôi đã ở ngay trước khi bong bóng Dot-Com nổ tung, vì vậy bất kỳ ai tốt với (4) hoặc (5) đã đi ra để đàm phán các lựa chọn cổ phiếu tại bất kỳ điểm dot-com tuyệt vời nào mà họ bị thu hút.
(3) có vấn đề với khóa và khả năng mở rộng tổng thể, nhưng tôi đã thấy rất nhiều giải pháp dựa trên Truy cập sẽ bỏ ra để chạy các chức năng hỗ trợ khi cần.
Vì vậy, điều đó cho chúng ta với VB và VC ++:
Trình soạn thảo Forms trong VB, vào thời điểm đó, tuyệt vời cho năng suất. Bạn có thể kéo thả các thành phần của mình - không chỉ các nút, nhãn và hộp văn bản mà cả hộp công cụ 'điều khiển OLE' đầy đủ của các thành phần có thể sử dụng lại như lưới thông minh, trang tính Excel hoặc phiên bản IE. Việc kết nối được thực hiện ở hậu trường - mọi thứ đều giống như đối tượng và bạn chỉ cần nhấp đúp vào những thứ để thêm trình xử lý sự kiện. Điều này đã khó hơn rất nhiều trong Visual C ++. Là thành viên của nhóm hỗ trợ nhà phát triển Visual Studio tại thời điểm đó, tôi có thể nhớ cách các cuộc gọi hỗ trợ Visual Basic chủ yếu là về thành phần nào là tốt nhất để sử dụng hoặc cách tối ưu hóa ứng dụng của họ theo những cách nhất định. Gần như không bao giờ 'làm thế nào để tôi tạo một ứng dụng với các tính năng giao diện người dùng X, Y và Z'.
Xây dựng một giao diện người dùng phong phú trong Visual C ++ là một thách thức khác. Mặc dù đã có hỗ trợ trình soạn thảo trực quan cho các hộp thoại và biểu mẫu SDI / MDI, nhưng nó khá hạn chế. Hỗ trợ để nhúng Điều khiển OLE (ActiveX) vào MFC hoặc Win32 là một nghệ thuật đen, mặc dù dễ dàng hơn một chút trong ATL. Việc xử lý những thứ đơn giản như thay đổi kích thước các sự kiện hoặc vẽ chủ sở hữu là khá khó khăn, chứ đừng nói đến Điểm kết nối cần thiết cho các sự kiện tùy chỉnh trong các thành phần.
Có, VC ++ có tốc độ thực thi, khả năng gỡ lỗi và các tùy chọn khung / thư viện / giao diện người dùng linh hoạt, nhưng hỗ trợ IDE không thể bao quát tất cả các vấn đề cơ bản nhất để giải quyết các hoạt động phổ biến nhất với các thứ như Wizard, phân cấp lớp MFC toàn diện và 90 ngày / 2 dòng hỗ trợ sự cố miễn phí.
IIRC, trình đóng gói ứng dụng đi kèm với VB có thể đóng gói ứng dụng của bạn, thời gian chạy VB và các điều khiển phổ biến mới nhất DLL và cung cấp cho bạn trình cài đặt EXE độc lập mà bạn có thể đưa vào CD và đến với khách hàng. Không ai trong số này 'mà bạn đã cài đặt msvcrtXX.dll và mfcxx.dll?', Điều này đã gây khó khăn cho các nhà phát triển MFC.
Vì vậy, vì lý do giao diện người dùng theo thời gian và thị trường phong phú, VB đã có một lượng người theo dõi rất lớn.
Khi Visual J ++ và Visual Interdev tấn công vào VS6, rõ ràng Visual Basic IDE đã giành chiến thắng trong cuộc chiến với Visual C ++, một IMHO công bằng. Không có gì ngạc nhiên khi Visual Studio .NET có trình chỉnh sửa biểu mẫu giống VB cho ngôn ngữ COOL C # mới.
Ngôn ngữ giống Java / C / C ++ mới được kết hợp với trình thiết kế UI được người VB yêu thích trong suốt thời gian này đã đưa ra một đường di chuyển mới cho những người C ++ hiện đang thực hiện với MFC / ATL / Win32. Đối với VB 3/4/5/6, những người không thích thiếu khả năng tương thích ngược 100% trong VB.net, điều này mang đến cơ hội học một ngôn ngữ mới trong một môi trường quen thuộc.
Những lý do khiến VB là một sản phẩm toàn diện như vậy có thể có liên quan đến nguồn gốc của Microsoft, với Basic là sản phẩm dành cho nhà phát triển hàng đầu của họ, nhưng tôi không có bất kỳ trích dẫn nào vào lúc này.