VB6通向VB.NET的路不会容易,但我认为你值得花时间学习这种新语言。同时,我推荐你开始学习OOP风格的编程,在.NET世界的编程中肯定需要。无论你选择哪一种语言,你将发现.NET平台对创建桌面,Internet,intranet和分布式应用是极其好的。
面向对象的编程在.NET世界是不可避免的。你该选择哪一种语言呢? 随着VB.NET的推出,微软已经赋予了VB程序员多年来长期要求的所有特性,即一种真正的面向对象的编程语言。你也许听到过VB.NET改动之大甚至你都无法认识的嗡嗡讨论声。确实,他们不得不去掉语言中的一些次要的东西,并且改变一些对象、属性和方法。但这对大多数VB程序员来说不是一个大的负担。事实上,我认为当你开始经常使用后,你会发现它比以前的VB版本更简单、直观。因为对VB.NET将存在着学习曲线,你也许会对C#好奇而想知道是否该放弃VB。
假如你现在是一位VB程序员,特别是有多年的编程经验,你完全不必转到另一种编程语言象C#、Delphi。虽然它们有一些细小的差别,你会发现VB的核心语言仍然是相同的。主要的变化是你在VB.NET中使用的对象、属性和方法。你必须学习这些新东西而不管选择使用哪一种.NET语言。
现在,假如你从古老的DOS岁月就一直使用BASIC,那么你会受到一些打击,因为他们已经去掉了GoSub, While/Wend,Let a=b和其它大量的陈旧命令。但是微软一直在警告你任何地方都不要使用这些非结构化的声明。
VB.NET的优点
VB.NET有着C#不具备的特性。例如,IsDBNull()函数在VB.NET存在,而C#没有。VB.NET有求幂功能并能使用Redim重新分配数组,这些在C#中也不可能。C#对关键词和变量是大小写敏感的,大部分VB程序员不习惯于这点。而这会浪费时间除非你在输入时确实保持了一致。个人来说,我喜欢VB中使用If. . .End If和Do. . .Loop,反对C#中使用curly braces。我发现很难跟踪这些braces。Select Case声明比C#更容易、简洁。在C#中,你必须始终使用break语句来跳出select声明。在VB中,你能用Case 1 to 50;在C#中你必须编写50个单独的case声明来实现此功能。微软创建C#时怀有几个目的。首先,他们需要一个Java的替代品。随着他们和这种语言的持续法庭斗争,以及大多数人认为Java是Sun的产品,微软需要自己的类似Java的语言,并且能很明显看出是他们自己的。另外,微软想要一种新的、干净的语言,没有用户仍然需要维持的任何遗留代码。结局就是一种干净的语言,没有大量的包袱。 最愿意使用C#语言的是Java,C和 C++ 开发人员。这些开发人员已经熟悉了语言的结构和大小写敏感。他们也需要对待到.NET的学习曲线,因此他们不会比VB程序员有太多的优势。 C#的优点 我无可否认的是一个VB支持者,但是C#确实有一些优点。例如,多行注释的能力,不需要重复注释字符是相当灵活的。C#也能做前和后的自增、自减
面向对象的编程在.NET世界是不可避免的。你该选择哪一种语言呢? 随着VB.NET的推出,微软已经赋予了VB程序员多年来长期要求的所有特性,即一种真正的面向对象的编程语言。你也许听到过VB.NET改动之大甚至你都无法认识的嗡嗡讨论声。确实,他们不得不去掉语言中的一些次要的东西,并且改变一些对象、属性和方法。但这对大多数VB程序员来说不是一个大的负担。事实上,我认为当你开始经常使用后,你会发现它比以前的VB版本更简单、直观。因为对VB.NET将存在着学习曲线,你也许会对C#好奇而想知道是否该放弃VB。
假如你现在是一位VB程序员,特别是有多年的编程经验,你完全不必转到另一种编程语言象C#、Delphi。虽然它们有一些细小的差别,你会发现VB的核心语言仍然是相同的。主要的变化是你在VB.NET中使用的对象、属性和方法。你必须学习这些新东西而不管选择使用哪一种.NET语言。
现在,假如你从古老的DOS岁月就一直使用BASIC,那么你会受到一些打击,因为他们已经去掉了GoSub, While/Wend,Let a=b和其它大量的陈旧命令。但是微软一直在警告你任何地方都不要使用这些非结构化的声明。
VB.NET的优点
VB.NET有着C#不具备的特性。例如,IsDBNull()函数在VB.NET存在,而C#没有。VB.NET有求幂功能并能使用Redim重新分配数组,这些在C#中也不可能。C#对关键词和变量是大小写敏感的,大部分VB程序员不习惯于这点。而这会浪费时间除非你在输入时确实保持了一致。个人来说,我喜欢VB中使用If. . .End If和Do. . .Loop,反对C#中使用curly braces。我发现很难跟踪这些braces。Select Case声明比C#更容易、简洁。在C#中,你必须始终使用break语句来跳出select声明。在VB中,你能用Case 1 to 50;在C#中你必须编写50个单独的case声明来实现此功能。微软创建C#时怀有几个目的。首先,他们需要一个Java的替代品。随着他们和这种语言的持续法庭斗争,以及大多数人认为Java是Sun的产品,微软需要自己的类似Java的语言,并且能很明显看出是他们自己的。另外,微软想要一种新的、干净的语言,没有用户仍然需要维持的任何遗留代码。结局就是一种干净的语言,没有大量的包袱。 最愿意使用C#语言的是Java,C和 C++ 开发人员。这些开发人员已经熟悉了语言的结构和大小写敏感。他们也需要对待到.NET的学习曲线,因此他们不会比VB程序员有太多的优势。 C#的优点 我无可否认的是一个VB支持者,但是C#确实有一些优点。例如,多行注释的能力,不需要重复注释字符是相当灵活的。C#也能做前和后的自增、自减
解决方案 »
- 只修改了类库里方法里的代码,其它项目需要重新添加DLL引用吗?或者更新DLL引用?
- Json+Query前端与后端?
- ascx控件中查找另一ascx控件中的控件至
- 如何将session绑定到gridview,显示session【name】的相关信息
- 生成静态页面后分页问题
- 小弟刚刚接触JavaScript,大家写JavaScript用什么编辑工具啊!!!VS2003中写*.js脚本时没有象C#那样有智能提示啊!
- 一个非常简单的正则表达式问题,哥们儿帮个忙三
- datagrid中itemtemplate中的显示问题,急~
- asp.net中如何调用另一个类的变量
- 如何将dll文件反编译出来的文件导入到项目中
- 在ASP。NET中怎么样显示LISTVIEW?
- <%@Page Language="C#" Inherits="Article.Admin.Config" %>干吗用的?
关于VB.NET又怎么样呢? 在很多真正的开发者看来,VB像玩具语言似的,从某种角度看,也确实是这样的。迄今为止,VB远比我们所知道的那两三个弱点更多。不过VB.NET确实是和C#同样强大的.NET开发语言。有些人说它更强大。 VB.NET有内置的(插入特点)支持;而C#没有 “VB.NET内置了很多东西像字符串操作(Mid, InStr, 等等)和类型转换(例如CInt)。C#缺乏这些内置的支持,所以,我所需要的东西,在C#中很难找到。 如果你抓住这些你应该Mid 或者 CInt功能不放,而最终认为这就是VB.NET强于C#的证据,你最好去看看Microsoft.VisualBasic namespace。你将在那里发现大部分VB.NET内部命令和应用功能。这些功能在namespace中被保存之后,任何CLS兼容的语言都能使用他们,就像列表A中所显示的那样。这些例子削弱了我们的争论,不是吗? 更好捆绑的支持就是不支持 “VB.NET与COM实体的捆绑支持更好一些。”我也只是看到了一点点而已,并且我决定再也不在支持方面作任何推理。从我迄今为止所观察到的,这不是真的。C#和VB.NET必须采用runtime callable的包装以及等量的源代码来执行一个早期的实体。同样地,执行一个晚期的实体也需要相同数量的代码。 VB.NET使用IDE中的后台编译 如果你不能找到其他的认为VB的开发环境好的例子,你至少不得不承认它的源代码编辑是很有特点的。你能一边打字一边字面上排除你的代码的错误。麻烦就是那些很弱智的编译错误信息框总是弹出来,并且如果你把你的喇叭声音开得过大的话,报错的嘀嘀声也许会吓到你。 Visual Studio.NET避免了这种惊吓,直到你修改完成,并且处理了一些消极的错误,提示系统经过了微软的改进:他会在那些错误语句的下面打上弯弯曲曲的下划线。 VB.NET背景编译程序/句法检验器非常复杂,而且很客气地指出你的错误。从某些方面看,它能更准确地告诉你如何修改你源代码中的错误。当C#有它自己的语法检查器,并且可以查出括弧的匹配,计算圆括弧的多少,显示丢失的分号,但是它还是不能像VB.NET那样使用简单。再继续讨论这两种语言的优越性确实会让我心烦的,不过微软的话确实是一个真理,那就是所有的.NET语言都是平等建立的。那些主张C#优于VB.NET的人(反之亦然)和那些攀比工资的开发者们一样错了。
关于VB.NET又怎么样呢? 在很多真正的开发者看来,VB像玩具语言似的,从某种角度看,也确实是这样的。迄今为止,VB远比我们所知道的那两三个弱点更多。不过VB.NET确实是和C#同样强大的.NET开发语言。有些人说它更强大。 VB.NET有内置的(插入特点)支持;而C#没有 “VB.NET内置了很多东西像字符串操作(Mid, InStr, 等等)和类型转换(例如CInt)。C#缺乏这些内置的支持,所以,我所需要的东西,在C#中很难找到。 如果你抓住这些你应该Mid 或者 CInt功能不放,而最终认为这就是VB.NET强于C#的证据,你最好去看看Microsoft.VisualBasic namespace。你将在那里发现大部分VB.NET内部命令和应用功能。这些功能在namespace中被保存之后,任何CLS兼容的语言都能使用他们,就像列表A中所显示的那样。这些例子削弱了我们的争论,不是吗? 更好捆绑的支持就是不支持 “VB.NET与COM实体的捆绑支持更好一些。”我也只是看到了一点点而已,并且我决定再也不在支持方面作任何推理。从我迄今为止所观察到的,这不是真的。C#和VB.NET必须采用runtime callable的包装以及等量的源代码来执行一个早期的实体。同样地,执行一个晚期的实体也需要相同数量的代码。 VB.NET使用IDE中的后台编译 如果你不能找到其他的认为VB的开发环境好的例子,你至少不得不承认它的源代码编辑是很有特点的。你能一边打字一边字面上排除你的代码的错误。麻烦就是那些很弱智的编译错误信息框总是弹出来,并且如果你把你的喇叭声音开得过大的话,报错的嘀嘀声也许会吓到你。 Visual Studio.NET避免了这种惊吓,直到你修改完成,并且处理了一些消极的错误,提示系统经过了微软的改进:他会在那些错误语句的下面打上弯弯曲曲的下划线。 VB.NET背景编译程序/句法检验器非常复杂,而且很客气地指出你的错误。从某些方面看,它能更准确地告诉你如何修改你源代码中的错误。当C#有它自己的语法检查器,并且可以查出括弧的匹配,计算圆括弧的多少,显示丢失的分号,但是它还是不能像VB.NET那样使用简单。再继续讨论这两种语言的优越性确实会让我心烦的,不过微软的话确实是一个真理,那就是所有的.NET语言都是平等建立的。那些主张C#优于VB.NET的人(反之亦然)和那些攀比工资的开发者们一样错了。
综上所述,我个人认为,近几年,C# 将不可避免地崛起,在Windows平台上成为主角,而JAVA将在UNIX、Linux等平台上成为霸主,C++ 将继续在系统软件领域大展拳脚。非常有意思的是,这些语言的语法极其接近,因为JAVA和C# 都是由C++发展而来的。其他的开发工具当然还会在
相当长的时间里继续他们的旅程,不过在市场份额上,将不可避免地受到冲击。转载。。
VB系列是MS的发妻,C#是MS的新宠。
VB系列是MS的发妻,C#是MS的新宠。
等以后再通C#,
如果是新手,就直接学C#吧。
可是那个很难学的
我用vb.net
http://weblogs.asp.net/jlerman/posts/22704.aspx
以后谁也不知道
说不定来个 c## 也讲不定 啊——————————@_@————————
good good study
day day up
__________________^@^_________________