Oh kinh dị.
Xin lỗi, nhưng tất cả câu trả lời hiện có đều sai theo cách này hay cách khác. Joel's thực sự là tốt nhất của bó nhưng từ ngữ nghèo của nó khuyến khích sự hiểu lầm (xin lỗi, Joel - nhưng chỉ cần nhìn vào ý kiến của bạn!):
Tương phản VB.Net với VB là không thể, bởi vì họ là những điều tương tự .
Điều đó hoàn toàn giống như nói rằng "trái ngược với trái cây là không thể vì chúng giống nhau", và như vậy không hữu ích lắm; “VB6” đặc biệt vì nhiều người (vẫn) sử dụng “VB” đồng nghĩa với
Vì vậy, để xóa mọi thứ lên một chút: cả VB6 và VB.NET là tiếng địa phương của trực quan gia đình ngôn ngữ cơ bản (giả sử gọi nó là). Sự giống nhau của họ là hời hợt nhất; một người đã thực sự sử dụng cả hai (và không chỉ xem xét một số mã nguồn) sẽ nhận thấy rằng ngoài một tương tự cú pháp cursory, họ là những con thú hoàn toàn khác nhau. Sử dụng chúng là những trải nghiệm cơ bản khác nhau.
Khía cạnh duy nhất mà chúng thực sự giống nhau (ngoài cú pháp tương tự) là cả hai đều rất thích hợp cho phát triển ứng dụng nhanh (RAD)… ít nhất là cho đến khi bạn thử các ngôn ngữ động như Python hoặc Ruby kết hợp với các khung công tác nhanh nhẹn của GUI như Shoes. Nhưng ngay cả khi môi trường RAD cũng có một sự khác biệt lớn.
VB6 cơ bản được phát triển thành do RAD, không có gì khác. Và trong thời gian đó, VB6 là điều tốt nhất trên đánh dấu để làm RAD, bằng một biên độ lớn. VB.NET, mặt khác, là không được chọn để phát triển RAD - bất kỳ hơn C#. Cả hai đều là các ngôn ngữ cao cấp được hỗ trợ bởi một khung công tác chung, giống như Java nhưng với khát vọng cải thiện một số lỗi Java, chẳng hạn như sự chi tiết của nó bằng cách cắt rất nhiều mã soạn sẵn (giới thiệu các đại biểu, sự kiện, tài sản, điều hành quá tải, autoboxing để đặt tên nhưng một vài tính năng như vậy).
Và trong khi VB.NET ở mức tương thích ngược, điều này rất gây hiểu lầm. Trước hết, không có người sane nào nói rằng C và C++ là cùng ngôn ngữ chỉ vì rất nhiều chương trình C biên dịch tốt trên các trình biên dịch C++. Sự khác biệt giữa VB và VB.NET thậm chí còn lớn hơn bởi một số chỉ số vì không mã VB6 hoàn chỉnh là VB.NET hợp lệ. Nó cần một “trợ lý nâng cấp” tự động để tạo mã .NET hợp lệ, và kinh nghiệm cho thấy trợ lý nâng cấp này không phù hợp ngay cả đối với các dự án cỡ trung bình, chủ yếu là do bản dịch của nó phá vỡ nhiều hướng dẫn và giả định của thế giới .NET.
Nói, giống như Kibbee, các trình biên dịch VB6 và VB.NET là "về cơ bản giống nhau" là không đúng. Tương tự như vậy, tuyên bố rằng "thời gian chạy Net không phải là một thay đổi đối với ngôn ngữ". Tất nhiên đó là thay đổi về ngôn ngữ. VB.NET được xây dựng hoàn toàn xung quanh khung công tác .NET, nó không chỉ là bất kỳ thư viện nào khác.
Ông tuyên bố rằng
Nếu VB.Net có nghĩa là để trở thành một ngôn ngữ mới, và không chỉ là một phiên bản mới của một ngôn ngữ cũ, họ sẽ có được thoát khỏi "On Error Goto" mà họ didn 't.
- tương tự như vậy gây hiểu nhầm. “On Error Goto” được đưa vào chỉ để tương thích ngược (trợ lý nâng cấp không thể chuyển đổi lỗi xử lý lỗi kiểu cũ thành xử lý lỗi dựa trên ngoại lệ).
Hãy để tôi tóm tắt điểm chính của bài đăng khá dài này để nó không bị mất: Cũng giống như Java và JavaScript, VB6 và VB.NET có tên rất giống nhau (và cũng có cùng lý do: tiếp thị) nhưng điều này hoàn toàn gây hiểu nhầm. Có một vài điểm tương đồng cú pháp.Bên cạnh đó, bề ngoài cũng như dưới mui xe, chúng là các ngôn ngữ hoàn toàn khác nhau.
điều gì khiến bạn hỏi một câu hỏi rộng như vậy? Và, trả lời nó là tốt? – shahkalpesh
Không có gì sai khi trả lời các câu hỏi của bạn. Nó thực sự được khuyến khích. Bạn chỉ muốn được *** chắc chắn bạn có một câu trả lời rất tốt khi bạn làm như vậy, và rằng bạn để lại một cơ hội cho cộng đồng cũng cung cấp đầu vào. Đó cũng là nghi thức tốt trên SO để tạo trang wiki cộng đồng _answer_ (không phải câu hỏi) của bạn. –
@sakthivignesh: tôi nghĩ bạn đã bắt được rất nhiều điều này bằng cách viết một câu hỏi mơ hồ * và sau đó ngay lập tức đăng một câu trả lời rất không thích hợp cho nó *. Trong tương lai, bạn sẽ muốn tránh điều này trừ khi, như Joel lưu ý, bạn * biết * bạn có một câu trả lời hay. Thay vào đó, dành nhiều thời gian hơn để viết một câu hỏi hay ... – Shog9