刚刚开始,都想学最新最好的
大一上学期,我上刚上大学时,学校开的第一门有关计算机的课是《计算机导论》,讲的一些计算机的结构和数据结构,还有一点算法。当时我同学都认为学校开这课是浪费时间,一是大家听不太懂,二也没什么人想听,基本上都是睡过去的。我还听了听,现在看来还是很有用的,只是当时水平凹而已。大一下学期竟开的是pascal,大家还以为会开C呢。为此大家还抱怨矿大计算机专业很烂,当时大家都觉得要学习C才对。我想当时很多人可能还不知道JAVA,或认为JAVA太难,要不就都觉得应该学JAVA了。
让人失落的C
大二上学期开了C语言,用的是谭浩强的《C程序设计(第二版)》。当时学完没什么感觉,因为感觉还是不会编程。只是上实验时用C做了几个书上的小程序。感觉上对C语言的特点还是一塌糊涂,但有一点还是学来了,那就是指针。后来才知道,指针是C的奥妙之处。没学会指针,C等于白学了。所以我的结论,我没白学,呵呵。
真正学了点东西
大二下学期,学校一起开了MASM和《数据结构C语言版》。感觉当时自己还是独具慧眼的,虽然不知道数据结构是什么,但一看书的目录就知道这是很重要的知识。好好学了一学期,得了98分,感觉学的还可以。因为是用C做实验,所以对C用的也熟了(并不是有深刻的理解,只是能解决简单问题了)。
MASM可没这么幸运了,学的教材是《新版汇编语言程序设计》,这本书的特点就是讲的全。讲的全一般都是没重点的,而且后面的WINDOWS的程序设计都没讲。所以学完了只是知道了CPU和内存的一些东西,对内存分配有了一定了解。
虽然对MASM没什么理解,但对C有了更深的认识了。首先是对指针有了更深的理解,其次是对C中的动态内存分配有了一定认识。(后来看python的源码时发现用C就是用指针加动态内存分配,预编译(宏是其一部分)是很好的辅助功能。)
至此,感觉自己很废物。学了pascal,C,MASM,却一点东西都做不出来。还发现了一个规律:基本数据类型,标准I/O,控制结构,数组之类,函数,结构体之类,文件操作(MASM还没有),这个顺序学什么语言都是一样的。
自强之路
大二快结束了,好不甘心,下了决心,自己学。在网上找了很多资料,分析了一番决定学j2ee。暑假自己在家学了JAVA,并开始自己学JSP。
大三上学期,自己乱打乱撞的学了半年。J2EE学的还行吧,东西学到了,但是感觉还是没得可做。开始思考问题的所在了。
开始醒悟
语言只是一种工具
试想给你一只笔你能画出一幅美丽的画吗?语言就是一只笔,编程就像画画,写字,还要单练。学语言就像基本的用笔写字与画线条。
语言之间的差别就像铅笔与圆珠笔的差别一样
什么”笔”都可以用,但用哪个好,还要看具体情况。如JAVA适合大型开发,C适合系统与速度要求高的开发,汇编适合驱动开发,python适合快速开发与模型开发。现在平时没有人用毛笔写字了,因为不方便。同理,现在也没有人用C开发WEB了,也是因为不方便,但不是不可以。
不变的是编程思想
不同领域的编程要有不同的知识为基础。做不同层次的编程要求掌握知识的程度也不一样。如做WEB开发,只要对网络的原理掌握就可以了,就是概念级的掌握。但要再深一层次,如中间件tomcat,jboss的开发就要有很系统的学习了。
万变不离其宗
你能用JAVA编某个程序,那你也能用python或C编。只是每个人对编程语言的熟悉程度不同,会用一种自己用着最顺手的而已。好比我们一般用中文写东西而不用英语,只是因为我们用中文用熟了。但不管用什么语言,关键是你知道写什么,怎么写。这就是核心――编程思想。
最终忠告
不要专注于语言本身,学编程思想最重要。
语言都有自己的特性,这不是能一时掌握的,要靠长年累月的运用才能心领神会。
不要贪多,花大量时间学很多门语言。语言这东西不用真是会忘的。
给计算机专业大学生的忠告
编程思想是要自己用心体会的。不要希望别人教你。
汇编,C这是很重要的语言是必须学好的。
数据结构是基础中的基础,否则很多东西你是连理解也理解不了的。
专业课是学不同领域知识的好机会,一定好好听课。数据库,操作系统,编译原理,网络,计算机结构等。
当前企业最需要的技术学校是不会教的,可能老师们都不会,怎么教你。还是要自己学呀。