• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Vì sao Microsoft từ bỏ VB6?

Thảo luận về các vấn đề Công Nghệ Thông Tin chung: tin tức, công nghệ mới...

Điều hành viên: Điều hành

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

Vì sao Microsoft từ bỏ VB6?

Gửi bàigửi bởi tummosoft » T.Ba 17/06/2014 10:16 am

Không ai phủ nhận Visual Basic là một trong vài ngôn ngữ lập trình phổ biến nhất trên thế giới, nhưng người ta không hiểu vì sao Microsoft lại đột ngột dừng phát triển nó để tập trung vào VB.NET một cách thật lạ lùng.

Vì sao VB6 bị đóng băng?

Microsoft có một thời gian dài ngọt ngào với VB6 khi bộ phát triển phần mềm hoạt động trên Windows này trở thành một trong vài sản phẩm thành công về giá trị về mặt thương mại. Nhiều người dùng đã từ bỏ Delphi, Pascal... và lựa chọn VB6 để thay thế vào thời điểm mà các ngôn ngữ kia trở nên cổ lỗ và không theo kịp xu thế thời đại.

Như trong bài viết "Why Visual Basic 6 was frozen", tác giả Tim Anderson đánh giá có ba nguyên nhân thành công và thất bại của VB6, thứ nhất Microsoft đã làm một cuộc cách mạng lớn khi đem đến một phương cách tiếp cận khá dễ dàng các hàm Windows API cho VB6, trong khi với C người ta cần phải mất nhiều thời gian hơn để gọi và sử dụng API.

Thứ hai, bằng cách tách một dự án phần mềm thành các đối tượng COM (Component Object Model), Microsoft cho phép lập trình viên rút ngắn thời gian sáng tạo một sản phẩm khi người dùng có thể tái sử dụng mã nguồn hoặc chia sẽ thành phần COM từ người dùng khác. Hơn nữa, ActiveX còn có thể hoạt động được trên Microsoft Office, Internet Explorer mà không cần tốn nhiều thời gian viết lại mã nguồn cho tương thích. Thế nhưng, lỗ hổng từ ActiveX trong trình duyệt Internet Explorer đã bị hacker lợi dụng. Rồi qua việc ngày càng có nhiều máy tính người dùng bị tấn công qua ActiveX, tương lai của thành phần COM ngày càng bị lu mờ sau vần mây sẫm tối.

Thứ ba, thất bại của Component Object Model cũng rơi vào thời điểm mà xu hướng lập trình đa nền tảng (cross-platform hay multi-platform) cũng bắt đầu xuất hiện và trở nên phổ biến. Đứng trước lựa chọn đó, các nhà quản trị Microsoft có lẽ đã phân vân trước câu hỏi: phải làm gì tiếp theo với VB6, từ bỏ hay tiếp tục kiếm ăn trên mảnh tàn của nó? Năm 1998, vào thời điểm VB6 phát hành và trở nên một sản phẩm thương mại hành công nhưng phải thật sự nhìn nhận đó không phải là một IDE lập trình hoàn thiện. Nhiều chuyên viên đánh giá VB6 hoàn toàn thiếu hướng đối tượng và có nhiều bất thường. Như một vài ý tưởng bạn có thể triển khai trên C++ hay Delphi nhưng lại không thể tiến hành được trên VB6, hoặc có thể triển khai nhưng phải bằng mẹo vặt rất quái dị. Các nhà chuyên môn nói VB6 chỉ là một xưởng lắp ráp đúng nghĩa, nó sống nhờ vào Component Object Model trong khi các ActiveX lại được viết chủ yếu trên C++. Nếu không có ActiveX, VB6 thật sự là công cụ hết sức yếu kém.

Khi ấy, vào những năm 2000, Java nổi lên như một gã khổng lồ trong lĩnh vực đa nền tảng không chỉ trên kiến trúc phần cứng 32bit lên 64bit, trên các hệ điều hành khác biệt Linux, Windows, Mac... mà còn trên nền Web và Desktop. Và có lẽ trước sự rũ áo ra đi của nhiều người dùng VB sang Java, Microsoft bắt đầu có kế hoạch cho .NET đa nền tảng từ trong phòng nghiên cứu.

Rồi sau khi có NET Framework, một multi-platform đúng nghĩa, xem như Microsoft đã từ bỏ COM và thừa nhận sự thất bại cay đắng của nó sau thời gian sống lay lắt với tấm thân tàn. Điều đó có ý nghĩa là họ buộc phải từ bỏ VB6, tập trung vào dự án mới dù sản phẩm cũ có mang đến cho họ nhiều doanh thu thương mại đi nữa.

Và với các thuật ngữ mới Public, Not, Creatable hoặc Global, Single, Use... rõ ràng Microsoft đã thiết kế một Visual Basic hoàn toàn mới và VB.NET chính thức "giết chết" VB6, khi các mã nguồn cũ không thể nào tương thích hoàn toàn với ngôn ngữ NET mới. Qua VB.NET, Microsoft đã được khắc phục hoàn toàn những điểm yếu trước đó của VB6 như hỗ trợ hướng đối tượng đầy đủ, loại bỏ sự phụ thuộc vào một IDE, đưa VB.NET trở thành một ngôn ngữ ngang tầm với C# một cách bình đẳng.

Từ VB6 đến VB.NET

Vấn đề tương thích giữa VB6 và VB.NET là vấn đề quan tâm chủ yếu của người dùng. Hãy tưởng tượng bạn có hàng ngàn dòng lệnh mã nguồn VB6, sử dụng các kiến trúc COM, kết nối cơ sở dữ liệu dựa trên ADO... thì bạn sẽ làm gì?

Có nhiều câu hỏi gửi đến bộ phận khách hàng của Microsoft yêu cầu giải thích vấn đề này và họ trả lời rằng hãy từ bỏ VB6, học sử dụng VB.NET và nâng cấp mã nguồn lên ngôn ngữ mới. Trước đó, hẵn nhiên Microsoft chưa cung cấp một công cụ convert tự động, tuy nhiên cách thức lập trình với lớp thành phần, giao diện, cách gọi API... trên NET là khác hẵn hoàn toàn. Đó là lý do còn có rất nhiều người dùng nán lại với VB6 dù Microsoft từng tuyên bố chấm dứt hỗ trợ nó trước đây.

Trước hiện tượng luyến tiếc VB6, cùng tiếng "gào khóc" của các tín đồ trước hung tin chấm dứt hỗ trợ, Microsoft đã tuyên bố các ứng dụng viết trên VB6 vẫn có thể hoạt động tương đối trên Windows Vista, Win 7 và Win 8... cả trên nền 32bit và 64bit.

Liệu Visual Basic sẽ phải chết như một định mệnh không thể nào chối cãi? Hiện tại, tạm thời người dùng VB6 có thể ngủ ngon, bởi loại ngôn ngữ phổ biến này chưa thể chết sớm khi các thành phần COM, VBA vẫn còn được sử dụng trong các bộ Office. Nhưng tương lại xa xôi chẳng thể dự đoán được điều gì khi thời điểm mà quá trình chuyển đoạn giữa kiến trúc 32bit và 64bit chấm dứt. Y như câu chuyện lịch sử của các ứng dụng trên Windows 16bit và 32bit trước đó, rồi đến một ngày các phần mềm trên 32bit sẽ trôi tuột vào dĩ vãng không ngoái thấy. Và VB6 sẽ chấm dứt sứ mệnh của mình giống như các ngôn ngữ lập trình Pascal và Delphi đã chết trước đó.

Hãy đón nhận tương lai

Sự xuất hiện ngày càng nhiều các thiết bị di động chạy trình duyệt Android, iOS; cũng như thế lực hệ điều hành đám mây điện toán Chromium OS đang trỗi dậy; các Distro Linux đã ổn định; Mac Os dễ tiếp cận hơn. Tất cả lý do đó đã dọn đường cho xu hướng lập trình mới xuất hiện, công nghệ đa nền tảng, và các IDE ngày nay đã khôn ngoan hơn khi tích hợp trình biên dịch multi như Realbasic, Xamarin, Xojo, Mono... và VB6 chắc chắn không thể nào theo kịp xu hướng mới.

Nhiều người cảm thấy bị bỏ rơi khi Microsoft từ bỏ VB6, cũng như không xuất bản một phiên bản VB7 kế tục. Họ thắc mắc tại sao Microsoft không cho song hành xuất bản cùng lúc hai phiên bản VB.NET và VB7, rồi cảm thấy có nhiều lý do hơn để chán ghét VB.NET và thề rằng thà từ bỏ VB6 chứ không thèm động đến NET.

Đây không phải là lần đầu Microsoft quyết định từ bỏ một dòng sản phẩm thành công vào thời điểm có sự chuyển giao công nghệ. Trước đó, Visual FoxPro cũng chết cùng một một kịch bản mà VB6 đang có và điều đó cho thấy Microsoft đã thực sự đoạn tuyệt hẵn với VB6 dù quyết định có đau đớn đến nhường nào.

TUMMOSOFT



Hình đại diện của người dùng
truongphu
VIP
VIP
Bài viết: 4756
Ngày tham gia: CN 04/11/2007 10:57 am
Đến từ: Cam Đức, Khánh hòa
Has thanked: 14 time
Been thanked: 509 time

Re: Vì sao tôi từ bỏ VB6?

Gửi bàigửi bởi truongphu » T.Sáu 04/07/2014 8:22 pm

tummosoft đã viết:Vì sao Microsoft từ bỏ VB6?

1- Cảm ơn bạn tumosoft đã viết bài hay cung cấp thêm kiến thức, cách nhìn về vb6 trong tổng thể phát triển VB của MS
2- Qua bài viết của bạn, tôi lại thấy hình ảnh xông xáo của các bạn trẻ tham gia forum vb trước đây. Hy vọng thời gian tới bạn sẽ là thành viên chủ lực của forum
3- tumosoft, tumo chắc là lớn. (tumor = bướu). Nếu thế thì tumo phải hơn micro rồi vì tumo là macro!
4- Tôi cũng từ giã vb6, vì thấy box càng ngày càng vắng khách; hơn nữa tôi là dân ngoại: trong khi các bạn chọn lập trìnhn như 1 nghề, tôi lại xem vb6 như một thú vui :D . Giờ thỉnh thoảng vọc vba với các tiện ích cho word và excel...
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh

Hình đại diện của người dùng
tummosoft
Điều hành viên
Điều hành viên
Bài viết: 331
Ngày tham gia: T.Hai 19/05/2014 2:23 pm
Has thanked: 7 time
Been thanked: 57 time
Liên hệ:

Re: Vì sao Microsoft từ bỏ VB6?

Gửi bàigửi bởi tummosoft » CN 06/07/2014 7:26 am

1- Cảm ơn bạn tumosoft đã viết bài hay cung cấp thêm kiến thức, cách nhìn về vb6 trong tổng thể phát triển VB của MS
2- Qua bài viết của bạn, tôi lại thấy hình ảnh xông xáo của các bạn trẻ tham gia forum vb trước đây. Hy vọng thời gian tới bạn sẽ là thành viên chủ lực của forum
3- tumosoft, tumo chắc là lớn. (tumor = bướu). Nếu thế thì tumo phải hơn micro rồi vì tumo là macro!
4- Tôi cũng từ giã vb6, vì thấy box càng ngày càng vắng khách; hơn nữa tôi là dân ngoại: trong khi các bạn chọn lập trìnhn như 1 nghề, tôi lại xem vb6 như một thú vui :D . Giờ thỉnh thoảng vọc vba với các tiện ích cho word và excel...


Cám ơn bạn,
Được bạn động viên mình cảm thấy hưng phấn lên rất nhiều.
Mình lấy chữ Tummo theo Phật giáo Tây Tạng, nghĩa là ngọn lửa nội nhiệt của môn yoga, khởi nguồn của sự giải thoát. :)) Qua giải thích của bạn mình mới để ý đến chữ tumor trong tiếng Anh.
Mình cũng đọc blog của bạn và cảm thấy bạn viết khá thú vị. Mong có nhiều bài viết hay hơn từ bạn.


Quay về “Các vấn đề CNTT khác”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách