编程难在哪?都怪人类长了个好脑子,“傻”点就简单了

21世纪初,写代码只能手写,然后再码到电脑上调试、运行。随着中国经济的发展、编辑器的成熟,编程越来越简单,甚至只需要在编辑器上,敲一个字母,就能补全整个语法。

Python的火爆,再一次降低了编程门槛。似乎,人人都可以学习编程的时代已经到来。然而,当你购买了一门Python课程,还没学几章,只是碰到运算符、字符串、布尔型、赋值这些计算机名词时,开始哭爹喊娘了:编程怎么就这么难呢。

编程,到底难在哪里?

编程难在哪?都怪人类长了个好脑子,“傻”点就简单了

人类长了一个好脑子,成了学习编程最大的阻碍。

假如你想出门买十斤苹果,心里最多承受的价格是10元一斤。走到经常买水果的一家店,发现还没看门。得!换下家,这家13元一斤,跟摊主讲价,摊主不同意降价,再换一家!到了第三家,终于买到了10斤苹果,满载而归。

你真聪明!是的,不用怀疑。这一系列过程,你很轻易的做出了判断,并成功的购买了到了你想要的东西。

如果,人类很傻呢?傻到无法在购买苹果的过程中,做出判断呢?只能在家里先想好,然后再出门买。结果会是什么样子的?

编程难在哪?都怪人类长了个好脑子,“傻”点就简单了

编程,就是这么一个过程,你需要把自己当成一个“傻子”,一定要预先想到在购买苹果中,会发生的一切可能性,如果没有想到,一定买不到苹果,甚至回家都成为难事。

人类活在当下,只需要对已经发生的事件,做出判断即可。而编程却要预知未来,预言并解决未来可能发生的一切。

古今中外,预言家预言不准,可都没什么好下场。秦方士卢生预言秦始皇长生不老,结果长生丹没炼成,发生“坑儒”事件。文艺复兴时期,意大利卡尔达诺预言了自己的死亡,可时间到了,自己却没死,为了让预言成真,他自杀了。

如果我们的脑袋瓜子不好使,想要出门买10斤苹果,该如何达到这个目的呢?

编程难在哪?都怪人类长了个好脑子,“傻”点就简单了

我想买10斤苹果,最高价限定10元/斤。附近有三家水果店,设为水果店0、水果店1、水果店2。

走到一家水果店,如果没开门,则结束“到这家水果店买水果”;

走到一家水果店,如果没有苹果,则结束“到这家水果店买水果”;

走到一家水果店,如果苹果不足10斤,则结束“到这家水果店买水果”;

走到……如果价格高于10元,则进入讲价流程;

如果摊主愿意低于10元/斤的价格卖给我,则购买苹果,并回家,如果仍然高于10元/斤,则结束“到这家水果店买水果”并执行以上流程3次。

当然,这样的程序并不严谨,但可以体现出编程思维,与普通思维的不同。

事实上,出门买东西,多么简单的事,可到现在,还没有哪家机构感宣称自己做得到,程序的复杂度不可想象。

编程难在哪?都怪人类长了个好脑子,“傻”点就简单了

首先,你怎么判断摊主给你的是苹果,而不是其他?苹果的质量是否达标?是用手拎还是背着?回家途中会发生什么意外?

如果你是智商为0的生物,怎么到达水果店?买完怎么回去?无论哪一步,都可以衍生出一个庞大的代码量。

这便是编程最难的地方。

现实中的编程,没有那么复杂,只要你的程序能解决一个问题,并且不存在明显bug,这就是一个好程序。

编程难在哪?都怪人类长了个好脑子,“傻”点就简单了

这么一来,编程好像又不是很难。做个登录功能,限定账号为英文或数字,密码要由英文、符号和数字组成,这不就完事了吗?

编程难在哪?都怪人类长了个好脑子,“傻”点就简单了

考虑到安全性,我们给把密码改为了密文的形式,用户可能没有账号,要注册,于是加了注册的入口,他可能还需要用其他方式登录……

编程好像又难了。一个简单的功能,背后有如此之多的地方需要思考,那如果写一个淘宝网站呢?岂不是100年也写不出?

事实上,这个问题并不存在,有句话叫做“站在巨人的肩膀上”,如今编程有了各种库和框架,极大的提高了编程效率,我们不再需要考虑太多底层的东西,就可以写出很完美的程序。

人类的大脑,更像是上帝写出的程序,它能很轻易的解决日常生活中的一些问题。也正因为它太过完美,我们不需要事前考虑太多,这是一个致命的问题。

假如,我们能“傻”一点,在平常生活中,就具备了编程思维,那么编程又有什么难度呢?反过来,编程思维也会影响日常的生活,正如1998年乔布斯接受采访时说过的话:

编程难在哪?都怪人类长了个好脑子,“傻”点就简单了

“所有美国人都应该学习编程,学习一门编程语言,学习编程教你如何思考,就像学法律一样,学法律的人未必都成为律师,但法律教你一种思考方式。同样,编程教你的,也是另一种思考方式。”


分享到:


相關文章: