百度首页 | 百度空间
 
查看文章
 
写给VB.NET新手的入门介绍
2008-05-23 23:15

在网络上,C#的电子书或网页教程比比皆是,但是VB.NET的教程(特指优秀的)却寥寥无几,至少我自学VB.NEt就从来都没有从这些教程中受益过。
国人追逐潮流之风愈加严重,大部分的程序员在听说过C#是专门为.NEt环境所设计的语言之后,就“义无反顾”地投入到了C#的怀抱中去了……
很不巧的,我却爱上了VB这门语言,对于C#的食古不化感觉厌恶至极(指语法上)。
说起我自学编程的起因,是因为游戏,很多人一开始想学编程都是想要编写一个自己的游戏修改器或者外挂,我也是这样。
我最先买的两张视频教程的碟片是讲述VB.NEt的,却买了两本C#的书,下载的又是VB6的安装程序…… ^_^b
后来,好不容易搞来了一套VB2005速成版的安装程序,开始.NET之旅。

说实话,.NET明显被某些人恶意夸大了功能,至少在他们唾沫横飞地夸夸其谈.NET的某某优点时,却支口不提或者故意隐匿了.NET的缺点。
我觉得.NET程序最大的缺点就是性能,别听信那些专家所说的“微软做了很多工作,让.NEt程序比机器程序性能上并没有太大损失”,这是唬人的。虽然这些问题可能在今后三年内解决(三年后也许我们的电脑硬件水平会有质的飞跃),但就目前而言,.NET程序的启动速度是机器程序的启动速度的一倍以上,占用内存明显高于机器程序,而且程序所占用的硬盘空间也比机器语言要大。
还有一个不得不考虑的问题是,.NET程序只能运行在安装有.NET框架的WINDOWS操作系统中,也就是说,如果你想要用户运行你编写的一个20K的小程序,用户就必须下载一个20M的安装程序,安装200M的.NEt框架,并且必须安装数百美金且占用2G硬盘的WINDOWS系统!!!
就目前而言,仍有很大一部分的电脑用户的机器上没有安装.NET框架,并且根本不知道.NET程序是什么。虽然.NET框架下载非常方便,并且已经集成在了新的VISTA操作系统中,但旧版的操作系统都不会默认安装,而且据悉WINDOWS 98已经不再被微软支持,现在就只有WIN2K,WINXP和VISTA系统能运行.NET程序。
再三,.NET程序的一个致命缺点,就是代码安全性。.NET编译器所生成的代码并非是机器语言,而是一种类似汇编语言的中间代码,它在运行时被装载到系统中一个.NET运行解释器中进行即时编译(这就是性能问题的原因所在),所以这造成了一个问题——代码容易被反汇编。
目前最好的反汇编.NET程序的是ildasm,而且这是微软官方出品。 -_-b
除此之外还有众多的程序集反汇工具,比如著名的Fox 2007,它甚至可以直接查看程序集内部的IL代码并将其还原为语言代码!!!
因此,.NEt不是一个好的商用软件或共享软件的开发语言,而只是一个快速程序或网络服务程序的开发语言,你可以使用.NET利用以前十分之一的时间写出一个完整功能的小程序,或者将关键代码放到自己的服务器中,使用客户端程序与服务器连接而产生具体实现功能,但不要指望使用.NEt开发的共享程序让你的荷包鼓起来。

说了这么多坏话,如果你没有立刻掉头离开,并决定选择这一门语言(或者说环境更恰当)的话,那么恭喜你,你将体验到简单编程的快乐!

.NET程序更像是脚本语言,就它所生成的中间语言代码而言,它本身也属于一种低级脚本语言。
想当年微软发布第一个.NET开发环境VS.NET时,最让人眼前一亮的不是脱胎换骨的VB,而是新出生的C#。就当时而言,VB.NEt虽然增加了完整的面向对象的环境,但却在某些细节上输给了C#,比如缺乏无符号类型整数,没有summary注释,没有运算符重载,在底层处理上不如C#,无法使用指针……
当然,那是当年的事。现在的VB.NET已经升级到了2008了。虽然在底层的处理上仍然不如C#(VB还是没有指针),但一些其他的缺点已经被克服了。VB.NET现在是一门(基本)完美的.NET编程工具,虽然有人抱怨VB的关键字太长,而且代码冗余,但就通俗明了、简单易学和“傻瓜式”的编程方法,可以让我们省却很多的时间。
指出一些VB拥有而C#没有的功能你就会明白:VB拥有智能变量类型推理,隐藏式的自动数据转换,后期对象绑定,代码编辑时的后台智能编译,拥有众多VB6保留下来的方便的功能函数,My扩展……
就我看来,VB.NEt并非不敌C#,而是很多人都迷失在了追逐潮流中。
再来一点,VB和C#都一样,都是依托于.NEt框架,所以在很多功能上,它们都是调用同一个框架内的类型和函数才得以实现的。就语法上的不同,存在于编译器不同的解释上。如果你多多研究.NET程序的中间语言,就会发现,其实在VB中实现C#的功能,也并非难事,只是微软尽力隐藏了这些功能,让VB停留在BASIC之上,这是微软固有的营销策略。

废话扯了这么多,现在该谈谈如何入门了。
只要选一本好的VB.NEt教程?如果你有那样的教程,拜托请附送给我一本。
别去书摊上买《VB.NEt从入门到精通》这一类的书籍,多是些官话、废话,对于没有编程经验的新手来说毫无用处。最好的教程是微软的MSDN——程序员开发文档。
将Visual Basic 的指导教程和类型概念仔细通读一遍,并将所有源代码编写一次,理解其中的概念,那么基本的东西你也就掌握得差不多会了。
再然后是了解VB.NEt的所有关键字功能,对于暂时不了解的或者不急着会用到的可以放一下,以后再回头来看。
最后,也是最漫长的,就是开始熟悉.NET框架。所有.NET程序的功能都被包含在了这个框架中,我们的.NET程序中的大部分功能将依托于这个框架。你得了解一些常用的命名空间、类型和借口,并熟记一些常用的静态方法(函数)。如果进行窗体开发,需要仔细了解Windows.Forms命名空间内的类型;如果需要与系统或者其他WIN32程序进行交互(比如COM),那么就要开始研究Runtime命名空间;如果是网络开发,就需要研究Web命名空间;如果是数据开发,就需要研究Data、XML命名空间……
最后的最后,恭喜你,终于成为了一个高手,那么我们将要开始进入.NEt的核心高级开发技术,比如反射(动态类型加载)、比如CodeCOM(动态源码生成),比如MSIL(中间语言)的汇编与反汇编。

简单来说,使用.NET,我们不需要了解更多的系统底层知识,就可以快捷方便地开发桌面、数据库、网络应用程序,它在牺牲了性能和硬盘的空间之后,可以为我们提供强大的功能支持。
如果你想要掌握一门主宰未来,并且是一门拥有完整功能且简单易学的语言的话,那么VB.NEt是你最好的选择。

到最后的最后,某一天,你会突然发现,什么VB.NEt,什么C#、J#,都是一样,只不过是叫了个不同的名字,它们傍的都是同一个大款。这些编程语言在实现细节中有大部分都是相同的,你会突然顿悟,不过是一个王八换了件马甲……

这只是我自学两年VB的见解。
说实话,我学编程也只是为了好玩儿,因此也没有放太多的精力于此,所以肯定有一些不太正确的观点,请大家多多指正。



类别:咸扯淡 | 添加到搜藏 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
2
2008-07-04 09:56
现在不是还出现了什么汉语编程。。还成热门招生专业了……寒……
 
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码:
 

     

©2008 Baidu