黑客与功夫


Paul Graham曾经出版了一本书或者说是文集,叫做《黑客与画家》,比较形象和巧妙的将编程的本质和作画的本质做了类比。阅读本文前,有必要声明和普及一下,这里说的黑客,不是指通过攻击计算机系统而获取信息的人,也不是泛指计算机爱好者,而是指具有较高编程水平和计算机科学认知水平,具有对技术炽热的追求精神,并具有自由开放打破常规的风格的一类人,最早的黑客是Unix操作系统的开发者们以及TCP/IP的设计者们,也包括早起人工智能实验室的黑客。由于黑客也是创造事物,画家也是创作,所以黑客和画家在本质上极具类比性。

image

其实和编程技术同样具有类比性的,可能还要数中国功夫。

image

这要从另外一个维度去类比,功夫不是一蹴而就,而是经过常年累月的积累和练习才能成就的,并且随着时代发展,而不断的演变,融合,推陈出新。一个武学高手,一定是经历基本功,内功,各种章法(如拳法和脚法)和各种兵器的练习,逐步炼成一身功夫。

编程能力也是一样的,都要从入门基本编程概念学起,练习数据结构和算法,锻炼思维能力,再到学习各种编程技术,工程技术,技术框架以及架构和模式,最终成为融会贯通的技术大牛,顶级黑客,当然存在有些人在这条路上中途改变了方向,改做项目经理,产品经理,还有其他高层的管理层面的工作。能成为黑客的,凤毛麟角,这部分人看待技术问题时,能够直接看到问题的本质,并在这基础上进行问题抽象,建模,分解,并实现和完成,如果不是思维层次到达一定高度,很难有这种应对能力,这就是功夫。

image

武侠小说中,有一种功夫叫做九阳神功,是一种融汇贯通的武穴体系,练就后,天下武功皆可附拾可用。

在编程领域存在一类精通多种编程语言,在解决问题时,对各个技术领域的既有能力都信手捏来的高手,他们具有的能力,就像“九阳神功”。

image

现在学习编程并打算从业的人有很多,大家入门的方式都不尽相同,有的是在学校里没怎么学习编程技术,过了面试直接上岗,有的是培训学校接受培训上岗,有的是大学时就是技术高手强势起航的。但是,每个人对技术的认知和态度都不一样,有的即使基础薄弱,但是对待技术却充满热情,具有不断学习的习惯和追求,而有的人即使是掌握更多知识和具备更多的经验,却目的性过强,并非对技术有更高追求,随着时间推移,后者会逐渐的对掌控技术并达到一定高度失去信心,而前者则在技术领域更能有所深耕。

image

学习编程还是内功更加重要,无论现在使用什么语言,什么技术,这都不是最重要的,最重要的是你如何认知,如何思考,如何学习,如何解决问题。

扫一扫关注我们

image