编程真的需要天赋和激情吗?

  当编程这种工作被举高到常人不及的高度:

  “你不仅得有天赋,还得具备激情,才能成为一名优秀的程序员”。

  所造成的影响并不是一个良性,充满正能量的循环。这句话传达的好像那些优秀程序员当他们还是孩子的时候,他们就打算将来去写代码。如果你缺少上述两个因素之一,要么不会走得太远,不论是哪种,其实都是因为你不适合编程的缘故。这种根深蒂固的成见不仅是完全错误的,而且还是有害的。

  Jacob Kaplan-Moss指出:

  神化“天才程序员”是极其危险的。一方面,它设置了极高的准入门槛,吓跑了许多想成为程序员的人。

另一方面,它也困扰着那些已经成为程序员的人,因为这意味着,如果你没有编程“天分”,那么基本上,你将一事无成。导致的结果是:作为一个程序员,你所有的时间都用在了学习编程和工作上,从而对生活质量产生极大的影响…….

我们需要摆脱这种态度。编程只是一堆可以学到的技能,它不需要太多的天分,而且成为一个平庸的程序员并不可耻。

  Rasmus Lerdorf的言论经常引发争议:

  1.   其实我真心讨厌编程,但我热爱解决问题。
  2.   有些人的确是真的喜欢编程。但我不理解为什么他们会喜欢编程。
  3.   我不是一个真正的程序员。我会把东西扔到一块儿,直到它能工作,然后就继续前进。真正的程序员会说“是的,虽然它可以工作,但你泄漏了内存。我们应该解决这个内存泄漏的问题”。而我会每隔10个请求就重新启动Apache。

  从他的话中,我们很难看出他对计算机的激情。像Jacob Kaplan-Moss和Jacob Thornton,他们对神化编程嗤之以鼻,所以,Rasmus Lerdorf或许也会称呼自己为伪程序员。

  David Heinemeier Hansson提到:

  这其实挺有意思的;当我习惯于使用PHP或Java开发的时候,我总是在找别的可替代的东西。我一直在寻找另一种编程语言,另一种……不一样的东西,在某种程度上能够让我觉得正在使用的语言不那么无聊的东西。

  我是绝对不相信我会成为一个程序员的,当我用PHP和Java工作的时候。

  他的自我介绍,看起来和“计算机天才”毫不相干。而且最后,他爱上的并非计算机本身,而是Ruby——这种语言的优雅。如果Ruby没有被发明,那么DHH可能现在正在做完全不同的事情。

  从上面这些事例中,我们证明了大多数人都对程序员的过高看待持反对意见。

  一篇Medium文章中有一些很有趣的语录,让我产生了共鸣:

  •   总有人告诉你,你这样做是错的
  •   总有人告诉你,你不是一个真正的程序员
  •   担心“极客声誉(geek cred)”相当于慢性自杀

  这篇文章希望能够改变大家对编程的传统看法——成为程序员需要天分和激情。我想对开始编程之路的初学者,正在怀疑他们是否合格的程序员说:多尝试一些不同的学习方式,不要担心什么资格,不要轻信那些毫无根据的故事,也不要改变你学习编程的心态。不要放弃,除非你在尝试多种不同方法之后真的依旧一头雾水。编程不需要天赋,也不需要激情!

时间: 2024-11-05 20:45:02

编程真的需要天赋和激情吗?的相关文章

都25岁了,还能开始学Java编程么?

编程这个东西,你说它简单就简单,你说它难的确也挺难的.大家都说Java编程是吃青春饭的,目前在国内是这样的,一般年龄大一点都转其它方向,或者当领导了.本质上来说编程这个跟年龄关系不大,有兴趣,什么年龄都可以.有一个朋友都当了好几年教师了,发现没太大意思,让后出来闯天下,面试前看了几天c语言,就上手工作了,且干得很不错.我们都知道江民杀毒软件王江民,他也是大龄学编程. “他38岁开始学习计算机,两三年之内成为中国最出色的反病毒专家之一;45岁只身一人独闯中关村办公司,产品很快占据反病毒市场的80%

JAVA--网络编程

每次一提到网络就感觉瞬间变得高大上了,可是网络编程真的有那么神秘吗?接下来让我们一起来复习一下吧. 很多人把网站编程等价于网络编程,在这里给大家纠正一下,网络编程!=网站编程,那么何为网络编程呢?网络编程时基于TCP和UDP的一种编程,例如:游戏类.社交类产品.对于TCP通讯,它是一种有问有答的一种编程,而UDP是一种类似于对讲机的一种通讯,两者各有优点,TCP相对UDP更安全,UDP相对TCP传输更快速,在游戏开发中经常使用UDP通讯. 对于他们之间的深层区别,我就不是十分清楚了,如果你知道,

零基础学编程:你可以的!

好多人都在担心零基础能学编程吗?可以学会.学好吗? 我的回答是:可以.零基础可以学会编程,但你在学习前应该明白两点,或者说你应该做的有两点:一是你要找个好的平台,二是自己要下定决心,要坚持下去. 好的平台指的就是培训机构.找一个好的培训机构,找一批教学经验丰富的老师,可以让你达到事半功倍的效果. 尚学堂有一批优秀的老师,从技术到生活,从专业思想逻辑到追求,指导每位学员,零基础入学到专业人士并非遥不可及.     我是在尚学堂学习的,这里的老师教学经验都很丰富,都有过项目开发经验,老师也都很负责,

老菜鸟趣谈:对编程初学者的一些建议

对编程初学者的建议 PS:这篇文章我只在微信公众号和头条网发布了,忘了在博客里发. 我是程序员,我为程序员代言. 现在真的是编程的黄金年代,程序员从来不曾这样供不应求,特别是嵌入式领域. 现在哪怕是银行,也需要几个程序员,负责网站的编写,App编写,数据库管理,服务器管理,安全管理,等等. 所以学会编程你就有福了,真的不是夸张,我到目前还是菜鸟一个,真的越学习越感到自己了解得就如牛顿所说:“我只不过是在海边捡到了几块贝壳的孩子,尚且有些许欢喜,岂知知识的海洋正在眼前”. 也没有一个时代像现在这样

准备踏入IT编程的学子们,你们第一门编程语言选谁? Are You Ready? Go!

Are You Ready? Go! ——第一门编程语言选谁? 金旭亮 说明: 这篇文章是专门针对大学低年级学生(和其他软件开发初学者)写的,如果你己经是研究生或本科高年级学生,请将这篇文章转发给你的师弟或师妹,希望这篇文章能够帮助他们少走弯路,顺利地迈入软件开发的大门:如果您是一位有经验的软件开发者,或者是关注计算机教育的同行,也敬请提出宝贵意见. 发表看法请在本贴评论,或者在我的新浪微博“北理工教师金旭亮(http://weibo.com/jinxuliang)”上相互沟通. 本文仅代表个人

iOS防御性编程

防御性编程是一种细致.谨慎的编程方法.为了开发可靠的软件,我们要设计系统中的每个组件,以使其尽可能地“保护”自己.我们通过明确地在代码中对设想进行检查,击碎了未记录下来的设想.这是一种努力,防止(或至少是观察)我们的代码以将会展现错误行为的方式被调用. 防御性编程是一种编程习惯,是指预见在什么地方可能会出现问题,然后创建一个环境来测试错误,当预见的问题出现的时候通知你,并执行一个你指定的损害控制动作,如停止程序执行,将用户重指向到一个备份的服务器,或者开启一个你可以用来诊断问题的调试信息.这些防

[注]新手学习编程的最佳方式是什么?

回答这个问题是我最近两年来唯一的关注点.我觉得此处提及的许多资源尽管都很不错,然而我却注意到,成功的学生,无论使用哪种资源,往往都会在以下三个方面,比其他人有着更好的表现. 聚焦习惯而不是目标 独自学习非常痛苦 项目实践 聚焦习惯而不是目标 聚焦习惯而不是目标听起来似乎不合常理,但是请听我把话说完 – 这是一个有关平衡的问题.凡是和我共过事的人都知道,我有时就像傻子一样,在一天内,引用<蝙蝠侠:侠影之谜>中 Ra’s Al Ghul 的话多达 3-4 次. Bloc 公司的投资者们对于我在董事

新手学习编程的最佳方式

作者: Roshan Choxi  来源: 图灵社区  发布时间: 2015-05-30 17:26  阅读: 3775 次  推荐: 21   原文链接   [收藏] 英文链接: What are the best ways for a complete beginner to learn programming 回答这个问题是我最近两年来唯一的关注点.我觉得此处提及的许多资源尽管都很不错,然而我却注意到,成功的学生,无论使用哪种资源,往往都会在以下三个方面,比其他人有着更好的表现. 聚焦习惯

一个7岁女孩能告诉你的关于编程的事

准备好了吗--一个7岁女孩将要让你自叹不如. 我已忍不住内心的冲动,要告诉你们关于菲茨杰拉德的7岁女儿的故事.在花了一个小时学习编程后,她对编程得出了令人赞叹的体会.我们很幸运,这个聪明的小女孩把她的心得总结成了简洁明了的几个小点,所有的我们都应该停下手中的工作,来思考一下她写的内容. 就是这张小纸片吗?上面写的什么?是她的习得,一共有5条. 纸片上的内容: 我学到的关于编程的5件事 1)计算机很傻,它只会做那些你让它做的事. 2)编程真的很难!(你必须非常的认真!) 3)你告诉它去做事情时必须