关于如何编程入门,这是一个很好的问题。在上大学之前,并没有怎么接触电脑的我,也许可以谈一谈。
还记得在高中的时候,因为很多同学去网吧玩电脑打游戏,被学校开除,老师谆谆教诲大家不要去网吧,所以网吧、电脑给我留下了一个如洪水猛兽的印象。以至于毕业交换联系方式的时候,看到联系方式里的QQ一栏,我好奇的问道QQ是啥,被同学一顿笑话。
高考完,在填报志愿的时候,我也没有填写计算机这个专业,结果阴差阳错,我被调剂到了计算机专业,计算机是一个什么概念,我并没有什么概念。
上大学之后,同宿舍的同学去网吧上网,下载音频视频,我很好奇,于是,我也想着去网吧下载个音乐听听,原以为只要把手机数据线插上,然后把音乐下载下来就可以了,最终我的手机里面并没有音乐,请教同学才知道,需要把音乐文件拷贝到手机里面。
就这样一个计算机的门外汉,跌跌撞撞开始接触一门先进的技术——计算机科学与技术。
还记得大学时接触到的第一门编程语言,是c语言,谭浩强老师写的那本书。
上课听着老师天书般的讲解,对于课后作业九九乘法表的作业,折腾了半天,终于在课程结束的时候,入门了c语言,以至于成了我以后一直在使用的语言。
在读书的时候,学校除了教c语言外,还教了java。java编程能够生成图形化界面,感觉很神奇,c就做不到这一点(后来知道c需要使用扩展库)。在做课设的时候,我拿着c写的图书管理系统与同学java写的图书管理系统一比较,有点自惭形秽。
后来还学习了python,shell,c++,html等等,最终因为c使用最多,所以印象也最深。
有人问编程应该选择哪一种语言入门呢?就我个人而言,我觉得c是比较容易理解的一门语言。如果用c++/java概念会多一些,对于库的应用会比较多一些。用起来最方便的语言,可能要数python。
不过关于语言的讨论,一定要说哪门语言好,肯定会被另外语言的人喷。都说有语言的鄙视链。从最新的语言使用度统计来看,c的排名有所下降了。
对于语言,我的建议是选择一门语言,然后深入下去,熟练掌握和使用。
学习c语言的好处是,便于学习Linux kernel的代码,因为内核代码是c语言写的。
语言只是个敲门砖,除了语言,要学习的东西还有很多。当计算机的方向许许多多的时候,我们该何去何从,该怎么做选择呢?
大学期间,隔壁宿舍两个比较厉害的同学,一个一直致力于ACM竞赛,一个一直致力于帮导员做网页,毕业的时候,在各自的方向上研究的都比较深。所以最后都有很不错的结果。
而我,读书的时候,虽然知道竞赛有用,但是一直没有勇气和决心,静下心来去学习解题,故在竞赛上没有取得任何成绩。还好,对于学校的基本课程,比如数据结构、计算机操作系统等学的还可以,故结果也还可以,不至于毕业的时候,被社会抛弃。
最后的最后,建议是掌握好基础知识,去深入理解一下书上的知识,如果一本书看不懂,那并不一定是你的问题,有可能是书的问题,所以对于一科的知识,不能仅仅局限在一本书上。比如数据结构,我记得当时用的是严蔚敏老师的书,书上的伪码并不好懂,就可以多参考基本书看看。
只看不动手,永远只会停留在门外,只有多动手,即便誊抄,也是一种不错的动手方式,让自己动起来,才能够理解的更深。
现在回看自己当年所学,学的是啥,计算机网络,连源mac在前还是目的mac在前都不清楚。深深的遗憾。
一年五十二周,混一周,就是2%的损失。人生百年,混一年,就是1%的损失。如果你有100块,丢了2块什么感觉?人生向前,思考不止。