如何成为一名真正的程序员

  1. 分析问题的能力

  2. 设计解决方案的能力

  3. 编码实施的能力

  4. 排除故障的能力

  这四种能力如果要展开来讲,要写好长的,暂时就不写了。

  开始回答——”如何成为“的问题。

  科学家追求的是知识,工程师追求的是能力。而能力是很难从书本上的来的,只能从实践当中来。

  我注意到题主的问题中,提到看书静不下心,看视频又觉得太慢,可能从一个具体的项目开始更能激发学习兴趣并且获得成就感。

  先给第一种路径建议吧——从C语言开始。

  之所以建议C语言,是因为C语言里没有那么多现成的、强大的类库,在不熟悉基本的语法、面向对象这些概念时C#其实比C语言难以理解,很难深入。学习C语言不仅限于对C语言语法的掌握,而是通过C语言的学习,建立程序设计的思维,比较深入地了解一些计算机系统的工作原理。

  在我的教学班级中,我的教学内容是这样组织的,题主似乎也可以按照这种方式来学习:

  第一阶段 高级程序语言的基本概念(编译、库、链接等),开发工具的使用(Visual Studio 2010), C语言的基本结构以及在VC中的一些差异,动手能力上达到能按照书本输入一个程序,能编译,能运行的结果即可。

  第二阶段 变量、指针、表达式、函数、分支、循环、简单的输入与输出。

  第一阶段和第二阶段的时间往往很短。

  第三阶段 开始做第一个小程序(比如最简单的超市收银系统),这个时候学生开始头大,因为很多要用到的东西根本就没给他们讲过,即使网上查得到资料也未必都能用在项目里。学生被我带进一个接一个的坑里,我从不在第一时间告诉他们答案,总要他们冥思苦想抓耳挠腮一个星期了,下周上课的时候才开始讲解决的思路和方法。

  经过1个月左右的折磨,他们基本可以完成一个单机版的的超市收银系统,完成比如输入(从键盘,扫描枪就免了)信息、修改输入、价格查询、汇总结账这样的功能。从知识层面上,结构体、指针、文件访问这些基本都解决了,顺带着把简单的查找、排序算法也学了。

  可以说这是学生最痛苦的阶段,但是正是这个阶段开始培养他们的自学能力,这个太重要了。但是效果也很明显,到后期的时候,少数学生开始先于我提出解决方案了。

  然后接着折腾,先带学生回顾做过的这个程序,看如何能做的更好,运行的更快,Review和重构。

  由于是纯C完成的,程序总是看上去很混乱,修改、扩充也不是很方便,于是我们开始探索另一种编程思想——面向对象,C++上场,又是1-2个月,用C++重新写这个程序,在这个过程中,要求他们自己实现String类,封装数据结构和业务逻辑、数据访问......

  到这里,一个学期结束了,第二学期要求学生把这个控制台的黑窗口改成图形用户界面。MFC不准用,只准用一个叫做Easy-x的图形库,而且只准用其中的putpixel函数来绘制点,一轮新的折磨开始,从画点、划线、逐点写汉字开始,绘制按钮、绘制文本框、响应鼠标和键盘,并且要求他们开始设计和实现TextBox, Button,Image这些类.....,,顺便把消息循环之类的机制也做了初步的了解和简单的实现。

  到这时候,有的同学已经开始做出”高仿Windows"了,要不要太惊喜!

  到这里,我基本可以相信我的学生不会为C#和Java发憷了,更重要的是——他们具备了真正的程序员所必须具备的核心能力——自学能力、独立解决问题的能力。

时间: 2024-10-11 12:36:41

如何成为一名真正的程序员的相关文章

如何成为一名合格的程序员.

程序员是一个统称, 每个程序员根据自己学过的语言不同.那么他们的开发方向也不同. 那么怎么才能算是一名合格的程序员呢? 有人会说 学的好 经验多 什么困难都可以自己克服,有自己的思想见解,可以帮助别人解决问题. 哈哈 ,这样说也没有错,程序员的核心就是遇到困难举一反三,能独立应对开发中的各种困难. 但是 在大工程的团队开发中,有些程序员的"本性"就暴露无遗了. 首先 程序员写的代码 不仅仅要自己懂,更要让别人也看的懂.这样才有利于团队合作. 就拿C语言来说吧. 什么是变量: 通俗易懂些

做到这些,你也能成为一名优秀的程序员

对于如何成为一名优秀的程序员,很多在找工作的求职者来智通人才网咨询,想找一份程序员的工作,但是现在社会竞争激烈,只有成为一名优秀的程序员才能够找到自己满意的工作岗位,那么如何做才能成为一名优秀的程序员呢? 1.迷恋技术,保持对代码的热情 兴趣是最好的老师,如果不是最初对编程充满兴趣,应该很少有人会选择程序员这个行业,但同时程序员是一个有点乏味枯燥的工作.如果你不迷恋技术,对代码充满热情,那你只能做一个平淡的程序员. 2.在实践中成长,磨砺技术 程序员是一个在实践中成长的职业.你看再多书,听再多的

如何使用搜索技巧来成为一名高效的程序员

搜索技能的重要性 对于缺乏编程知识的人来说,完全有可能开发一个网页或一个小应用.如果运气够好,当你使用谷歌去搜索一些示例的时候,你有可能会搜索到现成的代码,并因此而完成工作.即便是那些经验丰富的程序员,也经常会为了节约时间和精力而去搜索现有的解决方案. 如果没有搜索引擎.网络和集体的智慧,现代化高效的编程技术是难以想象的.因此,搜索技巧对高效的程序员而言,变得越来越重要. 现在,我们不必去了解或记住许多程序的解决方法–只需要搜索即可.我们变得更加高效.更加有创造性,并且能够解决更多的问题.但是,

如何成为一名成功的程序员

编程是一个仅靠兴趣仍不足以抵达成功彼岸的领域.你必须充满激情,并且持之以恒地不断汲取更多有关编程的知识.只是对编程感兴趣还不足以功成名就--众所周知,我们工作起来像疯子. 编程是一个没有极限的职业,所以要成为一个成功的程序员,你必须超越现有已存在的极限.在程序员职业生涯的开始阶段,他们将面临许多挑战,面对困境,他们之中有一些人将会放弃,而只有少数人会坚持到底,并成为这个领域的领头羊. 成为成功程序员的步骤 1.愿意学习新技术 随着技术的不断进步,我们学到和实施的技术会很快地过时.所以,作为一个程

如何成为一名好的程序员的一些个人经验

前言 结合一下自己碰到的一些经验教训,来分析一下如何成为一名高级程序员(非技术主管或架构师),希望与大家共勉,能有机会成为一名高级程序员,至少是一名别人眼中值这么多钱的程序员. 打好基础 对于JAVA和.NET来说,这些语言很多地方我们并 不会和底层打交道,有些人可能会说,我们只需要把任务完成就行了,不需要学习太多的东西,那我告诉你,如果你有这样的想法,那么你肯定一直提高 不了自己,毫不客气的说,你甚至不能算是一个中级程序员,为什么我这样说,原因很简单,现在很多代码 ,都不需要自己写了,很多的时

如何成为一名专家级的程序员

如何成为专家 对于你所需要学习的大部分技能,下面四个步骤(重复向上或向下),将有助于你成为一个专家: Learn it Do it Discuss it Teach it Learn it 在你掌握某一门技术之前你必须先了解它的理论知识.可以通过书籍和教程,也可以课堂教育等方式学习. Do it 一旦你学会了理论技能之后,那就可以将这些技术应用到现实中.这样做可以让你知道你学的理论哪些是正确的,哪些是错误的.大学中学到的理论很多并不能应用到现实中,或者并不适合你现在的情况. Discuss it

如何成为一名Java冠军程序员?

每一个稍微有点出息的人,都应该把行业里的前三名作为自己奋斗的目标和对手.你离成为冠军Java程序员还有多远,看完这篇你就知道了. 软件工程师的职业生涯里,知识有一个三年的半衰期.这意味着三年后,你所拥有的一半知识是毫无价值的.举这样一个例子,年纪越大,就越难看到有谁能够了解 TSR(内存驻留程序 Terminate-Stay-Resident ),而找到曾经写过一个 TSR的人更是如同大海捞针.在 DOS系统里,并不能让多个程序同时运行. 因此,在我们需要一个后台功能的时候,比如日历或计算器,我

“八仙过海各传一招”,八招让你成为一名优秀的程序员!

有很多程序员抱怨道: 写出来的代码很乱怎么办 产品需求不停改怎么办 感觉自己不是在敲代码而是在写bug 工作中的菜鸟常常被这些问题困扰,面对随时可能改变的需求,面对突如其来的bug,心中泛起无数个羊驼,那面对这些问题到底该怎么办? 首先要想解决这些问题 作为程序员的你,必须遵守下面的原则: 有不少程序员为了表现自己的能力连需求文档都不看硬撑着头皮敲代码,可当自己写完程序后发现不能运行这下子彻底傻眼了: 别以为文档没啥好看文档等于客户需求读不懂文档就不知道客户想要什么. 作为一名工作五年的程序员,

如何成为一名优秀的程序员?

学习 转自:http://icodeit.org/2017/07/tips-for-newbies/ 作为一个从业快10年的程序员,我想给新入行的程序员们一些建议.这些建议是我希望自己可以在毕业的时候就读到的,也希望它们可以帮助你成为一个更好的程序员. 简单归纳一下,总共有7条: 保持健康 编程之外的爱好 持续学习 正确应对犯错 不要囿于角色 展示你的创意 刻意练习手速 下面我来详细说说每一点. 保持健康 三寸气在千般用,一旦无常万事休 首先要说的当然是健康,脱离的这个本钱,一切都无从谈起.久坐

(转)如何成为一名优秀的程序员?

前几天有人分享的一篇文章,看着不错,转发一下,也算是对自己的一些建议吧,在这里感谢原作者的分享. 作为一个从业快10年的程序员,我想给新入行的程序员们一些建议.这些建议是我希望自己可以在毕业的时候就读到的,也希望它们可以帮助你成为一个更好的程序员. 简单归纳一下,总共有7条: 保持健康 编程之外的爱好 持续学习 正确应对犯错 不要囿于角色 展示你的创意 刻意练习手速 下面我来详细说说每一点. 保持健康 三寸气在千般用,一旦无常万事休 –<jin ping mei> 备注一下:在博客园发表文章,