关于学习vb的转贴

1.我该学什么语言? VB、VC、Delphi、Java……面对各类各样的编程语言,你是否是被弄昏了头脑呢?该学什么?“学VC吧!”许多高手说。而且还举了颇有说服力的例子:“学VB只要两个月,学VC要一年,若是先学VB再学VC,所用时间仍然是一年,但学了VC再学VB,所用时间将不到两个月。”这句话没错,的确是这样的。可是刚入门的初学者都能学VC?把每一个人都看得这么高?一些初学者把VC当成本身的入门语言,结果能学到最后的只有少部分人!咱们不能奢望全部初学者都是在十分熟悉Windows的状况下才开始接触编程的,实际上,不少人就是在学习编程的过程当中逐渐深刻了解系统的,要是全部人都选择VC做为“入门级语言”…… 初学者应该根据自身状况来选择语言,若是你刚开始接触系统,应该去学VB,由于VB很好学,基础最重要;固然,还有Delphi,它介于VB与VC之间。除非你比较熟悉Windows,不然别急着学VC,你会所以神经衰弱的。 2.切忌同时学习多种语言 有没有试过同时学英语俄语德语波兰语法语日语?最后八成会变成鸭子。学编程也同样,若是你才高八斗机敏过人玉树临风,那么随便你同时学VC、VB、Delphi等等等等,没人会拦你,但若是是初学者呢?去作鸭子吧。同时学这么多种语言还不如踏踏实实学好学精一门适合本身的语言!初学者每每什么语言都要去了解一下,更有甚者连一些概念都不熟悉就什么都学,面对他们,我都要自愧不如了,但我仍是要劝他们一句:同样同样的学,没有人能一步登天!别觉得同时学多种语言就很“光彩”,小心最后还是七窍通了六窍。 不管学哪门语言,都要把它学好再想其它,别“花心”,若是你是学VB的,至少要熟悉VB编程而且能熟练使用API的时候,你才应该去学其它语言,学VC更要注意,不然最后只能“无所不学,而一无所知”,只学一种语言时遇到困难仍是好处理的,可是同时学这么多种,你保证都不赶上问题?当心几种语言的问题一块儿来压你! 3.要有主见 许多初学者爱跟着潮流走,外面流行什么他就跟着作什么(追“猩”族?)今天流行VB他就学VB,明天流行Delphi他就把VB忘了,再到VB.Net、C#……人云亦云,随波逐流,“专家”说什么语言好他就投奔什么语言,“走在科技前沿”,可是到最后又能学到什么?不只丢了西瓜,连个绿豆都没拣着。这年头“世界变化快”,我知道,可是它怎么变就随它去,总不见得把你变成今天张三明天李四吧?“月亮走,我也走”的思想要不得,别管外面流行什么,若是不是大众须要,你只管学好你该学的语言就行。 4.别看轻其余语言 常常有人说“XX语言差,学了没前途!”要是让我评价一句,恐怕是你没前途吧?你凭什么说它差?没有一种语言是十全十美的,即便它再“差”,只要它尚未被外界宣布彻底淘汰,它就有存在的理由!曾经有人对我说:“个人老师常常教育我,VB太差了,因此我要把之前学过的忘掉。”且不说这家伙随波逐流,单是他老师就够酷了,呵呵,不知道他的老师是圈子里的哪位资深专家呢?只怕是个三角猫吧!VB虽然存在一些局限性,但它的语法很好理解,数据库编程很方便,配合API也能完成一些复杂工做,这就叫差?多少个优秀程序不是用VB这个“没前途”的语言写出来的?多少个程序员不用VB?你看见他们没前途了吗? 5.不可缺乏的教材 虽然古往今来一直有“尽信书,宁肯无书”的遗训,可是咱们可别所以“无书”哦!也许你天资聪明,自学电脑不用教材,可是自学电脑能够凭现象和经验,学编程能凭空摸索?连变量、过程等概念都不知道,还能看懂for(i=1;i<50;i++)的意思?要学编程绝对不能少教材资料,若是连这都不舍得买,那么你最好别学了。还有一点,关于网络教程,我我的认为它太过于零散了,即便是一本完整的电子书也尽可能不要看(除非实在买不到),难道你要一边写代码一边ALT+TAB?我宁愿慢慢翻一本书,也不肯盯着屏幕看半天!如今市面上的教材良莠不齐,光买一本是明显不够的,基础的、高级的都要买回来慢慢研究,至少也要3本吧?市价低于20元的书最好不要考虑了,看看它的厚度!书本的厚度一般与含金量是成正比的(厚厚一本垃圾?你衰),最好选一些比较常见的出版社出版的书籍,尽可能别买少见的,质量没得保证!个人一个同窗就买了一本20元的垃圾,整本书连个完整的例程都没有,还大言不惭“基本入门”,误人子弟啊!如今那同窗看的是我借给他的清华大学出版社出版的《中文 Visual Basic 6.0 傻瓜书》。 一个小窍门:若是你不知道该买什么书,最好找个高手一块儿去,让他帮你选本好的,若是你身边没有高手,那就找厚点的!或者书名带有“疑难解答”或“API”,这些书质量通常均可以. 6.关于英语 因为大多数语言的母语都是英语,这就致使了一些初学者望而却步,可是英语对于编程很重要吗?实际上编程须要的英语不多,都是比较基础的词汇语法,它和通常的英语不同,即便你连一篇英语文章都看不下去,但只要有点英语基础的,你就不用怕“不会”!(固然前提是一些基础词汇如If、For、Next、While、include等必须看得懂,不然先去补习一点英语再说)就算英语再好,没学过编程也不会看得懂程序源码,难道没学过编程能知道StrComp等于String Compare?学编程与英语水平无关,咱们学的是编程而不是英语! 7.编程大忌——组装 VB最大的方便之处是它和ActiveX能很好组合,MS和第三方厂商为VB开发了许多ActiveX控件,为初学者提供了很好的学习机会,可是一些初学者却知足于此,作一个程序用了一大堆别人的控件,加上一点微不足道的代码,就觉得学会了编程,殊不知这样根本没有入门!ActiveX是别人作的东西,写了多少代码才到你用的!别幻想ActiveX无所不能,从另外一个方面说,它正是VB的累赘!会用ActiveX又有什么了不得?API会吗?复杂点的代码会写吗?会本身开发ActiveX吗?作一个用到通用对话框的程序,只会用comdlg32.ocx的ShowOpen方法,却不会用GetOpenFileName这个API来打开,并且使用ActiveX会让你的程序挂上一大堆OCX,加剧程序开销,更要命的是ActiveX会致使许多不可预料的错误,如控件过时、控件没有注册等,任何一个错误都会让你的程序没法运行,许多初学者搞不清ActiveX与程序文件的关系,发布软件时忽略了程序须要的ActiveX,致使程序在其余环境没法运行,我早期发布的IIS Cracker就由于不得已用了两个ActiveX而成为我最头痛的事(有些东西不用ActiveX作不出来,没办法)若是一个程序出现控件错误, 而做者又没有提供相应的控件,那么我要作的就是把这个程序删除!在此提醒各位一句:写程序不是组装!别觉得用VB画个窗体,加几个ActiveX就学会了编程,你根本连编程的门槛都没入! 8.按部就班 许多初学者刚开始接触编程就急着写一些较高级的代码,却忽略了最重要的基础,他们也许热情高涨,也许有心学编程,可是却没能静下心学编程基础,这将致使付出时间多而收获少的后果,举个例子吧,你刚入门,连一个简单的程序都不会作,就算我给你个木马程序的所有源代码(谁要独裁者的代码?呵呵)你又能看懂多少?学习要一步一步来,没有扎实的基础,谁都不可能写出好程序。固然,学习的方法也不能不提,尽管学VB、Delphi不须要专门学Basic、Pascal,可是学VC就不能不学C/C++了,不然你会前进得很辛苦!别信什么“速成班”、“24小时学会XXX”,那种是喂猪的!经验要靠练习来积累,不能只学理论,编程不是让你纸上谈兵的,平时很少练习,别想写出什么好程序!学习时要从简单作起,先熟练简单编程,在这个基础上要写出高级点的程序就不困难了,遇到难题别被吓着,努力克服它(除非是因为语言的局限性而作不到的),若是暂时作不出来,能够先搁一段时间,但别把它忘了。等你学到更高一层的技术后,再回头研究过去的难题,将会事半功倍。 9.在学好一种语言的基础上,继续学习其余语言 别误会,这不是让你同时学习N种语言,而是在学好一种语言后,继续学其它语言,例如学好VB后,能够改学C、Delphi等,不要守着VB不放,多一种语言就多一条出路,若是你以为本身学得够好了,那就别犹豫,立刻改学另外一种语言(喂喂,你怎么把VB的书给烧了?不是让你放弃已经学会的语言啊)仍是那句话,切忌同时学习多种语言!若是你对本身掌握的水平没信心,最好仍是别想其它了! 多学几种语言的好处是显而易见的,一来能够作到几种语言同时配合,二来对扩大知识面也有很大帮助。 注意:学VB/Delphi后立刻学VC是错误的,你必须先学会C! 10.用多种语言配合,多利用各类语言的长处 前面已经提到过,各类语言都有短处,可是它们通常都能互相弥补,VB的局限性致使一些复杂工做不能实现,VC强大,可是界面难作(我的想法),这时你能够用VB写界面,VC写DLL供VB调用。例如VB的指针、位运算操做麻烦且执行速度比较慢,在一些特殊应用环境里,就必须用VC写DLL了,其实写个DLL并不是难事,甚至比写个VC的MFC程序还要简单。 11.多收集信息 学编程不能闭门造车,有些知识是书本上没有的,应该多使用搜索引擎,多搜集研究前辈们作的源代码,吸取一些新知识和优秀思路,有助于提升编程水平,另外还应该参与一些论坛的讨论,积累一些经验。 以上是我在学习编程的过程当中积累的一些方法,仅做参考,但愿你们共同进步。 12编程与数学的联系 离散数学是在大学开设的,其实初中生也能看得懂,主要是由于它的描述过于严谨,因此看起来有点神圣。但只要明白其本质,也没有什么难的,不过是比较烦。 你不用专门地从头研究数学。若是你学过一点编程,那么建议你学习数据结构,从中你能够了解到学习哪些数学知识能帮你更好地前进;并且在学习过数据结构以后,你的编程水平将大大提升。 掌握一门语言的语法并不须要太多的数学知识。只有在遇到具体问题时,要用到数学上的相关理论,数学才发挥做用,此时彻底能够经过查资料来解决。固然,有数学基础天然能够事半功倍。不过经过应用时的临时学习将使你对该理论有更深该的认识也造成了你的实践积累。 最后给你一条武林秘决(今天你可能没法领悟,到你功力倍进的时候,你就会心照不宣了) 程序=算法+数据结构