室内设计学什么课程:.NET语言的选择,C#,VB.Net哪个更有前途?

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 17:20:34
虽说程序设计思想是最重要的,但对于程序员来说熟悉一门开发语言也并非一日之事,如今.net大行其道,功能非常强大,和操作系统结合紧密。C#和VB.Net是.net平台上的两个主要语言,c#抛弃了c++里易令人烦恼和困惑的东西,MS使之既结合C的功能强大性又结合了VB易用性,当然VB.net也是如此,除语法不同外,其功能也几乎完全相同,撇开C或VB程序员的语法使用习惯不谈,这两种语言事实上只要有一个存在就购了,另一个完全是多余。
从目前状态来看使用类C的程序员还是较多,而从语法的进化程度来看C#稍好于C++但不如VB.net,也许有一天会有一个被人逐渐遗弃,大家来说说哪个更有前途?
希望自己不要选择了将来被遗弃的那个,就象FoxPro。Delphi的程序员现在也很郁闷吧!
补充一下,从.net的帮助文件里看,似乎MS对VB.net做的更细,从开发环境的使用角度来看,VB.Net也做的更好,尤其是上下文智能提示,
单从语法的进化角度看,VB.Net也更符合进化论。所以不要轻易的就下结论,还要注意MS的动向!

Visual Basic.net还是C#

——如何选择.net语言

在.net中,如何选择VB或C#?这似乎已经争论了很久。很多人盲目选择,也产生了许多流言和错误。本文将从以下方面指导你选择正确的开发语言。

功能上的考虑

许多人认为C#的功能比VB.net强大,或者C#更加适合.net等。其实这不是一两句话能比较清楚的。C#的确有VB无法完成的功能,但VB也有C#无法完成的功能。总的来说,对于.net开发,VB和C#没有任何差别,都100%兼容于CLS。下面列出的是他们语言功能上的不同,这些仅仅是语言实现上的问题,不会影响到生成的代码。打*号的内容与CLS不兼容。

C#有而VB没有的功能:

1、 运算符重载。*

2、 不安全代码(指针和固定内存区)。*

3、 无符号整数。*

4、 移位运算。

VB有而C#没有的功能

1、 即时编译。

2、 静态事件绑定。

3、 条件异常捕获。

4、 COM兼容类。*

5、 宽松的类型检查和变量声明。

6、 Visual Basic Runtime库。

7、 可选参数、带参数属性、模块等语言特征。*

8、 动态数组。*

可见,实际上功能更强大的是VB而不是C#。不过它们不一样的地方多半是无关紧要的特征。总体上来说,不应从功能上选择VB或者C#,因为他们没有什么具体的差别。

性能上的考虑

性能是程序员最关心的问题。VB和C#都生成一样的IL,因此理论上说不会有性能的差异。但许多人为什么说C#的性能高于VB.net呢?这是因为VB.net支持即时编译,就是一边书写代码一边编译。这样可立刻发现语法错误,使调试变得更加容易。但是这样一来VB就需要随时浏览整个代码文件,并把临时数据储存。这造成VB.net生成的代码中常常具有冗余部分。但也不能就此下结论说VB比C#慢,当用户选择打开优化并且以Release方式编译工程,就能得到与C#一样简短快速的代码。

学习上的难度

这部分不仅仅初学者需要考虑,那些从现有开发工具转移到.net的开发人员也需要考虑。首先,VB和C#都是非常简单的,对于初学者来说,VB提供伸缩性更强的空间,因此比C#更加易于接受。但这只是相对而言,C#对于初学者来说也不会有太多的困难。

对于使用Visual Basic6或其他版本的程序员来说。VB.net的语法显然要比C#更加接近VB6,网上流传的VB与VB.net差别被过分夸大,使部分程序员退缩。其实VB.net增加的只是面向对象的思想,许多VB程序员不具备完善的面向对象编程开发经验,因此觉得VB.net难以接受,这是很容易克服的。想想看,即使你要使用C#不也得学习面向对象吗?至于有C/C++/Java经验的人,C#是小菜一碟。刚才说过C#和VB实际上都很简单,所以不见得VB程序员学习C#就要比C/C++程序员来的困难,反之亦然,有C/C++经验的人也可以果断的选择VB。

移植现有代码

这一部分是程序员最头疼的部分。但对语言选择有决定性的意义。

从VB6移植代码的程序员,最佳选择就是VB.net,因为其他.net语言没有一种是与VB相似的。而且即使VB6的工程移植到VB.net非常困难,也有一个移植向导可以帮助你完成大部分工作。如果手工把他移植到C#,需要白白花费大量的时间。而且刚开始使用C#的VB程序员通常都会为C#缺少他们熟悉的函数而头疼。VB.net不会出现这种情况。

从ASP移植到ASP.net,首选语言仍然是VB.net,因为多数程序员使用的ASP语言是VBScript,只有VB.net最大程度地接近这种语言。

C#对于移植代码似乎没有作用,了解C#的人都明白,把现有C/C++代码放到C#中运行几乎是100%不能通过的。所以,如果需要移植C/C++代码,最好使用Visual C++.net。他做到了最好的新旧结合。C#仅仅用于编写新的.net应用程序。

如果需要从Java移植代码,C#可以选择。同时还有J#及其他一些MS提供的转换工具。

文档和资源方面的考虑

在MSDN文档中,C#和VB是同等看待的。所有文档和例子都是有VB和C#两份的。因此,在寻求资源方面都不用担心。互联网上的资源,C#要多于VB,特别是国内,有倾向于C#的潮流。但是ASP.net的资源VB较多。国内缺乏VB.net资源是影响VB.net推广的重要原因。但是在国外有很多非常成熟的VB技术,如掌上设备的开发技术。

代码风格和杂项问题

C#书写的代码比VB平均短小20%,许多人不喜欢VB中过长的关键字。当然他们可以选择C#。但在开发环境中,VB的自动完成功能比C#更完善,其实30%的代码都是自动补充的。因此,实际上VB程序员不会比C#多打多少字。但VB语言换行比C#麻烦,如果需要书写大量繁杂而长的代码,最好选择C#。VB的代码接近完整的英语,比C#更加易读。如果是初学者不妨选择VB。

实话告诉你,我现在还一直在用VB6.0,我也学习.NET,但我的工作要求我只用VB6.0,不要怕被淘汰,你需要不断的学习才行。某一个固定的时刻你可能只用一种语言或工具,但不要放弃对其他知识的学习,学习的越多,你的思想越博大,当然,要学会融会贯通。

当然是c#啊!!!!!!
喜欢c类语言的风格!!!!!
c#是.net的主力开发语言

C#吧

刚参加了微软的.net培训,同样的问题我问了老师,老师建议C#。

毫无疑问,C#,
C#是MS力挺的语言,不过话又说回来,什么语言学精通了都是好事。