东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

VB.NET 路在何方?

  • 2009-06-24
  • 本文字数:1583 字

    阅读完需:约 5 分钟

很多人想知道微软为何重视 C#而轻视 VB.NET,为何 VB.NET 开发者和 C#开发者同工不同酬,VB.NET 开发者的未来在哪里。.NET 管理语言组的项目经理 Lisa Feigenbaum 在播客上向VB.NET 社区保证——VB 的未来依旧是光明灿烂的。

Lisa 解释了为何大家对 VB.NET 和 C#有不同的理解:首先这是由微软的策略所决定的。微软可不仅仅想在 CLR 上面运行两套语法完全不同的语言,公司希望这两种语言能够各司其职,因此在.NET 的世界中,这两种语言的发展路线是截然不同的。微软发布的大多数文档都包含了丰富的 C#示例,与此相反,VB.NET 的示例数量就大打折扣了,因此大家都觉得 VB.NET 并不受宠,有些穷途末路了。

根据 Lisa 所述,一开始微软想在这两种语言中分别加入不同的特性以便让他们各取所长,但 VB.NET 用户一次又一次地要求微软向 VB.NET 中加入 C#特性,同时 C#用户也想在 C#中加入 VB.NET 特性,这么做的直接后果就是微软决定同步发展这两种语言。同时 VB.NET 开发者的数量要比 C#开发者多一些,因此微软并不会扼杀 VB.NET,这也不是公司的意愿。当 18 个月前 VB.NET 与 C#设计团队合并在一起以共同推进语言的发展时,微软的这项承诺也终于付诸实践了。

C#的首席架构师 Anders Hejlsberg 检视了这两个语言的发展历程得出这样一个结论:两种语言都在不断发展。每当 Anders 决定两种语言要实现的某个新特性后,VB.NET 与 C#开发团队就分别钻进了各自的房间讨论如何根据相应语言的语法和整体设计原则来实现这个新特性。这么做会导致两种后果:其一,两种语言增加同样的特性集,其二,每种语言都保持自己的个性而不管另一种语言到底是怎么做的。这就确保了 VB.NET 并不会被 C#所蚕食。这两种语言的同化性越来越明显了。到目前为止,C#能做而 VB.NET 不能做的东西就剩下 XNA 游戏了,因为 VB.NET 没有对应的项目模板。然而微软希望填平语言间的鸿沟,因此这两种语言最终将走向大同世界。

我们将在下个版本的 Visual Studio 中看到两个语言设计小组合并后的努力成果。VS 最初是用 C 和 C++ 开发的,但 VS 2010 的编辑器和编译器将包含更多的托管代码,力度也是史上最强的,这意味着将使用更多的 C#和 VB.NET 代码。VS 和 Office 并不会一夜间都变成托管代码,因为还有不少遗留代码尚存,但新写的大部分都是托管代码。

一些调查机构表示 VB.NET 与 C#开发者同工不同酬,前者薪酬要比后者少 10-15%,我们认为这是由于大家对 VB.NET 的认识偏差造成的,这种观念已经根深蒂固了,因此还需加以时日才能让大家看到这两种语言其实是一样的,他们都是微软的亲生骨肉。


以下精彩点评来自 InfoQ 英文站

1. Michael Hedgpeth 说到:我有个朋友过去从事 VB 开发,现在转到了 C#上。他跟我说:你知道 VB 和 C#程序员的价码差多少吗?整整 $10,000 大洋。我认为只要这种情况一直持续下去,没人不去选择 C#。这不光是语言问题,而是钱啊。

2. Al Tenhundfeld 说到:我知道不同的语言有不同的特性,不仅是框架本身,对社区来说这也是好事。然而还有其他一些因素值得我们深思。两种语言对工具和 RAD 的支持力度一样么?微软真的做到不偏不倚了么?举个例子吧,两种语言都有同样的 GUI 向导么,两种语言对 SharePoint 开发的支持一样么,凡此种种。当然,我并不是强调哪种语言适合做上面这些事,我仅仅想说语言特性只是成功语言的一部分,而不是全部,尤其在微软的世界里更是如此。

我由衷希望这两种语言能够长久共存,他们分别适合不同的开发者。VB.NET 适合于从 VB6 和 MS Office 编程,如 Access 或 Excel 中的 VBA 脚本编程转过来的人。C#适合于从 Java 阵营转过来的人,同样也适合于那些没有学过.NET 而了解其他语言的人。我自己就是从 VB 转到了.NET 阵营的,但从 2.0 开始,特别是 3.5,我发现 C#的表述性更强,语法更加整洁。与此相比,VB.NET 就有些相形见绌了。

查看英文原文: Is There a Future for VB.NET?

2009-06-24 01:242032
用户头像

发布了 88 篇内容, 共 258.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

Ableton Live如何设置中文?ableton live 11 mac中文破解版 永久可用

Rose

mac音乐制作软件 Ableton Live 11破解版 Ableton Live 11中文版

语音生成、写作增强、论文辅助、英文学习,AI原生应用精彩推荐一箩筐!

飞桨PaddlePaddle

百度 开发应用 百度飞桨 文心大模型 飞桨星河社区

Programming Abstractions in C阅读笔记:p258-282

codists

HDFS 小文件合并最佳实践

冰心的小屋

NameNode 海量小文件

最强GTD时间管理工具OmniFocus Pro 3 for Mac最新激活版 附注册机 兼容M1/M2

Rose

苹果软件 OmniFocus 下载 Mac任务管理器 OmniFocus Pro 3 GTD时间管理

hazel mac破解版 自动化文件清理工具 含hazel激活码 兼容m1 m2

Rose

苹果软件资源 Hazel 下载 Mac自动清理工具 Hazel Mac破解版

Keep It for mac(Mac笔记软件)v2.3.8激活版

影影绰绰一往直前

【豆瓣8.4】《RabbitMQ实战指南》PDF

程序员李木子

【豆瓣9.1】《大数据处理框架Apache Spark设计与实现(全彩)》PDF

程序员李木子

linux系统下多种yum repo创建教程

百度搜索:蓝易云

Linux 运维 yum 云服务器

Atlassian 停服 Bitbucket?三步快速迁移至极狐GitLab

极狐GitLab

《数字化运维路线图》第二部分 震撼发布!

博睿数据

可观测性 运维监控

OmniFocus Pro 3 for Mac 中文破解版下载 强大的任务管理工具

影影绰绰一往直前

Tipard Video Converter Ultimate for Mac(视频格式转换工具)v10.2.52中文版

影影绰绰一往直前

Be Focused Pro for Mac(任务时间小工具)v2.4.1激活版

影影绰绰一往直前

Aiseesoft HEIC Converter mac:HEIC格式的文件转换为图片格式

Rose

Mac软件 图片格式转换 HEIC格式 HEIC Converter

在线 cURL 参数对比工具,让你的开发工作更加高效

秦少卫

curl 接口工具 调试工具 请求参数对比 参数格式化

C# 面向对象编程解析:优势、类和对象、类成员详解

小万哥

C# 程序人生 编程语言 软件工程 后端开发

使用阿里云Rocky Linux镜像源替换默认源教程

百度搜索:蓝易云

云计算 Linux 运维 云服务器 Rocky

Programming Abstractions in C阅读笔记:p254-p257

codists

“数字人”走进我们生活了!

青否数字人

数字人

【Linux技术专题】「夯实基本功系列」带你一同学习和实践操作Linux服务器必学的Shell指令(深入Kill指令探索)

洛神灬殇

Linux Shell 2024年第二十二篇文章 技术指令

应该如何选择轻量级低代码、重量级低代码、轻量级低代码+定制、纯定制软件开发?

天津汇柏科技有限公司

低代码开发 低代码,项目开发 定制软件开发 软件开发定制

AnyMP4 iPhone Password Manager for Mac(iPhone密码管理器)v1.0.20激活版

影影绰绰一往直前

GarageSale for Mac(mac eBay在线拍卖客户端)v9.6.0激活版

影影绰绰一往直前

数字人源码刷新认知,市场前景可期!

青否数字人

数字人

视频文件损坏如何修复?QuickTime 无法打开视频文件?视频闪烁如何解决?

Rose

视频文件损坏 QuickTime 无法打开视频 视频闪烁

听GPT 讲Rust源代码--compiler(30)

fliter

百度反链是什么? 如何查询百度反链?

百度搜索:蓝易云

云计算 百度 运维 SEO 云服务器

文心一言 VS 讯飞星火 VS chatgpt (187)-- 算法导论14.1 4题

福大大架构师每日一题

福大大架构师每日一题

VB.NET路在何方?_.NET_Abel Avram_InfoQ精选文章