首页 > 教育学习 > 为什么 > 初级程序员一枚,该如何提高?

初级程序员一枚,该如何提高?
2012-01-19 17:29:27   来源:   点击:

    初级程序员一枚,该如何提高?我是一名非常初级的程序员,刚毕业,大学期间主要是各种hello world尝试,面广,但是不精。我希望能够提高计算机原理,算法,编程思想等方面的知识。我该看些什么书,做些什么功课,遵循什么原则?

    11 个答案

    • 答案 1:

      一个外行人来回答专业问题,这个有些惭愧啊,不过是第一次回答,就尽我所能好了。我转发工场首席布道师蔡学镛的两句话给你吧——“如果你是一个在校生,希望以后进入 IT 行业,但没有明确的目标以后要做什么技术领域,那么我会建议你把时间花在 JavaScript 以及相关框架上。这是目前 "性价比" 最高的技术。 性 =用途广泛性(跨前后端与各种平台),价 =学习的代价(耗费时间与难易程度)。”“我建议的程序员学习成长之路:某语言 = > 编码风格 = > 一两个程序库/框架 = > 重构 = > 设计模式 = > 系统架构”其实在微博上关注他是不错的选择。
    • 答案 2:

      说一下我的理解 程序员的方向其实差异还是蛮大的。往往一个做硬件编程的完全搞不懂什么敏捷开发之类,所以要看你以后的工作方向。有针对性的在你的方向上把能力提高上去。当然,有一些程序员共性的知识,就像你提到的计算机原理 算法和编程思想等等,虽然不同方向上有差异,而且对这些理解不深刻也不妨碍你工作的顺利展开。 在计算机原理方向,《计算机程序的构造和解释》做完里面的习题感觉收获特别大!不过这是一个慢功夫,急不得。《深入理解计算机系统》过多的赞美都是浪费。 算法的话,不过不是专门搞算法的话,看一下《算法导论》就可以了吧。如果还比较感兴趣的话,可以去做一下Topcoder的Single Round Match,很有挑战性!几乎在中国的每个大学里面,总有那么一群搞ACM的人,如果你感兴趣可以和他们成为朋友,会有很多收获。 编程思想,这个就属于仁者见仁智者见智的话题了,不同类型的语言他们的思想也有差异(个人理解) 面向过程的,面向对象的,函数式,静态,动态,并行的。。。找到个自己感兴趣的,玩玩OK,兴趣不能当饭吃。 先把自己工作的东西搞清楚了,有饭吃,然后回来补基础,我觉得是一个比较明智的决定
    • 答案 3:

      多看书,多写代码。无它,唯手熟尔
    • 答案 4:

      学习之路很艰辛 但是要在实践中学习 方可得道。单纯想提高算法技能的话很简单 找一两本算法书 写一些单程序就可以了。但是,这些对工作很可能没有太大的作用。Ps:那需要很多的工作项目经验,我把程序员从基础到较高级归结为四个阶段(仅供参考 :-)):1. 学习助理阶段:刚进公司,对某个项目一无所知,无法独立承担部分的重要的component开发。这个阶段需要大量学习,快速学习。首先要多问,努力看懂项目的设计思路(为何如此设计),关注实现细节,读别人的代码,结合书本,塑造自己的编码风格。这个需要比较长时间的锻炼,比如,1-3年得开发经验积累。2. 熟练工程师阶段:能独立基本按时完成部分重要component的开发,与项目其他开发人员无缝沟通。能够与设计者交流,或者初步提出自己对项目的看法和改进意见。3. 专业工程师阶段:能独立按时完成重要component的开发,与项目其他人员无缝沟通。能够与设计者交流,或者提出自己的改进意见。编码方面的难点已经不是完成开发的阻碍,能够熟练驾驭开发语言和工具,直奔目标,这时候开发语言和编程方法、算法之类的已经是信手拈来的工具而已。4."专家"工程师阶段:在3的基础上,能够独立设计,主持召开评审会议,已经不太关心开发的语言和开发方式,注重效率、质量和成果,能够与项目高层商讨项目进度安排,项目任务分配,项目周期等。
    • 答案 5:

      最基础的知识和原理最重要。平时多看多想多问。在读书的过程中要不断的去问人家为什么这样做,这样做有什么好处。看书的时候要不断的去参照对应,这本书上讲得可能和另外一本书上讲得东西是一个东西但是表现形式不一样,要挖掘其中的相同处,要触类旁通。基础知识扎实了,建议去读一些OpenSource的代码,学习学习大牛们怎么去写代码,怎么去设计的,这样功力提升会非常快。
    • 答案 6:

      前面众人已经说了很多,我补充一点:不断试图通过技术手段改进公司现有产品和工具,这样才会有足够的编码环节。
    • 答案 7:

      作为一个程序员,不管以后的发展方向如何,基础的重要性怎么强调都不为过。好好地把大学里学的数据结构、操作系统、编译原理、算法都好好的看看,甚至于数学、统计学可以看看。这些掌握不好,永远都只能做一个低级程序员,更可悲的是有些低级程序员还不知道自己差在在哪里。Sosi兄提到的几本书都是非常不错,值得好好看看。基础扎实了,接下来根据发展方向的不同,就可以自己选择性的去学习了。另外还有一个重要的,就是一定要实践,知行合一。
    • 答案 8:

      数据结构,基础算法,这些是必需的;不论你使用哪种编程语言,其灵魂都离不开这些。如果是用偏底层的开发,你要熟悉计算机的结构和操作系统。《算法导论》是一本很经典的算法书籍;还有Donald的《计算机程序设计艺术》,更是经典中的经典。看书后自己合上书再实现一遍,有不清楚的再翻开看,领悟算法的要点。建议在Linux下学习编程。
    • 答案 9:

      要想成为合格的程序员,理论和实践是缺一不可的。从你的描述来看,你的实践经验是比较欠缺的。如果你的理论知识学习得比较好,例如数据结构,算法,计算机组成原理,编译原理等,这时候最好能找一个大公司进行实践方面的锻炼,同时学习一些技能方面的书,例如某种语言或者某种变成框架。如果理论知识不够扎实的话,那就需要两条腿同时走路,学习理论的同时进行实践。总的来说,理论是内功,实践是外功,缺一不可。根据自己的情况,合理安排学习计划吧,只要坚持,就肯定能做到。
    • 答案 10:

      我觉得你可以去淘宝里面申请淘宝模板的设计师,尝试各种模板的设计这样会对你的技术和以后熟练操作都会有帮助和提高,而且如果你设计出非常beauty的模板你还可以用来交易赚取零用钱。
    • 答案 11:

      非程序员,交互路过。。不过一直想学习下程序。

相关热词搜索:

上一篇:有哪些生活中听到的格言或者名言是被断章取义的?
下一篇:你所在的公司有哪些不人性化的地方?