这两天 code.org 发起了一场颇为宏大的“一起来学代码”的活动,请了不少名人来做代言。我的父亲写了一条很有意思的评论,他的观点反映了许多不怎么热衷于非盈利性软件工程或者黑客行为的人的想法:
过去的 35 年里,我一直都会用几种语言很流畅的写代码(虽然最后五六年里非常无聊)。其实对大多数人来说,编程要比学习说话、交流、阅读协作或者掌握基本的数学技能简单的多。真正有挑战性的,其实是种田,需要更广博的支持和不断的学习。要想种好田,你得同这个很大程度上依然模糊不清的真实世界交流,而且种田种的好不好可是会从根本上影响到这个星球上所有人的生活的。
为什么程序员在自己搭建的精神世界中自满的活着,却能享受如此的地位和财富,而那些着手处理着社会和生物圈之间最重要的部分的农民,却如此为人不齿呢?说“所有人都应该学代码(或者学跳舞、唱歌)没问题,但是更重要的是每个人都应该学会如何去同自然界相处,明白最基本的食物、水和歇身之处是怎么来的。
编程的能力并没有给开发者带来什么东西,编程只是简单的工具,帮助你简单化问题,如此就能更有效率的解决它。真正让肉体凡胎的程序员化身为软件世界的半神的,是他们清晰界定并在抽象世界中呈现问题的能力。编程充其量也就是建筑工人手中的锤子或者外科医生手里的解剖刀。没错,你得知道如何去用它,但是更重要的是知道用它来干嘛。
即使有超人的编程能力也不会让你成为软件之神继而一夜暴富,这世界上有着太多聪明绝顶的优秀程序员也就刚刚挣够奶粉钱呢。能否发财取决于你想解决的是什么问题,像 Facebook、Google 这类解决广告效果提升问题的自然是能赚钱的,其次还有做高频度交易算法的,以及做一些可以让 VC 等投资者拿来赚更多钱的东西,不一一列举了。
code.org 真正宣扬的是将编程的内在艺术传授给更多人。的确,它请了一堆利用上述策略发了大财的人,但是请记住采用“只要做了这件事,你就能发大财买豪宅娶漂亮老婆”这种策略做广告在人口统计学上已经被无数次证明有效了。code.org 真正希望做的是教导孩子如何看待分析问题,如何将问题呈现出来以帮助他们明白自己希望解决的问题是什么,给他们一种新的工具帮助他们表达和沟通遇到的问题。