为什么我少用或者不用VB

[复制链接]
查看11 | 回复0 | 2021-1-29 05:14:30 | 显示全部楼层 |阅读模式
投票中有以下几个选项(A)项目规定了要采用其他语言(B)VB语言无法完成项目的要求(C)VB语言不如其他语言效率高(D)没有学过VB(E)用VB会被他人歧视(F)VB编译后运行速度慢(G)学习VB的资源太匮乏,无法参考(H)觉得VB太烂了(I)虽然喜欢VB但是习惯了用其他语言在此发表一下个人看法。VB6和VB.net很不一样,所以会针对这两者分别讨论。相比之下C和C++之间的区别倒不是很大,所以我不会刻意去区别它们。(A)这个是没办法的事,现在很多项目规定用C/C++或Java(B)的确VB6要完成某些高级操作相当麻烦,往往要借助API函数,还不一定能成功。但是VB.net不存在这个问题,.NetFramework类库相当强大,完全可以满足各种项目的要求。(C)应该区分开发速度和运行速度。如果是开发速度的话,VB的开发速度是很快的。在窗体界面的设计方面无论是VB6还是VB.net都很快,在纯代码开发方面VB6不怎么样,然而VB.net却极方便,VS2008中VB.net的代码编辑器是我见过最方便的代码编辑器,可以自动格式化代码、自动完成标识符、后台编译、实时查错等等。(D)那就算了。(E)那是别人不懂VB。(F)错误,VB6编译出来的代码可以运行得和C一样快,关键是在编译器选项中选择编译成本机代码,同时优化速度,把高级选项诸如取消数组边界检查全部勾上,这样编译出来的程序跟C没多大区别。但是VB.net是编译成托管代码,因此不可能比C快,但是比Java快还是可能的。(G)可能吧,现在高校很少开设VB课程。(H)VB绝对不烂。(I)VB语法跟C差别太大,我有时用VB有时用C,结果总会习惯性地一种语言里面误用了另一种的语法。相比而言,C的语法比较简洁,写出来的代码更简洁清晰,我比较喜欢C的语言风格。
总而言之VB还是有很多优点的,但是我现在也很少用VB了,因为我发现了一种更好的语言:C#。C#集VB与C的优点于一身,而且还增加了很多新的语言特性。在代码编辑器方面,C#略逊VB.net,但是C#有重构功能,VB.net没有。在功能方面它们用的都是.NetFramework类库,在这方面没有太大区别。语言风格上,C#继承了C的简洁的语言风格,而Lambda表达式的引入更是使这种简洁发挥到了极致。比如数组a,我们要选取a中所有小于10的数,并且把这些数的平方构成一个新的数组。如果是C++则要这么写:intb[100];intnb=0;for(inti=0;i100;i++)if(a10)b[nb]=a*a,nb++;
而C#只需要一句话:int[]b=a.Where(x=x10).Select(x=x*x).ToArray();
与C++单调的面向对象相比,C#和VB.net引入了接口、委托、属性、事件、泛型、扩展方法、Lambda表达式、反射等新颖的编程概念,使得编写程序更加方便、易懂、易于维护、易于重用。C#比起VB.net还有一个优点就是C#可以编写非托管的代码,可以像C一样使用指针,因此如果程序对于运行速度有着特别的需求的话,用C#也完全可以写出和C一样快的代码。据说在VS2010中,C++也将拥有Lambda表达式,到时STL+Lambda表达式将会使日趋落后的C++语言重新焕发青春。然而C++那落后的头文件包含机制如果没有改进的话,C++的编译速度仍会非常慢。VB.net和C#是后台编译,在你写好程序的时候它也编译好了,而C++往往编译一个很简单的程序也要好几秒(除非你不包含任何头文件),这一点我就很讨厌。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行