(此文章同时发表在本人微信公众号“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来添加自定义编译服务支持特殊语句关键字,另外一种是通过模板转换的方式。有兴趣的可以“阅读原文”来查看第一篇文章(里面有第二篇文章的链接)。

原文链接:http://blogs.msdn.com/b/vbteam/archive/2015/04/01/how-roslyn-finally-unshackled-visual-basic-from-the-tyranny-of-the-pretty-lister.aspx

VB已死?还是会在Roslyn之下焕发新生?的更多相关文章

  1. wp已死,metro是罪魁祸首!

    1.这篇文章肯定会有类似这样的评论:“我就是喜欢wp,我就是喜欢metro,我就是软粉“等类似的信仰论者发表的评论. 2.2014年我写过一篇文章,windows phone如何才能在中国翻身? 我现 ...

  2. 泰泽新闻:英特尔三星双否认泰泽Tizen系统已死

    7月8日 据媒体TizenExperts报道,关于“Tizen系统跳票”的传闻已经遭到了英特尔和三星否认. 此前传闻三星自行研制的智能手机Tizen操作系统流产,但如今已经遭到了官方的否认. 英特尔三 ...

  3. Android首席设计师宣称移动概念已死,开发人员应该面向屏幕编写应用而非移动

    腾讯科技对Android首席设计师Duarte"移动已死"訪谈内容的翻译错得离谱,被到处转载,误人视听. 而要真正理解Duarte所想表达的含义,须要深入了解互联网前沿设计理念以及 ...

  4. MVC模式已死

    MVC模式:Model模型 View试图 Control控制器,是目前主流模式,被当作服务器软件入门基本模式学习和掌握,主流框架Struts 1/2 JSF Wicket基本都顺理成章支持MVC模式. ...

  5. 王垠:Lisp 已死,Lisp 万岁!

    王垠:Lisp 已死,Lisp 万岁!_IT新闻_博客园 王垠:Lisp 已死,Lisp 万岁!

  6. JVM学习记录-对象已死吗

    前言 先来回顾一下,在jvm运行时数据区,分为两部分,一个部分是线程共享区,主要包括堆和方法区,另一部是线程私有区分包括本地方法栈,虚拟机栈和程序计数器.在线程私有部分的三个区域是随着线程生和灭的.栈 ...

  7. [转载]致创业者:APP已死 服务永生

    前几日,有位创业者和我讲他在带领团队做一个将爱踢球的人集中在一起的App,我告诉他你的创业方向错了.原因在于你的目的是要为爱踢球的人提供服务,而你现在却在竭尽全力的做App,你应该做的是设计你为爱踢球 ...

  8. Jeff Atwood:软件工程已死?

    原文作者:Jeff Atwood 2009年7月,Tom DeMarco在<IEEE Software>杂志上发表了一篇论文,题为"Software Engineering: A ...

  9. NLP领域的ImageNet时代到来:词嵌入「已死」,语言模型当立

    http://3g.163.com/all/article/DM995J240511AQHO.html 选自the Gradient 作者:Sebastian Ruder 机器之心编译 计算机视觉领域 ...

随机推荐

  1. IOS学习笔记—苹果推送机制APNs

    转自:唐韧_Ryan http://blog.csdn.net/ryantang03/article/details/8482259 推送是解决轮询所造成的流量消耗和 电量消耗的一个比较好的解决方案, ...

  2. 简单的分页存储过程,Json格式日期转换为一般日期

    简单的分页存储过程 CREATE PROC Paged @pageIndex INT, @pageCount INT OUTPUT, @pageSize INT AS DECLARE @count I ...

  3. ASP.NET MVC学习笔记-----Bundles

    在网页中,我们经常需要引用大量的javascript和css文件,在加上许多javascript库都包含debug版和经过压缩的release版(比如jquery),不仅麻烦还很容易引起混乱,所以AS ...

  4. zstu.4191: 无向图找环(dfs树 + 邻接表)

    4191: 无向图找环 Time Limit: 5 Sec  Memory Limit: 128 MB Submit: 117  Solved: 34 Description 给你一副无向图,每条边有 ...

  5. dex和odex相互转换

    一.dex和odex dex是安卓dalvik虚拟机的可执行文件,可以在导出的apk文件里用解压缩软件直接打开.odex是经过优化过的dex.odex一种是从apk程序中提取出来的,与apk文件存放在 ...

  6. Minimum Depth of Binary Tree

    二叉树的最小深度 采用递归的方式求左右结点的高度,注意判断一个结点是否是叶子结点(左右子树都不存大). int minDepth(TreeNode *root) { return minDepth(r ...

  7. VS2010中如何查看DLL的导出接口

    看<VC++动态链接库(DLL)编程深入浅出>时,里面提到使用Visual C++的Depends工具可以查看动态链接库中的导出接口.对于VC6.0,VC所带的Depends软件,在VC6 ...

  8. openstack 前期准备工作

    OS 是 centos6.5_X86_64 一.vmware 虚拟机 准备两台机虚拟机即可 二.导入第三方安装源 [root@openstack ~]# rpm -Uvh http://dl.fedo ...

  9. Python os.system 和 os.popen的区别

    (1) os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 system(command) -> exit_statusExecute the command ...

  10. [ruby on rails] 跟我学之(9)删除数据

    首先需要在index页加个删除链接,并提供一个删除的确认,用户确认删除时,直接删除数据. 修改views 修改 app/views/posts/index.html.erb,如下: <h1> ...