一、除非你真的喜欢这个行业并且对自己的智商有足够的自信,不要贸然进入这个行业。
软件开发行业已经是个人才过饱和的行业了,至少普通级别的开发人员已经太多了,非得聪明才能脱颖而出。不要想什么勤能补拙,你明白这个道理,别人一样明白。同时这个行业非常辛苦,没这个毅力还是别趟这个浑水。
二、别去什么培训班,北大青鸟一样是圈钱的设施
别的不说,他们不会去高薪聘老师的。
三、注意自己年龄
不是说年纪大的不能学……
不过如果你已经大学毕业了就得斟酌了。从小学程序的人能把程序搞成哲学,但是你来不及了。(别觉得我说得玄,不知道有多少人有同感:你能脱开程序去想程序才能算个小成。你的目标应该是把“程序”这个空间拿在手里而不是拿自己去填满这个空间。事实上你能把程序拿在手里的时候会发现其实这也不过如此。)大学开始学编程的起码有四年的时间去学,可你得混饭吃了——软件开发不仅干着苦,如果你不是从小学,学起来也很苦。(程序某种意义上的确更接近哲学,是很纯粹的而且是多层次的方法,不是做多少题就能悟到的。)
四、怎么学
如果你是初中生或者小学生那随便你怎么学,多异想天开一点,不要怕失败,一点一点来。高中生多看看书,系统一点。如果你都不是,好吧,我不知道。对于你们下面的内容绝对不是什么规章,也算不上建议,大概只能说是设想。
A.不要急于求成。实现一个东西的确很有意思,但这对你的能力没有任何帮助。实现了多少东西那仅仅是鱼,并不说明你能渔,更不幸的是对于你将来的工做现在的“渔”也仅仅是“鱼”而已。(对这句话摸不着门的也请斟酌)。
我认为你们该往死里抠程序里每个词的意义,能问出多少个为什么就问多少个为什么,并且尽量自己解决这些问题。
比如简单的 int a[12] = {0}; 你们能解释出多少东西来。for (int i = 0; i < 10; i++); 又能想到多少?
现在很多人把让人看了眼花的代码贴出来,然后去问最基本的语法问题。我不知道该笑还是该哭还是该吐。
B.霸气。你最后得把程序捏在手里。它是虫,你是龙。
C.明白这么一点,会写程序就不在乎会什么语言了。反过来说如果你还没做到看什么语言都一样,说明你还不会写程序。语言是用程序做出来的做程序的东西,如果你会做程序,那你就会做语言。
不,现在就要开始。其实你真的死抠程序的每一句话,慢慢也就明白语言是怎么一回事了。
D.并不是每种语言都适合上面这一点。越底层的语言越好,高级语言里貌似便是C了(不,不是C++)。也许你会觉得底层语言难,但是对于学写程序来说,通过底层语言来学会更容易,你的最终目的不是学语言。
但是这仅仅是在高级语言层面上说。强烈认为越是起步晚的人越应该仔细学汇编语言,因为这个最底层,事实上真正学会了汇编以后,你会发现其实汇编是最简单的。并不是从学程序的角度来说,单是汇编语言本身就很简单。
汇编语言很直接,直接到没什么可不明白的。同时它也底层到你们什么可往下抠的,再下面就是硬件了。
但是,说实话汇编语言没什么好教材。另外我所说的学汇编是学怎么在汇编指令这个层面上搞逻辑,不是宏汇编这种伪高级语言,也不是DOS下驻留内存放音乐这种实现。
有人会说机器语言更底层,不过你只要了解汇编语言和机器语言是怎么联系到一起的也就是会机器语言了。
E.总之是哲学。什么面向过程,面向对象,其实彻头彻尾是哲学问题。当然开发中更讲究实用。但是往往你必须脱离“程序”这个形,去考虑“meta”的东西。
F.这之后才是算法。在很透彻地领会语法之前,请不要搞算法。有时候我甚至觉得出算法书的人其实都是骗钱的... 算法这种东西不如真正用到的时候再去查,学的时候了解一下就好。
阅读(658) | 评论(0) | 转发(0) |