现在的位置: 首页 > 综合 > 正文

不是人人都适合编程

2017年12月17日 ⁄ 综合 ⁄ 共 2093字 ⁄ 字号 评论关闭
不是人人都适合编程 

最近一部名为“学校不会教的东 西”的短片甚嚣尘上,引起了大众的 关注。短片的中心思想就是“人人都 能编程”,而且其中还有几位知名富

(顺便提一句,这些富豪的钱是通过雇佣别人编程而赚 取的,并非靠自己编程。)

前几天我弟弟来了,他是一个做 梦都想发财的主。他对我说:

和你一样,我要编程”。毫无疑问, 他看过了那部短片。

我想说的是,这一切根本不靠 谱。不是人人都适合编程(简单的入 门除外),更重要的是,并非人人都 能把编程作为职业。

短片一开头是 Bill Gates 和 Mark Zuckerberg 等知名富豪在宣 传“我还是小孩子的时候就开始编程 了”,然后显示一下他们最早的启蒙 作品,例如小游戏之类的。之后, Dropbox 的创始人 Drew Houston 出现了,称“编程和玩乐器、做运动 差不多”,然后大学期间学过编程的 NBA 全明星 Chris Bosh 会介绍他 在编程方面遇到的困难和苦恼,但实 际上却并没有指出有多困难。

他们说的这些并不假。一个有好 奇心的小孩学习编程就像学习其它任 何无关紧要的事情一样(例如乐器、 运动、杂耍、针线等)。但后面的内 容就开始误导了。

Facebook 早期工程师 Makinde Adeagbo 出来说很多编程 都是很简单的。从某种意义上说,这 是对的。但我同样可以说打篮球时很 多动作也是很简单的,比如横穿球场 或是投球。横穿球场是打篮球中的基 本要素,但并不是会横穿球场就表示 篮球打得好。实际上,你可能每次都 能漂亮地横穿球场,却根本打不好篮 球。

然后我最喜欢的片段来了:Bill Gates 在那说:“加,减,这就是 编程”。就是这些,这些就是你学会 编程所需的唯一前提。

这话只有一半是对的。你确实无 需太多数学知识就可以编程。但问题 是,随着你对编程了解得越多,就会 发现数学必不可少。我要说,想当一 名成功的程序员,必须要有良好的代 数基础,若你想达到更高的层次,你 还需要学得更多。且不说这条前提, 我认为他传达了一个错误的信息,那 就是将最低门槛描述为成功的方法。

“你只需要知道加

 更准确的说法是:

 和减。但你最好多学一点数学,因为 除了《 7 天学会Java》之类的入门 读物以外,当你阅读更有内容的编程 书籍时,就需要用到数学。”

短片的最后开始介绍程序员的生 活。奢华的办公室、免费的食物、优 美的景色,当然,还有大把的钞票。

我被短片中的一家公司录取了: Facebook。但我代表其他的程序员 说,这些看着很难受。

这些条件确实存在,但对于程序 员而言,它们是特例,并非常态。大 多数办公室仅配备咖啡机和冰箱,供 你存放自己的食物,通常都被别人的 食物塞得满满的,且一放就是一个星 期。程序员们坐在大楼的一个个灰色 小隔间里,还要遵守严格的规章制 度。

我要做的就是被 Facebook 录 取。他们告诉我这很简单。他们录取 了成百上千的人,编程很简单。事实 并非如此。Facebook 的面试可不只 是“加和减”,他们给你的问题也绝 不是有趣的小游戏。其中一道面试题 需要了解微积分,另一道题需要说明 高度递归函数的时空复杂性,还有一 道需要掌握程序员使用的抽象工具, 例如正规语言和自动操作。

我弟弟想干我这一行,他认为能 比在 FedEx 当个工人赚得钱多得 多,过上小奢侈的生活。短片里也是 这样宣传的。但我想他并没有看清现 实。

这个周末我坐在这里,给一个我 完全不了解的代码库写代码。我觉得 如果不按时完成,我这份工作就危险 了。我编写的不是有趣的游戏或其它 具体的东西,实际上,如果一个外行 问我在编写什么,我根本没法说清 楚。我或许会说:“我在编写一种东 西,它能够读取代码,根据代码推导 出信息,其他人就可以在他们的工具 里使用这些信息”。我想这不是我弟 弟或其他任何人预想中要做的事情。

我能够早上 10 点上班,晚上 7 点回家吗?不行。编程不是按时上下 班的工作,它总是需要更多的时间来 完成任务。而且永无休止,因为任务 源源不断。总是有新功能要加,有新 bug 要除。你总是有理由再留下一两 个小时。就我个人而言,我感觉时间 如此不够用,我必须加班到凌晨 12 点到 1 点才能平衡我的工作和个人 生活。这可不仅仅是我的状态,很多 程序员都是如此。

我并不想打击刚开始学编程的新 人,它确实是一件能增强能力的事 情。但对于我而言,编程不是一两个 周末或 52 个周末就能搞定的事情, 而是我付出了艰辛的努力,且放弃了 生活中许多其它的事情才学会的。我 很难告诉我弟弟或是其他任何人,学 会一点编程的成果(不是名誉和财 富)就能改变他们思考的方式,而且 我也不认为这件简单的事情对大多数 人是一种好的推动。

简而言之,不是人人都适合编 程。它不是这部短片或电影“社交网 络”里所描述的有趣好玩的工作。它 也不是一项令人精神爽朗的社会活 动。你要花费大量的时间坐在电脑屏 幕前,盯着那些五颜六色的文本文 档,思考,思考,打字,生气,并奇 怪自己为什么会选择这种死坐着不动 的生活。

抱歉!评论已关闭.