编程大法之内外功

来源:互联网 发布:用友软件销售工资 编辑:程序博客网 时间:2024/05/27 01:45
      从大一进入计算机专业到开始培训,我们已经从对专业的模糊进入到开始为工作准备了。如果说以前很多同学还对自己的专业比较迷茫,不确定自己是否从事计算工作,那么在座的参加培训各位肯定就是那部分对软件行业有意向的人,要么是一直喜欢这个专业,要么是放弃自己的爱好坚定学。如果是前者,理所当然,如果是后者更是难能可贵。所以我今天跟各位志同道合朋友分享自己学习编程的心得。

有人说编程=算法+数据结构,这是对最顶端的人来说的。我把编程这一门课比作一门功夫叫做《编程大法》,分为内功和外功。

我们先说说这内功。所谓外功易成内功难就,每一部小说里面内功高的人都是武林高手,学会了《九阳神功》,就是使砍西瓜刀法也能所向披靡,而且内功深厚的人,学什么都快,张无忌学了《九阳神功》,《太极剑法》和《乾坤大挪移》,信手捏来,由此可见其重要性。编程的内功主是,数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等基础课。从这课程大家可以看出来,都是比较难的并且没有实用价值的,所以往往被学生给忽视,或者即使知道重要也不愿意去学。这也是很多家长和学生抱怨的,上大学学不到东西,但是其实大学给我上了最重要内功部分,只是我们没学而已。我这里给大家举例子,看看算法的力量到底有多强大。

1.最朴素的搜索时间复杂度是On),一亿个数据需要每次查找需要1亿次计算。

二分查找时间复杂度Ologn),一亿个数据每次需要查找不超过30次计算。

2. 最朴素的冒泡复杂度是On^2),一亿个数据需要每次查找需要1亿*1亿次计算。

Mergesort(归并排序)时间复杂度Onlogn),一亿个数据每次需要查找不超过1亿*30次计算。

3.地图导航最短有效路径搜索,朴素算法时间复杂度O(n!)10个地点需要计算3628800次计算。

Djskla算法时间复杂度O(n^2)10个地点需要计算100次计算。

因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,其本质不会变,这也是为什么编程内功深的人学习新语言,新平台快的原因。

当然,说内功重要并不是说,外功可以忽视。学内功最终的目的还是为了发挥出最强外功的威力。比如我虽然内功一般但是,我学个《凌波微步》你也打不着我,说不定我还能绕到你背后插你一刀。

既然内功外功都重要,我们要如何去学习呢?

这里送给大家一句话,书山有路“情”为径,学海无涯“懂”作舟。情就是说我们要调用自己的感情去学习,而不是麻木的为了学习而学习,调用自己的感情和呆板的学习绝对是收获不一样的。“懂”就是说要科学的学习,拒绝盲目。你看朝鲜人民多勤,多苦,下班上班都喊口号,但是他有中国人民幸福吗?一个人默默的坑开发,和到名师荟萃,气氛昂扬的高博学能一样吗?

扯到编程上就是,在校的时候我们一定要加强内功学习,同时我们需要利用打工的机会,实习的机会,最好接受培训,学习最新语言最新平台,这样才是两不误,科学的学习。但是这里给大家一个忠告,学什么都要多练习,就像学英语的不说永远学不好英语,学数学不做题等于没学,我们学编程的要有一定的代码量,根据我搜集的资料,大学毕业前至少10万行。当你走出校门,身居《九阳神功》+《独孤九剑》,编程的世界你还有什好怕的?

最后我的老师经常强调,一定要学好英语,中国计算机行业和国外还是有很大差距的,很多资料的是英文的想吃手最新的,原滋原味的东西一定要学好英语。

还有身体是革命的本钱,搞计算机的你懂得,一定要注意保持健康。
                                                                魏思政 2013.8.17

0 0
原创粉丝点击