Visual Basic的未来之路

上周,微软宣布了他们改变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写到:“这是一个鸡和蛋的问题。微软不提供某个功能是因为他们没有听到人们的要求。人们没有要求某个功能是因为微软还没有提供该功能,所以这必定意味着人们无法获得这些功能。

原文地址:http://www.infoq.com/cn/news/2017/02/vb-strategy


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

快速排序+思路分析

图解 代码实现 package com.atguigu.sort;import com.sun.org.apache.xpath.internal.WhitespaceStrippingElementMatcher;import java.util.Arrays;/*** 创建人 wdl* 创建时间 2021/3/22* 描述*/ public class QuickSort {public static void main(String[] args) {//[-9,78,…

jquery sleep函数

function sleep(n) { //n表示的毫秒数 var start new Date().getTime(); while (true) if (new Date().getTime() - start > n) break; } console.log(new Date()); this.sleep(3000); console.log(new Date());

2017 年编程语言排行榜:Python 排第一

站长之家(ChinaZ.com) 7 月 24 日消息,近日根据 IEEE Spectrum 发布的研究报告显示,在 2016 年排名第三的 Python 在今年已经成为世界上最受欢迎的语言,C 和 Java 分别位居第二和第三位。IEEE Spectrum 的排行依据数据记者 Nick Diakopoulos …

Spring 获取 request 的几种方法及其线程安全性分析

转载自 Spring 获取 request 的几种方法及其线程安全性分析 本文将介绍在Spring MVC开发的Web系统中,获取request对象的几种方法,并讨论其线程安全性。 一、概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象&…

2的负x次幂图像_数学| NO.2,3 函数 T15

点击蓝字,关注我们函数题目2020.11.30#2,3函数 T15函数发展:函数就是在某变化过程中有两个变量X和Y,变量Y随着变量X一起变化,而且依赖于X。如果变量X取某个特定的值,Y依确定的关系取相应的值,那么称Y是X的函…

AspNet Identity 和 Owin 谁是谁

英文原文:http://tech.trailmax.info/2014/08/aspnet-identity-and-owin-who-is-who/ 最近我发现Stackoverflow上有一个非常好的问题.提问者问:为什么在调用AuthenticationManager.SignIn后,claim仍然可以被添加到Identity并持久化到cookie里. 示例代码如下所示: ClaimsIdenti…

jquery中获取下拉框的文本值

获取下拉框的属性值:$(this).val(); 获取下拉框的文本值:$(this).find(option:selected).text();

快速排序+时间测试(yyds)

package com.atguigu.sort;import com.sun.org.apache.xpath.internal.WhitespaceStrippingElementMatcher;import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date;/*** 创建人 wdl* 创建时间 2021/3/22* 描述*/ public class QuickSort {public…

ssh根据姓名查询的时候报错java.lang.IndexOutOfBoundsException: Remember that

错误如下:java.lang.IndexOutOfBoundsException: Remember that ordinal parameters are 1-based!at org.hibernate.engine.query.ParameterMetadata.getOrdinalParameterDescriptor(ParameterMetadata.java:79)at org.hibernate.engine.query.ParameterMetadata.ge…

bs架构 erp 进销存_从应用架构看生鲜电商信息化建设

编辑导读:对于生鲜电商来说,信息化建设是很重要的一环,所有的业务开展都离不开信息化的支持。本文作者讲从应用架构角度出发,对生鲜电商信息化建设展开分析,希望对你有帮助。一、背景语言共识之前介绍了从业务架构看生…

java中int转成String位数不足前面补零 java格式化2位数不足补零

最近我又搜了关于String.format的东西,其实有自带的补零方法, String.format("%06d",12);//其中0表示补零而不是补空格,6表示至少6位

分布式 | Dubbo 架构设计详解

转载自 分布式 | Dubbo 架构设计详解 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一…

完成OSS.Http底层HttpClient重构封装 支持标准库

OSS.Http项目对于.Net Standard标准库的支持已经迁移完毕,OSS开源系列两个最底层的类库已经具备跨运行时支持的能力。由于OSS.Http类库是几年前我参照RestSharp的思路,完成的一个轻量型Http请求框架。由于时间较久底层使用的还是HttpWebRequest&#xff…

归并排序+思路分析

思路分析 代码实现 package com.atguigu.sort;import java.util.Arrays;/*** 创建人 wdl* 创建时间 2021/3/22* 描述*/ public class MergeSort {public static void main(String[] args) {int arr[]{8,4,5,7,1,3,6,2};int temp[]new int[arr.length];mergeSort(arr,0,arr.len…

java中判断 101-200 之间有多少个素数,并输出所有的素数

题目:判断 101-200 之间有多少个素数,并输出所有的素数 素数是什么: 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 那么题目的答案如下&#xff…

常数除以0的极限是什么_【极限】第四节 极限运算法则

定理 例题 极限运算法则就像加减乘除四则运算一样,是一种计算规则,那么极限也有属于它自己的一套计算规则。 极限运算法则的常用定理 定理1 两个无穷小的和是无穷小 有限个无穷小之和也是无穷小 定理2 有界函数与无穷小的乘积是无穷小 常数与无穷小的乘积…

mysql修改字段 新增字段

ALTER TABLE house change flag flag tinyint(2) DEFAULT 1 COMMENT 1自住 2出租 3空置 ; ALTER TABLE house change house_type house_type int(10) DEFAULT 1 COMMENT 房间类型1住宅、2公寓、3办公、4店铺、5酒店、6别墅、0其他; ALTER TABLE account_rule_config ADD rule…

用JAVASCRIPT实现静态对象、静态方法和静态属性

转载自 用JAVASCRIPT实现静态对象、静态方法和静态属性 Javascript语言的面向对象特征很弱,其他面向对象语言在创建类时只要使用关键字static即可指定类为静态类,Javascript没有提供static这样的关键字,要让Javascript也具有“静态”特性只…

归并排序+时间测试

package com.atguigu.sort;import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date;/*** 创建人 wdl* 创建时间 2021/3/22* 描述*/ public class MergeSort {public static void main(String[] args) { // int arr[]{8,4,5,7,1,3,6,2};// …

Visual Studio 2017将于3月7日发布

继最近一连串候选发布版本之后,微软已经开始针对正式发布Visual Studio 2017做最后准备工作。微软已经宣布2017年3月7日会是VS2017官方发布时间。第一款VS软件问世于1997年,本次发布标志着产品20周年,这些年里包括了Visual J、Visual FoxPro、…