我想对所有新程序员说的一些话

我从学习编程开始已经累计超过二十年了。截至现在,我开办过的编程入门课程的数量也有半打之多。我在教授编程上花费的所有时间,总数大约是一千多个小时。以下是我的一些肺腑之言,至少给我的学生反复唠叨过不下一次。注意,这些内容没有前后顺序之分。

欢迎来到编程世界。

  • 编程的确很难。不管你有多么擅长编程,你的学习能力和解决问题的经验始终是拖慢你前进脚步的唯一因素。等你更
    加擅长编程这门技艺的时候,你就会对此更加确信。编程还有一个有趣的特点 -
    你永远都不会对其产生厌倦感。如果你曾经有过,你一定在什么地方做错了,你也许需要将已经重新写过的代码再进一步优化或者抽象一下。
  • 编程可能是你做过的所有事情当中,最为令人困扰的事情之一。一般情况下,编程都会经历尝试解决问题、陷入困难、再次尝试、后退一步、灵光乍现并且

    最终让程序跑了起来这些步骤。感受困扰是很正常的事情,这种现象不可能完全消失。(当你的编程技艺更加娴熟之后,你只需解决更难的问题,问题甚至可以不重
    样)。你应该学会适应这种令人困扰的感觉,因为这种困扰会让解决问题变得越来越有满足感。

  • 无论你的问题有多么令人困扰,一定有一个现成的解决方案。在你的编程能力提高之后,你将会有更多的自信和更好的解决办法。这不仅能让这种困扰的感觉得以改善,而且还会促使你进一步去解决难度更大的问题。(如果这些事情太简单了,也就失去了趣味性!)
  • 当我们还是小孩子时,我们几乎在每一件事情上的表现都不尽人意,但是我们对此毫不在乎。作为成年人,我们把一件事情彻底搞糟的机会并不多。请拥抱这种感觉吧 - 这是一件很正常的事情,你正在从事着很多人压根没有能力从事的工作。
  • 你应该知道学习编程的第一个小时与第十个小时的情景和状况完全不同,而且也与第一百个小时有很大差异。这个家伙在他的博客上声称,在完成一万小时训练之后,他的高尔夫球球技已经发生了质的飞跃。编程实际上也是如此。
  • 你所具有的魔力远比你自己想象的强大得多。编程就像一种魔法。好好想一想 -
    我们为了编写程序,努力学习和钻研那些传说中的圣书(计算机 +
    互联网)。魔法师可以教授其他魔法师如何创造他们各自的魔法技巧。我们不仅可以同时进行上述这些活动,还能够创造人们喜闻乐见的奇妙设备或装置。(如互联
    网和移动电话)。如果缺少了我们这种技能,这些创新根本无法实现。
  • 善于使用互联网。你在学习编程的第一年里碰到的每一个问题,在你之前有很多很多人已经体验过了。所有问题的答案都记录在互联网上。你搜索查询的水平越高,快乐时光就会越快来临。忠告:如果你不理解这些代码的功能和原理,请不要随意使用它们。
  • 作为程序员,当我们编程时,我们会随身携带一个工具箱。这套工具就是我们的所有技能的一种体现。首先你需要学习的东西(变量、循环等等)就像是螺

    丝刀和榔头,你会在每天的工作中用到它们。当你的阅历变得更加丰富时,你开始学习如何使用更加高级的工具,尽管这些工具的用处可能并不广泛,但是在解决某
    些特定问题上非常顺手。(例如,树状数据结构、通配符、Valgrind、各类代码调试器等等)。编程所涉及的绝大多数领域(游戏设计、Web 开发、数据库应用)也都有它们各自的领域问题和解决方案。结果是,你解决过的任何问题,当再次碰到时,将会非常容易解决。

  • 每个程序都是由代码组成的。你可以阅读、修改和鼓捣这些代码,甚至绝大多数由其他人编写的程序。只要涉及计算机方面的内容,学习资源到处都是。
  • 掌握和精通编程的最好方法就是编写很多很多的代码。你需要做的事情就是持续不断地构建程序。作为一名老师,我的最大职责就是尽我所能扶你上马。你的知识和技能一旦超过一个临界值,我坦白地告诉你,只要给你足够的时间,任何问题你都能自行解决。尽管放心大胆地坚持下去。就像一位智者所说,『只要功夫深,铁杵磨成针』。
  • 阅读很多很多代码。总有一些程序员比我们都要『聪明』。他们已经编写了很多代码和程序,如果你愿意的话,你可以随时阅读它们。或许它们现在就存放在 Github 上。
  • 据说,在你学习编程的过程中,掌握第二门语言最为艰难。第一门编程语言帮助你形成了最基本的编程思维模式(我可是认真的哦!),但是,当你开始学
    习第二门编程语言的时候,你就必须重新审视这些基本原则和概念。(如果哪门编程语言不能让你颇费些周章的话,那它或许不值得专门学习)。在第二门语言之
    后,你在学习新语言方面,将会变得非常娴熟。我自己就能在一周之内快速掌握任何一门命令式语言。
  • 没有最好的编程语言。有些编程语言及工具可能在一些特定问题上优于其它编程语言。当你学习不同的编程语言时,不要总是试图迁移你已有的编程思维模式。相反,你应该在新的环境下,学习如何按照新习惯或者新模式进行思考与设计。
  • 保持童心,多做傻事。编程本身就像一套巨大的乐高玩具,充满了各种各样亟待解决的有趣问题。请在让这个玩具变得更加有趣这件事情上多花些心思。这项任务比其他任何一门学科的作业都要有趣许多。
  • 最好的程序员喜欢在工作之余开展一些额外的编程活动。如果你真的擅长编程,你可能会发现你自己从来就没有离开过『工作』。
  • 当你在编程过程中陷入某种困境时,请在纸张上编写你的程序。我没有开玩笑。这个办法非常神奇。在编程竞赛中,这个方法几乎就是标配。(我之所以认为这个办法有效,是因为当你无需考虑语法时,你会有更多脑力用于解决实际的问题。)

我相信我时常还会冒出一些其它方面的建议 - 但是正如上述绝大多数建议那样,如果它们真的非常重要,你一定会积极开动脑筋,自己把它们想出来。

祝你编程愉快 :D

来源:51CTO

时间: 2024-09-16 10:14:31

我想对所有新程序员说的一些话的相关文章

移动开发第五:新程序员最喜欢的6种岗位

国外培训机构 FreeCodeCamp 今年 3 月做了一次「新程序员问卷调查」,15600 多人参与并分享了他们从事的职业和学习编程的方法.FCC 公开了他们的调查数据,本文将按照工作偏好分类,并寻找之间的不同. 伯乐在线补充:在参与调查的 15,655 中: 21% 是女性; 平均年龄 27 岁; 平均在 11 个月前开始学习编程; 28% 的人已经拿到了第一份开发工作; 有 15000 多人参与了 Free Code Camp 2016 新程序员问卷调查, 所以研究者(比如我)才能对"人们

新人 学习方向-我想知道一名程序员需要都了解什么知识?

问题描述 我想知道一名程序员需要都了解什么知识? 我现在是一名大二软件专业的学生,我挺喜欢这个专业的,但是学了一年多有点迷茫,我想知道如果我想好好走下去,我都应该了解什么知识,比如都需要学会什么语言,学到什么程度,谢谢各位 解决方案 熟悉JAVA语言,现在44%的开发者使用的是java语言,16%多的人使用的四C#,13%多点的人使用的是C语言. 如果你也想从事java开发的话,数据库也很重要.大学应该讲的是MySql吧!数据库的增删改.

想成为优秀的程序员这些码德不能缺

我把这些看成是作为一个程序员的基本素质,多数是编码之外的事情: ●代码每天备份:(预防意外导致的任何损失) ●上传代码时写清楚log信息:(为维护这个模块的人着想,有可能是你自己) ●提供接口时不要把问题抛给使用接口的人,升级或者变更接口时不要删掉原来的接口:(为使用你接口的同事着想) ●变量命名要见名知意:(起码不能误导别人) ●在工程中新建一个doc文件夹将项目相关的文档放在该目录下,方便后面维护的人员理解项目和代码:(为维护这个模块的人着想,有可能是你自己) ●签署bug或者转办bug时写

想成为牛逼程序员? 先数数编程语言之父们的头发

有一种生物,人称"程序猿" or "攻城狮" 工作是高端大气上档次,工资是低调奢华接地气! 往往城还没攻下来,头发就先掉下来! 世人眼中的当程序员的必经之路是这样的 找不到女朋友的原因是这样的 事实是否如上所说的那样呢?那就不得而知了,不过深入了解了解那些编程语言之父们头顶的雨林是否茂盛,以及他们的丰功伟绩,没准能得出什么参考标准呢. 01.Java 之父 James Gosling 头顶茂密指数: 第一位出场的就是我们大名鼎鼎的 Java 之父,James Gos

不想早死的程序员们看过来!

5种原因加速你的衰老 小序: 早就听人说,"三十岁前你找病,三十岁后病找你".虽然大多数时候我都认为那是心理暗示的积累作用,但的确感觉在熬夜方面干不过比我年轻几岁的兄弟们了--其实也好解释,人越大越懒:p 刚才宅男在网上闲逛,发现一篇文章,文中提到五种生活方式会加速人的衰老,一开始以为是写给那些抽烟喝酒的人看的,结果看完之后感觉背上凉嗖嗖的--五种我都占全了,不,应该说是大多数程序员都占全了.赶紧转帖过来,提醒大家注意身体. 兄弟们,钱再多.地位再高,死了,都没了!我们的身体是花了数十

我想对所有新手程序员说些肺腑之言

我编程的时间,已超过 20 年了.截至目前,我开的编程入门课,也有六七门了.传授编程的总时间,大约也有 1000 小时了.下面这些话,没有特别的前后顺序,我对自己学员不止说过一次. 欢迎来编程. 编程真的的很难 无论你是多么擅长编程,能拖慢你脚步的唯一因素是你学习和解决问题的能力.随着你的编程愈发提高,你更能体会我这句话了.编程还有个有趣的地方,永远不会觉得枯燥.如果你觉得枯燥,那估计你在什么地方做错了,你应当对在写的代码,做一下抽象,或者优化. 编程同样也会是最让你沮丧的事情之一 正常的编程经

想成长为高级程序员需要这么几个阶段

软件开发是一个奇怪的行业,市场远远供不应求.这是一个已经存在多年的问题,而且随着时间的流逝,愈演愈烈. 我们严重缺乏能够满足需求的人才.这个行业相当年轻.大多数软件项目是失败的.几乎所有的项目都会超出预算.我们解决问题的最佳指导方针可以归结为--"用一些通用方法去解决问题,当然这些方法常常不管用,于是,唯一能做的就是不断地尝试,逐个看看是否奏效". 现在我们把淫浸代码时间超过3年的开发人员称为"高级开发人员".这些人通常把持领导岗位,最终做出来的东西,你懂的--非常

不想做管理的程序员三十多岁以后怎么办?

问题描述 我喜欢写代码.比较热衷技术的东西.不喜欢做管理,自己也不适合. 在咱国家过了三十多岁能做什么? 只有架构师和创业么? 在国外几十岁还在写代码的大牛那么多. 解决方案 继续写代码!资深高级工程师嚒 公司除了CEO还是有CTO的解决方案二:去外资,外资有蛮多30多的程序员解决方案三:那你就继续写代码呗,只不过工资和以前差不多.没人逼你搞管理解决方案四:做个自由职业者呗

高中毕业,我想去看看-屌丝程序员的逆袭之旅

每每我想到很多年前,有一对高中毕业生,买了两张南下的火车票,去探索这个未知的大千世界,我的眼前就会升起一副画,画里面有两个年轻的学生,一个叫无畏,一个叫青春. 1. "擀面的"大家一阵哄笑,我有点懵,大家都在笑什么? "擀面的"又有人高声学了一句,大家又是一阵哄笑. 为安静满脸通红的对我们说,"你们不行!" 我还是很懵逼! 后来我才知道,为安静在培训班的过道,想装x的说一句"on my god",结果发音走调的飞上了天,就成了