想走编程道路的人,进来看看,说说我走过的路
说基础,基础是慢慢积累的,不用一下全看完。
电脑各种硬件,一定要了解一点,这样才知道电脑是怎么工作的。硬件中重中之重。cpu,内存,硬盘,网卡,主板这几个他们怎么协同工作的一定要了解。
C/C++一定要看看,哪怕你现在会java,会phython,会PHP,还是会javascript html,不会PHP的,你可以去千锋学啊!
软件的数据结构与算法一定要学一学,这个会把java的C++或其他面向对象的容器设计原理跟你说清楚的。我们所有用的,Set、Map、Queen等等这些东西,都是别人用基础算法封装好的,学会了有助于理解与使用。
有上面的基础,一定要学一下操作系统,我们用的所有电脑,各种智能设备离不开操作系统,不会操作系统很多知识很难理解。操作系统一定会跟硬件挂钩,所以挑战学习操作系统前,一定要知道一些基本的硬件知识,否则一看不懂,看不懂就等于坚持不下去。
设计模式一定找时间学习一下,java或C++哪些基础框架应用了很多的设计模式在里面就看你看得出来不?学会了有助于理解。举java例子给各位,android的整个通信设计用到了MVC1设计模式,Context的实现类用了模版方法设计模式,各种监听与intent用了观察者设计模式。微软的MFC用的跟android的设计模式差不多。java API自己 多线程就有生产者消费者模式,未来模式,整个I/O设计就是一个装饰设计模式。C/C++编写程序用的很少,我从学会到现在有个1年多了只写过一个服务程序监听的程序。所以应用场景里用的太具体的设计模式列举不出来。
最最基础的,得先学会一门编程语言,只有会一门编程语言并且经常用才会慢慢体会出编程思想来。编程思想,只看书或只靠别人叨叨,自己不动手是体会不出来的。
数据库至少得会一个,否则你数据存那?自己写存储,貌似没必要。数据库学校老师教的时候不重视,悲哀,实际工作的时候天天要接触。
有基础了,找家公司实践自己的思想去。编程完完全全就是创造性的工作。没有做不到只有想不到。起先可以看别人写的代码,模仿到一定层次就可以自己创造。
想玩好编程,不停的学习。有志于写程序的人,把我说的基础三年内做到,不知不觉就会变成大牛。
最后,做编程英语一定要好,不会的同学努力从头学(找好的视频看)。英语这东西每天都接触一点,总有一天你会不陌生的(工作8年后我坚持学了1年多了,完全从头学)。学英语的理由很简单,计算机的发源地美国,在计算机科学方面比国内N。Andoid,IOS,Mac,windows,Linux,Unix都来自国外,并且老外给我感觉严谨。国内对计算机方面的教学书籍能做到严谨的很少,甚至很多就是抄的别人的。书看多了自然会明白我说的真假。例子:java 女作家 孙XXX,我看过她写的hibernate(无意贬低别人)。内容在Hibernate参考手册里面有。很多思想来源于,澳大利亚一个作者写的hibernate一本书。学会英语,可以了解第一手资料。不用等别人翻译。很多书好书翻译成坏书,例子不用列举,以后如果看到对英文版的自己看。
PS:我个人通信专业毕业,因为在学校玩游戏逃课多了。找不到专业相关的工作,随便找了个公司,做OA系统维护做了4年,实施做了1年。当初因为第一家公司的项目经理的自大实在把我惹火了。一直坚持学程序。27岁的时候来现在的公司开始了职业程序员的生涯。其间不太会写程序的时候,被老板白眼过、被老板排挤过。厚着脸皮熬过头两年,对写程序才慢慢开窍。从最初的写lotus script,再到js,html,css,java,C/C++经历了漫长的7年终于有了自己的一席之地。失败过无数次,最后,快打算辞职的时候。靠我一己之力,把公司的OA系统,开发成了移动版本跑。完完全全一个JS为核心实现的一个交互引擎。也因为这个产品。去年挽救了公司一个项目。实施了三个项目,也因此被老板给留了下来。
各位有志于写程序的的同学,写程序经常加班,甚至还很枯燥,还要看很多书。希望大家能坚持下来。程序员工资没多少,能玩到30岁以上。基本上把工作当玩,把玩当工作。程序员的终极目标,软件架构设计->晋升到系统架构设计(能到这层次,会很值钱,也很少有公司再雇用得起),自己也等着转行或自己出来干吧。