我很吃惊在Hacker News的头版头条上竟然出现了一篇叫做《别学编程》的文章,而更让我吃惊的是文章的作者竟然是CodingHorror的创办人、StackOverflow上大名鼎鼎的Jeff Atwood。
Jeff认为,并不是每个人都需要知道编程知识,事实上,这世界上不需要更多的水平一般的程序员。所以,他对最近兴起的像CodeYear这样的旨在全民编程知识普及的运动并不热心。
因为Jeff 使用了我设计的CodeYear网站来说明他的观点,我想有必要对此做些反驳。
我认为每个人都应该学习编程,有一个简单的理由;知道如何编程是一种强大的能力。
我并不认为这世界上还存在有很多的其它的知识技能可以像知道如何搭建一个网站那样让你从无到有创建出一个东西并以此接触到如此多的人。
就像上周,我冒出来一个想法,然后用2天时间建起了一个网站。仅在几个小时内就有1万多人访问它。
想想吧:我做的东西触及到了1万多个活生生的人,而且对他们的生活产生了影响(或多或少)。如果不知道编程,一个人可能永远做不到这样。
什么是编程?
也许你会争辩:我并非一定要知道如何去开发一个网站。你也许还会认为用WordPress搭建一个网站不能算是“编程”。
但是,从一个不懂技术的人的角度上看,用Wordpress搭建一个网站和用Ruby on Rails创建一个网站具有相同的复杂度。
“学习编程”并不是说要你成为下一个李纳斯·托沃兹(Linus Torvalds)那样的人,就像是“学会做饭”并不是意味着你要开一个3星级的餐馆。
它只是简单的表示你对计算机的工作原理有一些基本的掌握,而不是让一个会说话的回形针告诉你怎么做(也许你最终能学会如何编程开发自己会说话的回形针)。
我们首先要做的是告诉人们学会编程不是那么难,在他们的脑子里输入这样一种观点能让他们更容易学成。我相信这才是像CodeYear这样的网站想要做的事,我认为这是一个非常有意义而且能实现目标。