原文作者:Jeff Atwood
“所有人都应该学习编程”(Everyone should learn programming)——这个“病毒”已经广为扩展,达到了失控的地步,以致于纽约市长竟然也在2012年郑重宣布他要学习编程了。他在Twitter上这么说:
他摆出的这种高姿态当然是为了获取纽约技术社区的选票,但如果市长先生真的在他的工作中玩起了JavaScript代码,那么纽约州的政治必定存在一些深层次的、糟糕透顶的问题。即使Bloomberg先生真的学了编程,他最终也会对Adam Vandenberg怀有歉意,因为我们将看到的是这个:
10 PRINT "I AM MAYOR"
20 GOTO 10
而Adam早在2012年1月就在Twitter上发布过这两行代码了:
值得庆幸的是,这种奇特事情(市长开始他的技术之旅)发生的概率为零,即使只是玩玩而已。原因很简单:纽约市长应该把他的时间花在纳税人出钱雇用他去做的事情上。从市长办公室的首页(http://www.nyc.gov)公布的信息来看,市长应该致力于学校的旷课问题、公共交通的改善、每一年的城市预算……真的要我把每一项都列出来吗?
有些人鼓吹:“编程是一项基本技能,我们应该像教阅读、写作和算术一样教孩子们学习编程。”我想问问那些人:你能解释一下吗——如果Michael Bloomberg先生某天早上一觉醒来突然变成了一名Java程序员,他如何能在日常工作中更好地领导这个美国最大的城市?在我看来是很显然的:拥有娴熟的阅读技能和写作技巧,还有至少中学水平的数学功底,这些对于做好政治家这份工作才是最基本的。说到这一点,也许任何工作都是这样。但是,理解变量、函数、指针、递归也有这么重要吗?那我就不明白了……
我写过一篇博文,题为“对于编程:要么热爱,要么离开”。不难看出,我本人是热爱编程的。我也相信,在特定的情境之下,编程对于某些人来说是很重要的。但是,很多技能都是这样子的啊。我不会敦促每个人都去学习编程;相比之下,我更愿意建议每个人都去学会怎么修水管。这听起来很荒谬,对不对?
“所有人都应该学习编程”这个倡议是不对的,不仅仅只是因为它错误地把编程与一些生活的基本技能(阅读、写作、算术)相提并论,其实还有很多其他的方面:
我觉得,我还是能够支持学一丁点儿编程的,但目的只是让你对代码有一个感性的认识,并且你可以了解在碰到什么问题时通过编程来解决是合适的。不过,即使没有经过特殊的专业训练,我也能一眼看出水管问题。普通大众(以及他们的政治领袖)只要对电脑和互联网的原理有了基本的理解,也许就已经能够很好地利用它们了。善于利用互联网的能力正在成为一种基本的生活技能,我们应该首先担心的是这个,而不是冒冒失失地开始学习编程。
请不要为了学编程而学编程!更别为了高工资而从事编程这个行当。我诚挚的建议是,我们应该把时间花在:
这些技能比单单学会编程要强得多,而且会让你在生活的方方面面受益。
原文:http://blog.csdn.net/happydeer/article/details/18134919