写点什么

Visual Basic 的未来之路

  • 2017-02-13
  • 本文字数:1028 字

    阅读完需:约 3 分钟

上周,微软宣布了他们改变Visual Basic 语言未来发展计划的想法。这次公布给Visual Basic 开发人员留下了很多不确定性,但Visual Basic 语言的设计者Anthony D.Green说明了这个新策略的一些细节。

Green 首先列出了当时使用 VB 进行开发的四个基础指导原则:

  • VB 和 C#共享的通用 IDE 和平台构建块。
  • 共享的“多范式、面向对象、命令式、强类型等”语言特性。
  • 在 API 的边界需要强大的跨语言互操作性和丰富的语言创新机会(如泛型、LINQ、异步)。
  • 客户对语言工具奇偶校验的反馈。

现在微软认为 VB 非常适合那些以 Windows 平台作为目标开发平台的开发者或者编程新手(至少,编程不是他们主要的职业)。

另一方面,非 Windows 平台的崛起给 C#带来了一定的影响但不会影响到 VB。在 Green 看来,VB 不太适合游戏开发或者基于 Mac OS X 的开发。VB 对于非 Windows 平台适应性的缺乏造成了困境,F#的开源以及 C#对开源工具日益增长的支持,使得这两种语言在吸引和保留开发人员方面优于 VB。越来越多的 C#开发人员进入了良性循环,他们可以带来更多的进步,从而吸引更多的开发人员。

最后,Green 提出了一种情况,如果保持 C#与 VB 的开发进度和功能特性齐头并进,这对于有限的资源会产生压力。微软希望专注于 C#,因为它以最快的方式提供最广泛的反馈。一旦这种反馈产生了对 VB 开发人员有价值的想法,微软会考虑从 C#移植到 VB。

这对于那些想知道他们在 VB 语言的投入能得到什么回报的开发者来说意味着什么?之前列出的四个原则已经被以下目标替代:工具、平台和语言。

Green 说,VB 的质量工具仍然是重点,并提到 Visual Studio 2017 中的动态单元测试如何支持 VB。在平台的基础上,VB 仍然会被维护以便支持.NET Core 的.NET 标准。VB 语言本身也会增加新的功能和关键字,但前提是它们对 VB 是有意义的,而不仅仅是因为 C#中增加了这些特性。Green 举例说像 UTF-8 字符串就不会添加到 VB 中。

VB 开发人员的反应非常激烈,许多人期待 VB 可以支持多平台,包括像 HoloLens 这样的微软技术。Reed Kimble 写到:“这是一个鸡和蛋的问题。微软不提供某个功能是因为他们没有听到人们的要求。人们没有要求某个功能是因为微软还没有提供该功能,所以这必定意味着人们无法获得这些功能。

查看英文原文: Visual Basic: The Road Ahead


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-02-13 18:004694
用户头像

发布了 31 篇内容, 共 99593 次阅读, 收获喜欢 0 次。

关注

评论

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

阿里云发布中国云原生数据湖应用洞察白皮书

阿里云大数据AI技术

大数据 数据湖

GAIA-IR: GraphScope 上的并行化图查询引擎

6979阿强

大数据 并行计算 图计算 GraphScope 图分析

什么是域名(Domain Name ) ?

源字节1号

OceanBase 参编金科联盟标准发布,推动数据库产业规范化发展

OceanBase 数据库

oceanbase

报告解读下载 | 首份《中国数据库行业分析报告》重磅发布!

墨天轮

数据库 国产数据库 达梦 polarDB gbase8a

HDFS小文件分析实践

移动云大数据

hdfs 小文件

行业大咖齐聚 多元主题碰撞 OpenHarmony技术日等你来

Geek_283163

OpenAtom OpenHarmony

叮咚!请查收来自一线数据科学家和大数据工程师的实战经验| IDP Meetup No.02 回顾

Baihai IDP

Python 大数据 AI 算法 数据科学

【高并发】如何解决可见性和有序性问题?这次彻底懂了!

冰河

并发编程 多线程 协程 异步编程 精通高并发系列

TiDB 6.0 的「元功能」:Placement Rules in SQL 是什么?

PingCAP

华为云GaussDB(for Influx)揭密:数据分级存储

华为云开发者联盟

华为云 GaussDB(for Influx) 时序数据 数据分级存储 Influx

Linux驱动框架与杂项字符设备框架介绍

DS小龙哥

4月月更

TASKCTL 资源树刷新、重载和重置的不同区别

敏捷调度TASKCTL

DevOps 分布式 敏捷开发 自动化运维 大数据运维

玩转LiteOS组件:玩转Librws

华为云开发者联盟

TCP websocket LiteOS LiteOS组件 Librws

spring-cloud-kubernetes与SpringCloud Gateway

程序员欣宸

Java spring-cloud 4月月更

为什么需要可编程代理

Flomesh

负载均衡 代理 Pipy 可编程代理

Build On 活动预告 | 构建你的第一个基于知识图谱的推荐模型

亚马逊云科技 (Amazon Web Services)

云计算

百度小程序包流式下载安装优化

百度Geek说

小程序

区块链+数字资产,未来财富的新起点

易观分析

区块链 数字经济

Envoy熔断限流实践(二)Rainbond基于RLS服务全局限流

北京好雨科技有限公司

组件容器化Statefulset与Deployment的选型与实践

移动云大数据

Deployment statefulset

面试突击41:notify是随机唤醒吗?

王磊

Java java面试

Apache ShardingSphere 如何实现分布式事务

SphereEx

Apache 数据库 ShardingSphere SphereEx

制约国内企业知识管理发展的因素

小炮

知识管理 企业知识管理 企业知识管理工具

预备,请关注!DingOS先导小视频发布!

鼎道智联

TASKCTL 消息订阅参数设置说明

敏捷调度TASKCTL

DevOps 分布式 敏捷开发 ETL任务 自动化运维

流程图太大? 来个流程收缩展开功能

相续心

前端 工作流 流程图 SOP

Mybatis-plus在项目中的应用

Rubble

4月日更 4月月更

Git技巧小能手

西门阿杰

git 版本控制

显卡是什么?显卡和Graphics的区别在哪里?

Finovy Cloud

人工智能 算法 云服务器 GPU服务器 显卡、gpu

湖仓一体,Hologres加速云数据湖DLF技术原理解析

阿里云大数据AI技术

sql 大数据 分布式计算 Cloud Native MaxCompute

Visual Basic的未来之路_.NET_Jeff Martin_InfoQ精选文章