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 机器之心编译 计算机视觉领域 ...
随机推荐
- Nginx 服务器性能参数设置
Nginx服务器性能调优 Nginx 配置文件 1.根据CPU内核数设置worker进程个数,以12核CPU为例,设置11个worker进程: worker_processes 11; worker_ ...
- 10 steps to becoming the developer everyone wants
You thought it was all about programming skills. But you were wrong! Great code is fine, yet command ...
- 字符串模拟赛T1
// source code from laekov for c0x17 #define PRID "bxjl" #include <cstdio> #include ...
- c++中的srand()和rand() 转载 自:http://blog.sina.com.cn/s/blog_624c2c4001012f67.html
今天看了同事写的小程序,发现了其中出现了srand()和rand()这两个我以前没有用过的函数,当然从名字可以看出肯定能随机数有关,于是网查资料知这两个函数配合一起使用来产生随机数的,哈哈,又长知识了 ...
- [BZOJ4632]树的编码
[BZOJ4632]树的编码 试题描述 SHUXK 正在对一棵N个结点的有根树进行研究,首要的一件事就是对这棵树进行编码. lz 说:“这还不容易吗?我令根节点的编号为 1,然后保证每个结点的编号都比 ...
- HDU 2897
Problem Description 当日遇到月,于是有了明.当我遇到了你,便成了侣. 那天,日月相会,我见到了你.而且,大地失去了光辉,你我是否成侣?这注定是个凄美的故事.(以上是废话) 小t和所 ...
- Linux 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11 块 解析?
面试题: 在 i 节点表中的磁盘地址表中,若一个文件的长度是从磁盘地址表的第 1 块到第 11块,则该文件共占有 B 块号.A 256 B 266 C 11 D 256×10 linux文件系统是L ...
- 关于C语言的printf输出问题
前端面试的时候老总居然问这个问题,有点震惊…… #include <stdio.h> #include <stdlib.h> void main() { ; printf(&q ...
- 开发Web Service的几种方式
本文作者在学习使用Java开发Web Service(不包括Restful)时,由于不知道Java有这么多框架支持开发Web Service一度陷入迷惘,不知道这些框架各有 什么不同,各有什么优缺点. ...
- DOS命令符基本操作
怎么改变DOS默认路径 开始->所有程序->附件->命令提示符,在“命令提示符”上右键,选择“属性”,(或者在快捷方式上点击属性)会弹出一个“命令提示符 属性”对话框,可以通过修改该 ...