百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

Visual Basic 永远29岁,微软宣布不再发展这门语言

yuyutoo 2025-02-15 18:03 5 浏览 0 评论

近期,微软 NET 团队在开发者博客中宣布,他们虽然还会继续在 .NET 5.0 上支持 Visual Basic ,但不再将 VB 作为一门独立的语言发展(Going forward, we do not plan to evolve Visual Basic as a language)。

雷锋网AI源创评论了解到,.Net 5 是一套可以为 Windows、Linux、macOS、iOS、tvOS、Android、Web 等提供统一运行环境,横跨云端、IoT、本地游戏等的大迭代版本,由微软在去年 Build 大会宣布,并在今年的 3 月 17 日发布了第一个预览版本。

第一个预览版本

NET 5 VB 将支持类库、控制台、Windows Forms、WPF、Woker Service 和 ASP.NET Core Web API。

“展望未来,我们不打算继续演化 VB 这门语言,而是将精力放在改进稳定性、以及保持 .NET Framework版本和 .NET Core 的兼容性。”当然由于平台差异,VB 在两个版本上会逐渐展示出差异。

VB 也曾辉煌

VB 曾经也辉煌过,它是第一个支持可视化界面设计的语言。

雷锋网AI源创评论了解到,VB 的前身是 Quick BASIC ,由微软公司在 1987 年推出。若再往前追溯,Quick BASIC 还是 BASIC 的继承者。BASIC 语言诞生于 1971 年,设计目的就是面向初学者,其时的 Fortran 和 Algol 60 语言很难被非理工科生掌握。

Quick BASIC 是 DOS 下的开发语言,后来随着 Windows 系统的推出加入了图像化设计,1991 年 4 月,微软将新的版本改名为:Visual Basic,一经问世,便得到许多程序员的青睐。1998 年发布的 VB 6.0 是一个应用非常广泛的版本。

然后.NET 时代来了。2001 年,VB 迁移到了.NET 平台上,取名 VB .NET。VB .NET 对 BASIC 语言特性进行了重大改进。

但也是这个版本割裂了 VB 的阵营,一部分开发者去用了.NET 版本,另一些则坚持使用过去 VB,如经典的 VB6。开发者表示两种语言差别颇大,前者更像 java,更面向对象。

而微软选择了.NET 。2005 年,微软宣布将不再对非 .NET 版本的 VB 提供免费支持,百名 MVP 上书抗议也未果。后来,微软在 2010 年将两个版本又融入了 Visual Studio。

在内斗中取胜的 VB .NET,但没有抗住外部的对手—— C# 。C# 于 2000 年和 .NET 开发平台一起由微软发布。.NET 开发平台支持多种语言,其中 C# 是主语言。

随着时间的推移,专业开发者越来越倾向于使用 C#, 许多 VB 的用户也干脆放弃了更复杂、功能强大的 . NET 版本。到了今天,微软几乎所有的相关开发文档都用 C#,VB 源代码的例子越来越难找到。

而微软不是很重视 VB 的态度似乎一直有迹可循。2017 年,微软曾宣布过一个 C#/VB 协同开发策略,但事实上有人认为这个策略一直形同虚设,只有 C# 会获得所有的新特性,而 VB 会专注于它曾经主宰的更简单、更容易接近的场景。这一则声明相当于正式宣告策略破产。

“它被认为是一种玩具语言,适合刚开始学习编程的人。”编程语言社区 TIOBE 在 2018 年出具的一份报告中这样写道,没有多少专业开发者会过多关注这种语言。“微软正在慢慢减少对 VB 的投入,这种语言迟早会衰落。”微软官方当年公布的数据,C# 的使用者量级是数百万,而 VB.NET只有数十万。

2020 年 3 月榜单

但很神奇的是,VB. NET 一直活跃在 TIOBE 程序语言榜单中,在 2018 年 12 月还超过 C#,排在第五位。最新的 3 月榜单中,C#排在第五,VB. NET 比之去年 3 月下滑位至第六,VB 排在第 18 位。

开发者何去何从?

微软博客中表示,开发者可以继续使用 .NET Framework,也不一定都将 VB 应用都迁移到 .NET Core 上,因为目前 .NET Core 不支持 WebForms,Workflow 或 WCF等,而且迁移还需要应用到一些很新的技术。

“只要你高兴,不论是 VB 还是 C# 用户,你都可以继续使用.NET Framework,只要电脑还支持 Windows,自带的 .NET Framework 就能一直使用。”

微软还指出, Visual Studio 还将持续增加新功能、改善性能,VB 开发者也能继续躺享,比如他们近期为 VB 加入了 IntelliCode 。

也就是说,VB.NET 不会消失,只是不会进一步发展,开发者可以转用 .NET Core,或者直接转去用 C#。

在外网一篇博客下,雷锋网AI 源创评论注意到,一些开发者表示,VB 用户群太小众了,“消亡”是不可避免的。不仅他身边朋友没有人用,连朋友的朋友都没人用。

不过需要指出的是,尽管 VB 衰落,但其实现在有许多程序和 APP 是用 VB 写的,比如许多专为中小型企业开发的办公应用程序,VB 可以快速原型化,而且很容易上手。

还有很多的开发者表达了对于 VB、以及 20 年前使用 VB 时光的怀念。这些开发者差不多在 90 年代从 FoxPro 迁移到 VB,2000 年之后又切换到 C#。所以在怀念之余,他们也大力鼓动 VB 开发者转到 C#。

Mike_Brady 也是其中一位,他在 2002 年开始上手 C#。他认为有些 VB 程序员还在坚守 VB 是因为他们对于花括号(curly braces)太过恐惧了,“虽然 C# 很像 C,但并不是(我在工作中接触过几年 C 语言,不寒而栗,再也不要用了!),事实上 C# 更接近 VB.NET,转换并不是很难的一件事,可能一两个星期,就能适应这种文体上的差异。”

参考

https://www.cnblogs.com/QQBOSS/p/9906436.html

https://devblogs.microsoft.com/vbteam/visual-basic-support-planned-for-net-5-0/

https://www.thurrott.com/dev/232268/microsoft-plots-the-end-of-visual-basic

相关推荐

墨尔本一华裔男子与亚裔男子分别失踪数日 警方寻人

中新网5月15日电据澳洲新快网报道,据澳大利亚维州警察局网站消息,22岁的华裔男子邓跃(Yue‘Peter’Deng,音译)失踪已6天,维州警方于当地时间13日发布寻人通告,寻求公众协助寻找邓跃。华...

网络交友须谨慎!美国犹他州一男子因涉嫌杀害女网友被捕

伊森·洪克斯克(图源网络,侵删)据美国广播公司(ABC)25日报道,美国犹他州一名男子于24日因涉嫌谋杀被捕。警方表示,这名男子主动告知警局,称其杀害了一名在网络交友软件上认识的25岁女子。雷顿警...

一课译词:来龙去脉(来龙去脉 的意思解释)

Mountainranges[Photo/SIPA]“来龙去脉”,汉语成语,本指山脉的走势和去向,现比喻一件事的前因后果(causeandeffectofanevent),可以翻译为“i...

高考重要考点:range(range高考用法)

range可以用作动词,也可以用作名词,含义特别多,在阅读理解中出现的频率很高,还经常作为完形填空的选项,而且在作文中使用是非常好的高级词汇。...

C++20 Ranges:现代范围操作(现代c++白皮书)

1.引言:C++20Ranges库简介C++20引入的Ranges库是C++标准库的重要更新,旨在提供更现代化、表达力更强的方式来处理数据序列(范围,range)。Ranges库基于...

学习VBA,报表做到飞 第二章 数组 2.4 Filter函数

第二章数组2.4Filter函数Filter函数功能与autofilter函数类似,它对一个一维数组进行筛选,返回一个从0开始的数组。...

VBA学习笔记:数组:数组相关函数—Split,Join

Split拆分字符串函数,语法Split(expression,字符,Limit,compare),第1参数为必写,后面3个参数都是可选项。Expression为需要拆分的数据,“字符”就是以哪个字...

VBA如何自定义序列,学会这些方法,让你工作更轻松

No.1在Excel中,自定义序列是一种快速填表机制,如何有效地利用这个方法,可以大大增加工作效率。通常在操作工作表的时候,可能会输入一些很有序的序列,如果一一录入就显得十分笨拙。Excel给出了一种...

Excel VBA入门教程1.3 数组基础(vba数组详解)

1.3数组使用数组和对象时,也要声明,这里说下数组的声明:'确定范围的数组,可以存储b-a+1个数,a、b为整数Dim数组名称(aTob)As数据类型Dimarr...

远程网络调试工具百宝箱-MobaXterm

MobaXterm是一个功能强大的远程网络工具百宝箱,它将所有重要的远程网络工具(SSH、Telnet、X11、RDP、VNC、FTP、MOSH、Serial等)和Unix命令(bash、ls、cat...

AREX:携程新一代自动化回归测试工具的设计与实现

一、背景随着携程机票BU业务规模的不断提高,业务系统日趋复杂,各种问题和挑战也随之而来。对于研发测试团队,面临着各种效能困境,包括业务复杂度高、数据构造工作量大、回归测试全量回归、沟通成本高、测试用例...

Windows、Android、IOS、Web自动化工具选择策略

Windows平台中应用UI自动化测试解决方案AutoIT是开源工具,该工具识别windows的标准控件效果不错,但是当它遇到应用中非标准控件定义的UI元素时往往就无能为力了,这个时候选择silkte...

python自动化工具:pywinauto(python快速上手 自动化)

简介Pywinauto是完全由Python构建的一个模块,可以用于自动化Windows上的GUI应用程序。同时,它支持鼠标、键盘操作,在元素控件树较复杂的界面,可以辅助我们完成自动化操作。我在...

时下最火的 Airtest 如何测试手机 APP?

引言Airtest是网易出品的一款基于图像识别的自动化测试工具,主要应用在手机APP和游戏的测试。一旦使用了这个工具进行APP的自动化,你就会发现自动化测试原来是如此简单!!连接手机要进行...

【推荐】7个最强Appium替代工具,移动App自动化测试必备!

在移动应用开发日益火爆的今天,自动化测试成为了确保应用质量和用户体验的关键环节。Appium作为一款广泛应用的移动应用自动化测试工具,为测试人员所熟知。然而,在不同的测试场景和需求下,还有许多其他优...

取消回复欢迎 发表评论: