博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于微软的VB和C#:为何Basic需要存在,为何VB如此像C#,为何两者不合并等
阅读量:2397 次
发布时间:2019-05-10

本文共 1434 字,大约阅读时间需要 4 分钟。

要讨论的几个问题:

1. Basic已经很古老了,为何MS还在维护?

2. 维护VB成本不会很高吗?

3. VB和C#语法上怎么如此接近?

4. VB和C#语法上如此直接近,为何不合并为一个?

 

可能看上去是一些见怪不怪或者不太值得讨论的问题,其实背后隐藏着MS的深谋远虑,也可以被我们很多时候所借鉴。

 

1. 的答案有一种说法是:Bill Cate很喜欢Basic,所以要延续其生命。

 

其实更加有说服力的应该是:一种产品的生死关乎企业诚信。倘若MS放弃VB,C#的使用者甚至会流向Java,因为他们会担心C#的未来命运。这才是真相。

Borland在很大程度上是个反面典型。

 

2.3.的答案是一个。

 

维护两个不如维护一个,所以他们两个如此之接近。

笔者两个都学过,最基础的Basic(86年~91年)和现在的VB差别很大。与其说Basic在进化,不如说Basic在向C#靠拢。

接近的效果是:只要在编译器上做点文章,很多剩下的东西都能复用了。

曾在C#论坛上看到一个做VB的人说“我看了一眼C#就觉得很烂,那么多{}什么的,一点都不觉得像一种语言”,其实在编译器眼中……呵呵。个人喜欢C#一些,仅从格式上看,干净。

 

4. 答案与1. 相同。

 

这两个东西相近得看着眼晕,马甲的布料都是一个厂生产的。附上一段代码(Sams.ASP.NET.Framwork.Unleashed.Jul.2009):

 

C#:

 

[HandleError]public class HomeController : Controller    {    private MoviesDBEntities _entities = new MoviesDBEntities();    public ActionResult Index()    {        var movies = _entities.MovieSet.ToList();        return View(“Index”, movies);    }    [OutputCache(Duration=15, VaryByParam=”None”)]    public ActionResult IndexCached()    {        var movies = _entities.MovieSet.ToList();        return View(“Index”, movies);    }}

 

 

VB:

 

_Public Class HomeController Inherits ControllerPrivate _entities As New MoviesDBEntities()Public Function Index() As ActionResult Dim movies = _entities.MovieSet.ToList() Return View(“Index”, movies)End Function
_Public Function IndexCached() As ActionResult Dim movies = _entities.MovieSet.ToList() Return View(“Index”, movies)End Function

 

 

点击下载免费的敏捷开发教材:《》

 

转载地址:http://qybob.baihongyu.com/

你可能感兴趣的文章
关于legacy system中使用bind variables(zt)
查看>>
mysql执行命令报segmentation fault 错误
查看>>
hdparm测试磁盘sequential IO简单测试
查看>>
块空间释放与压缩
查看>>
在sqlplus交互环境下测试存储过程
查看>>
RTFM("Read The Fucking Manual")的意思(zt)
查看>>
about histogram(1)
查看>>
kudzu命令查看及设置网卡等硬件信息
查看>>
用RMAN迁移文件到ASM或从ASM迁出
查看>>
421 Message temporarily deferred (from yahoo)
查看>>
elicpse如何查看jdk源码
查看>>
RabbitMQ与SpringMVC集成并实现发送消息和接收消息(持久化)方案二
查看>>
linux系统启动过程
查看>>
mysql之分区表小结1
查看>>
InnoDBd的auto_increment以及innodb_autoinc_lock_mode
查看>>
linux 2.6的IO调度算法
查看>>
innodb master线程的工作机制
查看>>
tcpdump基本用法
查看>>
存储知识小结
查看>>
mysql常用函数
查看>>