网易首页 > 网易号 > 正文 申请入驻

Bill Gates 和 Linus Torvalds 同时推崇的编程语言,不可复制的经典

0
分享至

1

缘起

我们为什么没有这样的东西?!” -- Bill Gates

1988年春天,Alan Copper坐在微软的大会议室中,给Bill Gates和微软的十几名员工做了一次著名的演示。

这是个叫做Tripod的开发工具,控制面板上面是一些按钮,列表框之类的东西,它采用事件驱动的方式,即当用户执行某个操作(如单击按钮)时,系统会触发特定代码执行执行。

很明显,这种开发方式把Bill Gates强烈地震撼了。

Bill Gates想到了自家刚刚发布的Windows操作系统:

GUI界面虽然对用户很友好,但是对程序员来说,在上面编程痛苦不堪,必须需要使用原始的 Win32 API。

这意味着使用C语言编写 WndProc()函数,在里边用丑陋无比的switch case 语句来处理各种Windows消息。

LRESULT CALLBACK WndProc(HWND hwnd,
UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_CLOSE:
DestroyWindow(hwnd);
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return DefWindowProc(hwnd, msg, wParam, lParam);
}
return 0;
}

即使想创建一个简单的窗口,没有几百行代码也是不行的。

编程模型乏味又枯燥,简直不是人干的活儿。

相比之下,Alan Copper的Tripod可以把各种组件拖拽到表单设计器,然后对事件添加处理代码就可以了,又简单又直观。

这绝对是以后Windows开发的未来。

“我们为什么没有做这样的东西?!” Bill Gates扭头对着他的随从问道。

Bill Gates买下了Tripod,并且让项目组对Tripod进行改造,用自己喜欢的Basic作为新工具的内置编程语言。

最终,Visual Basic问世了。

Visual Basic的一大特点就是:有限的功能集使得学习曲线要短得多。

学习VB vs 学习 C++,就像学习开车vs 学习开飞机。

成为一名优秀的 Visual Basic 6 程序员比成为一名优秀的 C++ 程序员花费的时间要少得多。

2

发展

Visual Basic的出现也是恰逢其时。

八九十年代,个人电脑市场正在迅猛发展,疯狂地吞噬原来大型机和小型机的领地。

生活在那里的数百万COBOL程序员非常紧张,也想转型到PC开发上来,但是C/C++陡峭的学习曲线和非常低级的Win32 API成为最大的拦路虎。

正当他们无所适从的时候,提供了更简单抽象层的Visual Basic出现了,在组件化的编程模型下,你只需要把“控件”拖放到表单时,设置好属性,编写好事件处理代码,一个Windows应用程序就开发出来了。

从此,大型机COBOL程序员高兴地拥抱了Windows平台。

一些编程新手也被Visual Basic吸引,他们了解到函数如何工作,对象如何工作,迅速地开发出应用程序,第一次感受到了编程的乐趣和力量。

而Alan Copper当初的一个设计决策让Visual Basic一飞冲天。

在Visual Basic中,每一个控件(文本框,按钮,下拉框等)都是一个单独的,可以动态加载的DLL,也就是说,任何人都可以开发属于自己的控件,然后加载到Visual Basic当中。

这和后来Eclipse,IDEA,VS Code的插件思想非常类似,只是VB比他们早了一个时代。

无数软件开发厂商开始开发这种自定义控件(VBX),日历选择器,图标,条码扫描,报表...... 海量的VBX迅速发展成一个第三方的市场。

Visual Basic不断地推出新版本,不但支持快速开发桌面的GUI应用,还可以通过ADO等手段访问数据库,从而开发C/S架构程序。

到了1998年,Visual Basic 6.0发布时达到了巅峰,有三分之二的Windows商业应用是Visual Basic开发的,Visual Basic 在全球拥有350万开发人员,是C++程序员数量的十倍以上。

能和VB一战的,恐怕也只有Delphi了。

Alan Cooper和微软签署了严格的保密协议,在四年的时间内,一直保守秘密,不对外界透露他在做什么。

直到Visual Basic 发布以后,他的朋友Mitchell Waite 打电话问他,在VB那个about box中的Copper是不是你?此时Alan Copper才承认是他干的。

Mitchell Waite请Alan Cooper吃了一顿饭,亲耳听到了完整的故事,不由地感慨:这使你成为VB之父!

1994年,由于对可视化编程的杰出贡献,Visual Basic 之父Alan Cooper获得了微软第一个Windows先锋奖。

3

衰落

Visual Basic在桌面开发中辉煌了10年,直到它撞上了互联网的大潮。

Sun公司的Java异军突起,独领风骚,让微软感受到了巨大的压力。

在开发了不成功的Visual J++,被Sun控诉说破坏了Write once ,run anywhere 之后,微软决定另起炉灶,开始做.NET。

Visual Studio的所有产品都摇身一变,加上了.NET后缀,Visual Basic也不例外,成了VB.NET。

VB.NET彻底改变了最初的产品精神,变成了更复杂,功能更全的编程语言,开始和C#一起共享很多复杂的概念,线程、继承、多态,学习曲线陡然升高。

但是在.NET平台上,C#才是亲儿子,是微软的战略产品,既然底层的概念都类似,为什么不选C#呢?

在一篇微软的博客中,.NET 讲师 David Platt痛斥微软产品犯的错误:

几乎所有的VB6程序员都对VB6很满意,这是一辆非常不错的汽车,他们很愿意成为汽车的司机,至于VB6中缺乏运算符重载,多态,他们并不在乎。 但是,微软团队听到了3%的司机的意见,这帮人想成为战斗机飞行员,他们参加各种会议,写各种文章,在论坛上发帖,希望给汽车增加响尾蛇导弹,安装加力燃烧器,HUD显示屏,反导设施...... 微软最终做到了,这就是VB.NET。

更糟糕的是,微软发布的迁移工具是不可靠的,代码从VB迁移到VB.NET非常困难,很多时候,用户需要手工重写。

这彻底打破了开发人员对VB的信任,VB程序员开始摇摆,要么从VB.NET从头开始,要么转向PHP,Python,JavaScript,大多数人选择了后者。

Visual Basic 6.0成了最后一个经典的VB版本,一些程序员依然坚守,2008年4月,微软宣布停止支持VB 6 IDE,但是直到今天,Windows依然支持运行VB6开发出来的程序,可见这里有一个庞大的、遗留VB6程序的部落,不容忽视。

4

反思

2006年,一个18岁的程序员在邮件列表中问了这么一个问题:编程的下一件大事是什么?

没想到,著名的 Linus Torvalds 竟然回复了:

“帮助简化所有日常苦差事的工具, 例如我个人认为Visual Basic在编程方面比面向对象做得更多,但人们嘲笑VB是一种糟糕的语言,虽然VB不是一门伟大的语言,但是VB中的简单易用的数据库接口比面向对象要重要得多......”

转眼间,Visual Basic已经诞生30多年了,但是编程并没有变得比九十年代简单,相反变得更复杂了,还专门分离出了前端来处理UI相关的问题,还有层出不穷的框架,让人难受的、复杂的CSS,浏览器兼容问题...... 这些苦差事和30年前用拖拽的方式建立界面有天壤之别。

我们现在其实缺少像Visual Basic这样的隐藏复杂性的工具,它功能有限但是足够,学习曲线短,可以快速上手,迅速开发出应用出来。

下一个时代的Visual Basic会在哪儿呢?

参考资料:

http://www.ojodepez-fanzine.net/network/qbdl/history_of_visual_basic.html

https://web.archive.org/web/20170309062139/https://www.cooper.com/alan/father_of_vb.html

https://learn.microsoft.com/en-us/archive/msdn-magazine/2012/june/don-t-get-me-started-the-silent-majority-why-visual-basic-6-still-thrives

https://retool.com/visual-basic/#cover

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
寒心!张兰生日无人管,汪小菲还在讨好S妈,马筱梅成笑话

寒心!张兰生日无人管,汪小菲还在讨好S妈,马筱梅成笑话

萌姐
2026-04-08 22:37:17
为了郑丽文专机能顺利落地,解放军果断亮出底牌,痛击台独要害

为了郑丽文专机能顺利落地,解放军果断亮出底牌,痛击台独要害

共工之锚
2026-04-08 00:37:29
所有的东西都会过期:幸好如此

所有的东西都会过期:幸好如此

疾跑的小蜗牛
2026-04-09 21:11:11
浙江9市发钱了!大专1.8万,本科3万起,博士直接赢麻了

浙江9市发钱了!大专1.8万,本科3万起,博士直接赢麻了

优墨出品
2026-04-09 15:49:05
伊朗最高领袖发声

伊朗最高领袖发声

第一财经资讯
2026-04-07 09:07:21
为什么网球是地球上最性感的运动?贝雷蒂尼:因为有很多呻吟声

为什么网球是地球上最性感的运动?贝雷蒂尼:因为有很多呻吟声

网球之家
2026-04-09 22:56:07
WTT太原赛!国乒8人出战,温瑞博首秀完败,林诗栋男双3-0零封

WTT太原赛!国乒8人出战,温瑞博首秀完败,林诗栋男双3-0零封

罗纳尔说个球
2026-04-09 21:58:35
都是闪充惹的祸!比亚迪被友商“卡脖子”了,车主吐槽等车时间长

都是闪充惹的祸!比亚迪被友商“卡脖子”了,车主吐槽等车时间长

小李车评李建红
2026-04-09 08:00:03
郑丽文感慨:只要给和平足够时间,一切皆有可能

郑丽文感慨:只要给和平足够时间,一切皆有可能

上观新闻
2026-04-09 23:20:03
四川省交通运输厅原副厅长鲜雄被查

四川省交通运输厅原副厅长鲜雄被查

爱看头条
2026-04-09 19:12:01
国际油价跌破100美元,美油大跌近15%

国际油价跌破100美元,美油大跌近15%

每日经济新闻
2026-04-09 07:50:54
唯物主义有什么缺陷?

唯物主义有什么缺陷?

小豫讲故事
2026-04-08 06:00:06
孙俪被吴慷仁害惨了!?

孙俪被吴慷仁害惨了!?

八卦疯叔
2026-04-09 11:28:38
伊朗总司令下令:打进来的美军全部杀光,不允许留任何一个活口

伊朗总司令下令:打进来的美军全部杀光,不允许留任何一个活口

兴史兴谈
2026-04-08 10:16:42
研究表明:性生活越频繁,射精和勃起问题越少!

研究表明:性生活越频繁,射精和勃起问题越少!

黯泉
2026-04-05 20:40:12
人类存在三百万年,地球却存在45亿年,地球出现多次人类吗?

人类存在三百万年,地球却存在45亿年,地球出现多次人类吗?

心中的麦田
2026-04-09 19:55:00
毕业即转行,无数学生被调剂后宁愿没学上也要逃离的几大专业!

毕业即转行,无数学生被调剂后宁愿没学上也要逃离的几大专业!

黯泉
2026-04-09 20:16:02
14.99万元,凯旋765 Moto2上市,地表最强三缸,张雪820RR有没有话说?

14.99万元,凯旋765 Moto2上市,地表最强三缸,张雪820RR有没有话说?

机车网
2026-04-08 21:20:16
涉案金额近10亿 内蒙古警方摧毁特大“跑分”洗钱团伙

涉案金额近10亿 内蒙古警方摧毁特大“跑分”洗钱团伙

新浪财经
2026-04-09 21:34:04
全红婵报警后续:网暴者已逃离,牵连多名运动员,新华社转发

全红婵报警后续:网暴者已逃离,牵连多名运动员,新华社转发

一盅情怀
2026-04-09 15:58:41
2026-04-10 02:11:00
码农翻身 incentive-icons
码农翻身
有趣且硬核的技术文章
247文章数 642关注度
往期回顾 全部

科技要闻

Meta凌晨首发闭源大模型 扎克伯格又行了?

头条要闻

以色列总理:同意与黎巴嫩直接谈判

头条要闻

以色列总理:同意与黎巴嫩直接谈判

体育要闻

8万人面前心脏骤停 现在他还站在球场上

娱乐要闻

金莎官宣结婚 与老公孙丞潇相差18岁

财经要闻

停火又悬了,最糟糕的情况要来了?

汽车要闻

文飞掌舵,给神行者带来了什么?

态度原创

家居
教育
数码
手机
房产

家居要闻

清新自然 复古风尚

教育要闻

物理课竟开到赛车场上!弘文少年:“向心力”原来长这样

数码要闻

华为多款新品在路上:Pura 90、阔折叠、AI眼镜、平板耳机全都有

手机要闻

荣耀600系列再次曝光:AI两亿主摄+AI按键,电池超大!

房产要闻

利润暴跌44%!那个春节被骂惨了的海峡股份 正在经历什么?

无障碍浏览 进入关怀版