人们最初厌恶编程的10个原因

标签: 厌恶 编程 原因 | 发表时间:2011-06-21 21:12 | 作者:伯乐在线 bo
出处:http://dongxi.net/
  每个人刚开始的编程技术都不理想,所以我们决定列出一张清单,写上大家都能接受的理由,还有提高编程能力的建议。

  0. 编程适合所有人吗?

  开门见山地说,编程并不适合所有人。它比较适合那些有耐心去解决难题,改变生活的人。

  我们就以一个16岁的孩子克里斯蒂安·欧文斯(Christian Owens)为例子吧,他追随他的英雄史蒂夫·乔布斯,从事自己喜欢的工作。他从7岁开始接触计算机。3年后,他获得一台Mac电脑,随后开始自学网页设计。2008年,他建立了自己的公司。 这是一个不少人都知道的小网站Mac Bundle Box。该网站符合苹果的设计指南和风格,在两年的时间中赚到了人生的第一个100万美元。

  他成功的唯一要素,就在于他做什么事都有耐心。所以,如果你发觉自己缺乏某些激励因素,或许那就是你无法取得成功的原因了。我继续研究并最终发现,金钱推动着很多人勇攀高峰。


克里斯蒂安·欧文斯


  1. 编程是一项需要花时间才能掌握的技术

  像其他东西一样,编程本身就是一门艺术。是的,你最初可能会遇到麻烦,但是如果你坚持下去,你的编程技术将会得到提高,你会成为一个干劲十足的程序员。很多人被书呆子、白痴、天才儿童,甚至是编程本身吓到了。不用害怕,无视他们,把精力集中在于你的技术有关的事情上面。我在大学刚开始学习计算机时并不是很了解编程;在我认识编程之前,我是一名敢于提出问题并面对挑战的程序员。


  2. 他们的观点错误

  当人们开始抱怨不懂得传授技术的专家、助教、蹩脚的编译器、集成开发环境,甚至操作系统的时候,我已经习以为常了。只要你不断的抱怨,你的编程技术只会原地踏步。所以,请用积极的态度面对问题吧。

  你知道“梦幻游乐园”游戏几乎都是用汇编语言写程序吗?想想看吧。有志者,事竟成。


  3. 我一点都不理解抽象概念

  编程需要你创造性思考(think outside the box)。当你是初学者时,你会遇到算法、数据结构、协议,还有一大堆让你摸不着头脑的东西。

  慢慢来,无论开始学习什么,都要从点滴做起。如果你不了解维基百科,Google一下,或者问那些知道的人(顺便提一下,这是我学习新事物的秘方)。试着弄懂一些例子,直到你完全理解。

  如果你连基础知识都不知道,你又怎么能弄懂更高深的问题呢?


  4. 等等,我们可以借助Google

  当你在调试代码时遇到困难,或者不知道如何解决某些问题时,Google是你最好的朋友。由于代码抄袭的原因,我并不鼓励借助Google去解决问题。如今我支持这种做法,是因为有很多人也许碰到过相似的问题。你猜怎么着!其他人在Google上面帮助他们解决问题,并提供解决方案。



就这么做吧。每个人都这样,因为这是最明智的办法。

  所以,如果你忘记怎么去生成一个随机数,你不理解一个程序错误,或者你只不过是解决不了某些问题,那就Google一下吧。如果你想更进一步了解如何掌握搜索技巧,请参见国外开发人员 Andriy Solovey 在他的博文《如何使用搜索技巧来成为一名高效的程序员》。


  5. 认真的规划和设计?对,需要未雨绸缪。

  在我帮助他们编程之前,我会先看看他们的算法。如果他们无法提供的话,我会让他们先把算法写出来,然后他们就会知道为什么他们的程序不能运行了。

  所有的算法都是一个框架,是一个程序的根基。很多初学者都不去设计算法,只是根据他们的想法去编程。当问题发生的时候,他们就迷失了解决问题的方向,程序变得难以调试。

  所以下次,省下你自己的时间,把编程的规划写在纸上。直到你知道如何去解决问题之后才动手编程。我是这样做的,这个方法非常奏效。

  你不希望你的程序看起来像个蹩脚的家伙吧。所以你在编程之前得好好地规划一下算法,未雨绸缪。这也是成为一名优秀程序员所需要知道的15件事之一。

  6. 我的程序有一大堆错误!!我该怎么办??

  冷静下来,放松点。错误是难免的,而且出现的频率比你想象的还要多。错误发生的时候,往往伴随着有行数、简单的说明,有时候还有一条建议。返回去尽力弄明白哪里出错了。如果还弄不明白,那就把出错信息拷贝复制粘贴到Google中。大多数时候都能找到相应解决方案。

  另外我们可以试试以简短片段的方式编码和频繁地编译。这个方法可以保证你不用关注所有你不理解的错误提示信息,并且将提高你的编程速度。


  7. 我不理解编程语言、语法、或者编程环境

  好吧,如果你不理解这些东西,那确实是一个大问题。在我的高级设计培训班,我们正在用Ogre3D语言设计一个视频游戏。我跟你说吧,这不是最好的经历,因为我们从课程一开始我们一直在编程,从来就没有很好地认识编译环境。我们终止开始了8周的项目,不得不花费两个星期,平均每天8小时的时间去做这件事。最后几天我们花了超过14个小时的时间,同时上了3-4节其他课程……

  这段经历教导我们在开始编程之前,要预先花时间去真正理解与编程语言相关的所有细节,语法、概念和编译环境有关的所有东西。这样做,节省的不仅是小时数,而且是天数。


  8. 但这个问题好难!


看看我是如何解决这些难题的!!

  你有程序算法吗?这是你的第一个问题。如果你还没有解决,那就休息一下吧。人们在离开电脑时,往往会想出怎样去解决问题。我试过很多次在睡梦中制定出问题的解决方案。很多时候一个程序员需要的全部东西,只是一些新鲜的空气,甚至一种娱乐而已。这能让你的思维焕然一新,可能会让你看到之前你所看不到的东西。

  甚至有时候,解决问题的最好办法需要一个优雅的环境。所以下次你在尝试为一个IPhone游戏提供费解的主意时,试试Doodle Jump这款游戏吧。你所需要做的只是跳跃运动,别人会设法卖出五百万张这款游戏光盘。


  9. 我在等我的朋友来解决这个问题

  为什么一些人编程不怎么样,这也许是上面所提到的之外的头号原因了。如果你所做的就是等你的伙伴来帮你解决问题,那么你将学不到任何东西。很明确的说,他们花了时间去试着解决问题,不过最终,经验才是解决问题的关键。

  所以停止去依赖别人,以及学习如何独立做事。如果你无法这样做,或许就是你为什么不能成为一个大人物的原因了。(也许你有幸成为像Mark Zuckerberg那样的人)。

  感谢Tony、Jay、 Chris、 William、Miguel、 Al、 Roby、Joseph、 Felicia、Benjamin、Jesse、 Pierre和Erick给出的建议。



  译文出处:伯乐在线 - 职场博客 - 程序员
  译文链接:http://www.jobbole.com/entry.php/945

  原文:Talk Binary  翻译:敏捷翻译 - 李盛晖

  如需转载,但请注明原文/译文出处、译文超链接和译者等信息,否则视为侵权,谢谢合作!

   查看评论

相关 [厌恶 编程 原因] 推荐:

人们最初厌恶编程的10个原因

- bo - 东西
  每个人刚开始的编程技术都不理想,所以我们决定列出一张清单,写上大家都能接受的理由,还有提高编程能力的建议.   开门见山地说,编程并不适合所有人. 它比较适合那些有耐心去解决难题,改变生活的人.   我们就以一个16岁的孩子克里斯蒂安·欧文斯(Christian Owens)为例子吧,他追随他的英雄史蒂夫·乔布斯,从事自己喜欢的工作.

Table被web编程弃用的原因

- - WebHek
Table要比其它html标记占更多的字节. (延迟下载时间,占用服务器更多的流量资源. Tablle会阻挡浏览器渲染引擎的渲染顺序. (会延迟页面的生成速度,让用户等待更久的时间. Table里显示图片时需要你把单个、有逻辑性的图片切成多个图. (增加设计的复杂度,增加页面加载时间,增加HTTP会话数.

为什么人们厌恶帝制

- Alex - 南方周末-热点新闻
古代没有精确统计,惟一能反映国家兴亡、社会荣衰的指标就是人口的增减,而历史上中国人口的大起大落,可以说是任何别的民族都没有的.

【外刊IT评论网】函数式编程很难,这正是你要学习它的原因

- ZB - 外刊IT评论
本文是从 Functional Programming Is Hard,That's Why It's Good 这篇文章翻译而来. 很奇怪不是,很少有人每天都使用函数式编程语言. 如果你用Scala,Haskell,Erlang,F#或某个Lisp方言来编程,很可能没有公司会花钱聘你. 这个行业里的绝大部分人都是使用像Python,Ruby,Java或C#等面向对象的编程语言——它们用起来很顺手.

Hadoop Streaming 编程

- - 学着站在巨人的肩膀上
Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如:. 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer). 本文安排如下,第二节介绍Hadoop Streaming的原理,第三节介绍Hadoop Streaming的使用方法,第四节介绍Hadoop Streaming的程序编写方法,在这一节中,用C++、C、shell脚本 和python实现了WordCount作业,第五节总结了常见的问题.

Shell编程

- - 博客园_首页
本来打算寒假回家好好学习Linux的,为以后学习嵌入式打好基础的. 回家之后的学习效率非常低,之前为了搭建Linux环境,折腾了很长时间,学到现在也就勉强才把Shell编程学完了. 今天就把自己学习的相关知识点总结整理一下. 个人感觉shell程序跟windows下的批处理文件有点像,就是将一些系统命令写进一个可执行文件中,然后执行.

用 AlphaCode 编程

- - 奇客Solidot–传递最新科技情报
至少在部分问题上 AI 程序员能与真正的程序员竞争了. Alphabet 旗下 AI 子公司 DeepMind 宣布了 AI 代码生成系统 AlphaCode(PDF),声称测试显示其水平在编程竞赛中已经具备了竞争力. 计算机科学家 Scott Aaronson 也为 AI 在编程方面的进步 惊叹不已.

脱发的十大原因

- Marc - 译言-每日精品译文推荐
来源Top 10 Causes of Hair Loss. While it’s easy to blame your parents for your thin hair or balding scalp, not all causes of hair loss trace back to genetics.

Node.js 盛行的原因

- - ITeye资讯频道
在过去的18个月,Node.js的使用率呈指数级的增长,很多大型互联网企业也纷纷转向Node.js:. Groupon抛弃Rails,转向Node.js. 看eBay如何评价他们的Node.js首次尝鲜. LinkedIn缘何抛弃Ruby,转投NodeJS怀抱. JavaScript社区开发者调查:服务端JS盛行.

编程能力与编程年龄

- - 酷壳 - CoolShell.cn
程序员这个职业究竟可以干多少年,在中国这片神奇的土地上,很多人都说只能干到30岁,然后就需要转型,就像《 程序员技术练级攻略》这篇文章很多人回复到这种玩法会玩死人的一样. 我在很多面试中,问到应聘者未来的规划都能听到好些应聘都说程序员是个青春饭. 因为,大多数程序员都认为,编程这个事只能干到30岁,最多35岁吧.