这是我在二零一三年对于知乎上的问题「普通人有必要学编程吗?」的回答:
知乎用户黄飞鸿贴的图片,是 NeXT 时期的乔布斯。背景的电脑屏幕上能看到 Paul Rand 给 NeXT 设计的立方体图标。
乔布斯说的话是很典型的黑客理念。赋权于民(empowering),把工具交给民众(《全球目录》的口号「access to tools」),然后从中就能开出花来。
这是非常理想化的软件左派信仰,可惜,电脑产业没有朝这个方向发展。专业化、社会分工、「花钱解决问题」的市场经济信仰取得了胜利。民众没有去学编程,他们花钱请人帮他们编程。
乔布斯在自己生涯的中后期是不是还信奉这一套,我不知道。但他的实际行动绝对是站在「人人都应该学编程」的反面的。HyperCard 被他叫停就是最好的例子。那可能是史上最有名的主张「大家一起来编程」的软件之一,跟今天的 IFTTT 有点像,但影响力远远大于 IFTTT。
苹果里一直有一支力量是主张赋权的。今天在 Mac OS X 里我们还能看到这一派的影子,那就是 AppleScript 和 Automator。但有多少人用它们呢?我认为乔布斯内心深处不是这一派的。
看看 iOS 时代的广告语吧:There’s an app for that。总有一款 app 满足你。这还学什么编程呀。
所以,这个问题要放在一九八零年代问,答案是肯定的。在今天,不,除非妳喜欢编程,不然没有必要学习编程。