VB已死?还是会在Roslyn之下焕发新生?
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)
由于最初的ASP.NET 5测试版并未支持VB,导致社区有一种声音:觉得VB将死。今天我们就来简单的讨论一下这个有意思的话题。
我入门计算机编程就是初三的时候从一本GWBasic教程开始的,后来学习QB,VB。大学毕业前去考的MCSD也是VB语言。虽然在.NET平台上一开始就是以C#为主,其中只是把VB6移植到.NET上用过VB.NET。不过对VB还是有感情的,对VB也一直比较关注。今天InfoQ中文站的一篇文章《Visual Basic被群众的呼声所挽救》提醒我应该谈谈这个话题。
一直以来VB.NET的语言特性的变更往往落后于C#,而且给人的感觉也是VB.NET的使用场合越来越少。尤其,在ASP.NET 5的最初测试版本中,并未提供VB.NET的支持,导致人们一度认为微软要放弃VB了。甚至,在Build大会召开前,微软一个内部邮件列表中,一个名为“Death of VB”的邮件引起很多人的跟帖。也有人发出了“Help us to keep Visual Basic alive”的呼声。这次关于VB的讨论太过激烈,连Scott Hanselman都不得不出来提前在Build 2015大会之前放出ASP.NET 5会支持VB的消息(不管当时是NDA,我也无法把这个消息提前转发给大家)。有意思的是,Miguel de Icaza跟帖提到“F#被微软当作一个科研语言,而他的真正力量没有发挥出来,VB和C#应该多吸取Swift和F#的创新,且每个开发人员都应该用用它”。
随后,VB开发团队也在官方博客上发布了一篇题为“Making It Better: ASP.NET with Visual Basic 14”的介绍文章来介绍了一些VB14针对ASP.NET的新特性:
- 字符串插值让Web Forms的字符串更像Razor语法
- 可以在MVC中使用新加入的NameOf操作符来验证参数
- 在Web Forms中支持异步模型绑定
- 支持使用Roslyn来编译VB
- ASP.NET 5支持VB
另外,VB开发团队还有另外两篇文章介绍了把VB的语法改成小写格式,一种是通过Roslyn来添加自定义编译服务支持特殊语句关键字,另外一种是通过模板转换的方式。有兴趣的可以“阅读原文”来查看第一篇文章(里面有第二篇文章的链接)。
VB已死?还是会在Roslyn之下焕发新生?的更多相关文章
- wp已死,metro是罪魁祸首!
1.这篇文章肯定会有类似这样的评论:“我就是喜欢wp,我就是喜欢metro,我就是软粉“等类似的信仰论者发表的评论. 2.2014年我写过一篇文章,windows phone如何才能在中国翻身? 我现 ...
- 泰泽新闻:英特尔三星双否认泰泽Tizen系统已死
7月8日 据媒体TizenExperts报道,关于“Tizen系统跳票”的传闻已经遭到了英特尔和三星否认. 此前传闻三星自行研制的智能手机Tizen操作系统流产,但如今已经遭到了官方的否认. 英特尔三 ...
- Android首席设计师宣称移动概念已死,开发人员应该面向屏幕编写应用而非移动
腾讯科技对Android首席设计师Duarte"移动已死"訪谈内容的翻译错得离谱,被到处转载,误人视听. 而要真正理解Duarte所想表达的含义,须要深入了解互联网前沿设计理念以及 ...
- MVC模式已死
MVC模式:Model模型 View试图 Control控制器,是目前主流模式,被当作服务器软件入门基本模式学习和掌握,主流框架Struts 1/2 JSF Wicket基本都顺理成章支持MVC模式. ...
- 王垠:Lisp 已死,Lisp 万岁!
王垠:Lisp 已死,Lisp 万岁!_IT新闻_博客园 王垠:Lisp 已死,Lisp 万岁!
- JVM学习记录-对象已死吗
前言 先来回顾一下,在jvm运行时数据区,分为两部分,一个部分是线程共享区,主要包括堆和方法区,另一部是线程私有区分包括本地方法栈,虚拟机栈和程序计数器.在线程私有部分的三个区域是随着线程生和灭的.栈 ...
- [转载]致创业者:APP已死 服务永生
前几日,有位创业者和我讲他在带领团队做一个将爱踢球的人集中在一起的App,我告诉他你的创业方向错了.原因在于你的目的是要为爱踢球的人提供服务,而你现在却在竭尽全力的做App,你应该做的是设计你为爱踢球 ...
- Jeff Atwood:软件工程已死?
原文作者:Jeff Atwood 2009年7月,Tom DeMarco在<IEEE Software>杂志上发表了一篇论文,题为"Software Engineering: A ...
- NLP领域的ImageNet时代到来:词嵌入「已死」,语言模型当立
http://3g.163.com/all/article/DM995J240511AQHO.html 选自the Gradient 作者:Sebastian Ruder 机器之心编译 计算机视觉领域 ...
随机推荐
- linux 多线程 LinuxThreads(转)
Linux 线程实现机制分析 http://www.ibm.com/developerworks/cn/linux/kernel/l-thread/ 上面文章分析的非常透彻 按照教科书上的定义,进程是 ...
- ifconfig 工具
ifconfig 工具 ifconfig 命令常用格式: 格式:ifconfig显示当前激活的网络接口信息. 格式:ifconfig {INTERFACE}显示指定网络接口的信息.比如:eth0, e ...
- Visual Studio Online Integrations-Sync and migration
原文:http://www.visualstudio.com/zh-cn/explore/vso-integrations-directory-vs
- Visual Studio Online Integrations-Productivity
原文:http://www.visualstudio.com/zh-cn/explore/vso-integrations-di ...
- WCF 客户端解决大数据量传输配置
1. 服务端返回数据给客户端报错 在客户端配置文件中,主要是配置maxReceivedMessageSize <system.serviceModel> <bindings> ...
- httpd/php/mysql的安装-1
rely: 依赖: relier, reliance , reliable : i don't think he is a reliable man . we must lay stress on ...
- tyvj1213 嵌套矩形
描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度).例如 ...
- 搭个 Web 服务器(一)
导读 我相信,如果你想成为一个更好的开发者,你必须对日常使用的软件系统的内部结构有更深的理解,包括编程语言.编译器与解释器.数据库及操作系统.Web 服务器及 Web 框架.而且,为了更好更深入地理解 ...
- quaternion*Vector3的新理解
原地址:http://www.cnblogs.com/88999660/p/3262656.html using UnityEngine; using System.Collections; publ ...
- 数学复习 ---- Mathematics Notes: A Programmer's Perspective ---- by Orzer ---- 我是沙茶
今年是好没长进的一年呢..只学了些基本的方法.. 本文记号0] x:p x类型为p1] f(x) 表示一个函数2] (n_1,n_2,...) 表示多元组,特别的,(n)表示一个一元组3] x 表示一 ...