在微软(M$)公开新的 .NET Framework 5.0 的同时,也宣布了一个重要的事情,那就是今后将不再发展 Visual Basic 语言。虽然说在今后几个版本的 .NET Framework 里还将继续支持 Visual Basic 语言,但不再发展新的语言特性无异于是宣判了一个缓刑。
其实站在 M$ 的角度来说,这是一个早就应该要做出的决定,老夫也非常理解。早在 2002 年进入 .NET 时代后,VB 就和 C# 共用了运行库加入到了大家族里面(还有少数几个为了保留旧时 VB 开发习惯而重写的类库),除了语法格式,早就和 C# 开发无异。此时 VB 已经失去了过去的极简开发的风格,不再随便摆摆控件每个事件写几行代码就能拼凑出一个像样的管理系统了。再加上到现在的互联网和移动时代,就连 WinForms 开发都不好过,.NET 在其他领域也难以与其他语言一较高下,所以 M$ 更应该专注。不过作为财大气粗的 M$,在未来几个版本还是会继续支持 VB.NET,也就是进入了维护期(不过早在几年前就已经是这样了,只是没有宣布而已)。
老夫的编程生涯是从 VB6 开始的,虽然已经有很长的时间没有写过 VB 的代码了,但是对这门语言还是有很深的感情。在中学的时代,网页技术还不怎么发达,计算机还是 PC 桌面端的天下。除了少数专业领域外,只要你开发了 WinForms,就相当于 target 到了所有的用户。当时 VB 凭借着简洁的语法和简易的开发模式迅速走红,只要你用鼠标拖拖控件,设置一下属性,再写几句代码就能跑起来(当然 .NET 时代也是如此,但是要复杂许多了)。由于大多数人都是在用 M$ 的东西,所以你可以用 VB 完成几乎所有的需求,比如老夫就尝试过:
- 在窗体上用照片作为背景,随便摆摆控件做成页面,并配上音乐,就能做出一个像样的“回忆录”,老夫曾经以此做了个生日礼物送给某个同学(下次去问一下看对方是否还记得)。
- 用 Media Player 控件做个播放器。老夫当时把这个控件隐藏起来,然后自己做了个列表、播放器按钮等,并称之为“Lieo音频播放器”,当时还有少数几个网友在用。
- 用 ADO 控件访问数据库,如果不想写代码,直接把控件设置好绑定的字段,就可以用啦!一个进销存的系统可能仅需要自己写不超过 100 行代码就行。
- 遇到复杂的效果不太好实现(比如动画、流程控制等),那就用 Timer 控件吧!记得当时我仿照老虎机写了个小游戏,用了七八个 Timer 来实现。
- 可以很方便地引用 DLL,比如老夫直接用此调用 OpenGL 库,实现很多三维图形的显示。
现如今,环境变得越来越复杂,平台各异、设备种类繁多,软件开发也早就不像 VB 时代那样可以迅速入门,虽然 Apple 和 Google 都在宣称自己的 Android Studio 和 Swift UI 随便搞搞就能用,不用写多少代码,但是实际用起来嘛……
在我读书的时候还经常会有外行人来咨询各种开发方面的问题(比如我以前认识的就有化工、物理相关方面的人士用业余时间自己鼓捣小系统给自己或公司用),而现在随着门槛的提升,我也没遇到过这样的凭自己兴趣在学的其他行业的人了。(当然如果是做数据处理和分析方面,有 Python 这个 bug 级别的语言和 pandas、sklearn 这种 bug 级别的库,那门槛又比十几年前要低了很多。)
无论如何,每个东西都有自己的时代使命,从这个角度来看,Visual Basic 算是相当出色了。毕竟从宇宙的时空尺度,人类文明都仅仅是转瞬间的时间跨度而已。