时不时地我们可以听到有人在说,我们需要更多的程序员。现在的孩子应该在学校里就学习编程。编程的地位就应该像曾经的写作文一样。
我不同意这样的观点
每个领域都会有一些人登上金字塔的顶端,成为这一行业的权威,更多的人则只能被称为优秀,当然更多更多的人位于平均水平,庸庸碌碌,以及,还有一些人就像溺水之人一样在苦苦挣扎。
让我们面对现实吧,并不是每个人都适合每一份工作。正如大多数程序员成不了销售、演员、医生和律师,同样的,大多数律师、演员和销售也干不了程序员的工作。万金油型的天才总是很***的。
如果你硬是要将更多的人塞到某一行业中去,那么唯一会流动的群体只会是那些平庸的甚至是更低水平的人群。但是这样一来,最终只会降低该行业的平均技能水平。
现在,我们还有一个全球性的问题,即产品越来越依赖于软件。所以,我们需要满足软件开发不断增加的需求。
因此,有再多的程序员也无济于事。而且有的程序员(低于平均水准的)越多,反而越会降低软件的质量。很多人对此深有体会。所以,真的不要再让事情变得更糟了。
我们需要的,是更好的工具
几乎每个人都会认为随着时间的推移工具变得好多了。事实真的如此吗?
我14岁就开始编程,距今已经30多年了。我的***台电脑还只有一个4MHz的CPU和一个16KB的RAM。这之前我从来没有写过代码,也没人来教我怎么做。我只有计算机附带的文档以及文档附带的工具。这意味着我只有一个内置的BASIC解释器。但是,我还是设法在几个小时之内写出了我的***个(很简单)游戏。
想象一下,如果这样的情况发生在今天。给一个14岁的从未使用过计算机的人一台还在包装盒中的电脑,看看他需要多少时间才能写出自己的***个程序。我猜啊,他要么只需要几周时间要么就根本完不成。
因为尽管我们在过去几十年间取得了很大的进步,让计算机变得越来越易于使用,但也更复杂了。你要做的不光是拆箱,插好插头,开启机器。你还需要创建用户帐户,填写注册,下载所有***的安全更新,寻找并下载开发工具,然后还得阅读和理解一些超级复杂的文档,来为自己选择合适的编程语言。
只需要看看今天的API和类库的大小就一清二楚了。如此庞大的规模搞不好已经阻碍很多人进一步的探索。很多东西学过就忘记了。
我们需要一些简单易学,适合初学者的工具。
我们需要能够让我们轻松地从Windows编程切换到Mac编程、Linux编程和Web编程的工具。
我们需要可以协助日常工作的工具。
我们需要能让我们专注于实际任务的工具。
这才是解决问题的方法。程序员不在多,关键是工具要好。