|
说来惭愧,学习编程一年半,始终不得其法。
学过C、C++,但总是能看懂代码,却始终无法自己全新设计一个程序。
听说C#是训练设计模式的最好语言,故转而学C#。“公于利其事,必先利其器。”,学好一门编程语言,有好资料是非常重要的。于是乎,四处找书,四处查询别人的学习经验,想找一个最快最有效的路径。网上千篇一律地推荐新手看《C # 入门经典》、《C # Primer Plus》、《C # 高级编程》,我去找来看了,却发现他们就是光讲语法,看了半个月,我依旧只是个C#语法字典,却不会完全自编一个程序。
不对,一定是什么地方出问题了,时常看到,学编程要注重实践、不断地写程序,那些语法字典书不适合我。于是,再去搜寻。偶尔看到一篇关于C#入门的文章,推荐人们看《C#与.NET技术平台实战演练》,按照惯例,我先去china-pub看了一下这本书的书评,人们对它的评价很高,说这是.NET学习C#基础语法好书,最后几章手把手教你实战。但是这是.NET刚出来之前也就是.NET测试版时写的,比如SQLConnection,VS2002正式发布后改了命名空间,如System.Data.Sql.SqlSQLConnection,所以它的源码是不能运行的。他们推荐这本书的第二版,铁道出版社的《C#与.net Framework实战演练》。
去找来《C#与.net Framework实战演练》,一口气看了200多页,有种相见恨晚的感觉。因为前面看过《C#入门经典》,更能体会本书介绍编程的方式的独特之处:以一个人不断编写代码的方式,配合最关键的基础知识教你。我有个同学,他编程上手得很快,据他说,他的老师上课就是不断地写代码,并配合代码辅之少量讲解,有疑问的地方,则很容易从“语法字典”中找到,查MSDN也可以。
也许,这本是不是最全和最好的,但我觉得,看这本书是完全不懂编程的人学C#最快的捷径。也适合我这样,学编程学成“语法字典”的人快速向入门级程序员进发。
这本书论坛里我求过,应助的人长期保存着:http://www.readfree.net/bbs/read ... 5%D5%BD%D1%DD%C1%B7
以下是我看到的那篇文章:我接触C#是早于普通人的,主要是因为我有一位杰出的很有远见的老师,是他带我走上了这条道路,但是道路最艰难部分的探索,他却没有给过我丝毫的帮助,因为那时他已经离开了我们学校,另谋高处去了
他当时给我推荐了一本书,在我不精通C#时,并不了解那本书的长处,然而在我精通了C#,并且看过了很多很多著名的编程书籍之后,才发现那本书是多么多么地强,多么多么地好,只可惜那本书不是很著名.
那本书的名字是:《C#与.NET技术平台实战演练》,如果你想学好,想学通,这本书是捷径,绝对的捷径!虽然我并不反对电子书,但是我强烈建议如此优秀的书籍应当亲手拥有。
还有,我可以告诉你,我第一次看那本书的时候,连“变量”是什么东西都不知道,那时我才读初一,看那种书50%是天书级别,但是不管看得懂看不懂,我毕竟是看下去了,没办法,我对它的兴趣太强烈了。你知道,在青少年的心目中,“编程”是个很了不得的东西,是个极具有吸引力的东西,所以我当初并不管自己是否能看懂,反正是认真地看了个通透,但是我发现当我看到书本中介绍语法的后半部分时,原来不懂的一些名词,例如:类,方法,继承,变量,控制台,I/O等等,全部都了解了。然后我回过头去再看了一遍,原来所没有注意到的地方,就了解得更加深刻了。
在对C#的语法有所了解之后,我安装了VS.NET开始亲自动手,编的第一个程序是HelloWorld,没成功,因为\";\"(分号)的使用不正确,我检查了很久,也不知道错在哪里了,因为我当时看不懂它的英文提示,然后我拿着书里面提供的源码仔细对比,才发现了自己的错误所在——我在Main方法花扩号结束的地方还加了一个\";\",在修改以后,程序成功地运行了,我突然觉得自己伟大无比。
就这样,从一些简单的程序入手,慢慢地复杂化,从HELLOWORLD,到质数验证程序,到。。。。后来我离开了控制台程序,走向了Windows窗体程序,并经过大约两个月的反复操作,对.NET常用的控件、类、方法有了比较详细的了解,然后我把书的语法部分又读了一遍,原来没有理解得太好的delegate,Event,抽象,接口,多态,convension操作数,Reflection,Attribute,以及在面向对象编程中一些特殊的操作数都有了更为透彻的理解,在这个时候,我对C#的了解就开始走向成熟了。
后来,在我能够熟练地使用C#做我想做的事情的时候(包括做很复杂的数学题目、做一些我自己喜欢的程序),我开始进行更有意义,更为大胆的尝试——使用C#自己编制一个数据库系统!事实上那个时候我自己根本不太了解数据库,只是觉得这东西挺好玩的,然后自己又极度憎恨MS的那套数据库(主要是买的SQL D版碟里面居然没有KEY),所以才下了决心自己做一个。在经过了大约一个星期的向他人的意见咨询和自己的计划之后,我开始了编程工作。在编程过程中遇到了很多难题,我都一一解决了,我并没有上论坛去问,全都是靠的自己的思考,自己的力量去解决的。当我数据库系统的所有功能都测试通过了以后,那种成就感我自己无法形容,我感觉自己比盖茨还要伟大!
当我的数据库的第一个版本完成以后,我觉得那时的技术应该可以说是精通了,虽然我现在不得不承认,那个数据库系统结构真的很糟糕,遇到多线程肯定就死。经过对那个数据库的一系大刀阔斧的修改和精细的加工,我的数据库系统结构越来越严谨,功能越来越齐全,运行效率更高,更安全,而代码却比我的第一个版本要少了大约6000行!
我要说的建议在上面已经全部说完了,如果你有心,你会把它一条一条地归纳出来的。另外,最重要一点我需要指出:兴趣是最好的老师,如果你实在没有兴趣,那就把它换成毅力。 |
|