黑客,是一种创造者;与其他的创造者或创作者类似(如:作家、作曲家、画家、雕塑家、建筑师等),具备目的性,也即解决某一个特定的问题。例如《战争与和平》为描绘社会风貌的恢弘史诗,《命运交响曲》赞美与命运的斗争,“哀悼基督”为圣彼得大教堂而塑造,“长城”则为抵御北方游牧民族所建。
解决问题(Problem Solving),是黑客之道的核心,也是技术和艺术的核心。甚至对日常生活也是如此,掌握了解决问题的科学和艺术,就能破开人生的重重困境,人生的意义或许也能够彰显。
于是,黑客之道,是这样一种思想与智慧:如何用正确的方法,解决真正的问题。
1. 人生意义与解决问题(Problem Solving)
(1)人生的意义
人生的意义是什么?这总不易回答,由于没有标准答案,人生也就变得多彩、有了极大的自由;但自由和纷繁,有时也意味着茫然与无措。关于人生意义,我们可以看到多种解释,以下为几类:
- 享乐:有人认为人生的意义在于这浩大的红尘之中,名利权情、孜孜以求,“黄金屋”、“颜如玉”、“千钟粟”,不一而足;
- 自赋:有人认为人生的意义是可以自我赋予的、不受拘束的,意义可以有、也可以没有,天下无我、何来山水;
- 证道:有人认为人生的意义乃是维护世间正法、或探求智慧与真理、或推动人类发展,此乃天道所授,时不我待、舍身证法;
- 解脱:有人认为人生的意义在于解脱于俗尘之外,别有洞天、渡人渡己。
“儒”、“法”、“道”、“墨”对此的看法甚为不同:“儒法”重“治世”、“道”尚“自然”、“墨”主“兼爱”(略近似于“博爱”,但并不相同)。
(2)结果还是过程
就世俗而言,我们可以从结果和过程的角度,获得两个方面的人生意义:
- 结果论:以解决问题的角度来看,即此人的一生解决了何种问题或挑战。譬如孔子开创儒家学派以救治乱世,伽利略奠基近代科学的研究方法,贝多芬之《命运》《合唱》交响曲,这些都为人生丰富的“遗产”,解决了极其重要的问题、建立了不朽的作品。对于普通人,则也需要解决生存的诸多问题,学业、职业、爱情、婚姻、家庭、教育、事业、人生使命等等,理性应对和解决这些问题,人生也可圆满。
- 过程论:结果论或目的论是一种理性,政治、经济、科学、技术都有明确的目的和精确的理性。但生活中,文化、交往、游戏、独处等行为,并不总以解决问题为明确的目的;哈贝马斯认为,我们的“生活世界”被货币和权力所支配,正在丧失生活的意义和自由,这是对结果论、功利论的反驳。以经历的角度来看,人在时间和空间中畅游,可以自赋结果、也可以没有结果;体验人生的旅程本身,也可以是一种人生目的。
不可分割地,我们的生命既有解决问题的部分、也有体验过程的部分。体验过程的价值因人而异,标准较为个人化、本土化、时代化;所谓体验,可以是解决问题过程中的体验,也可以是无目的之体验,但都是生命的旅行。解决问题,可以是别人的问题、也可以是自己的问题,可以是重要的问题、也可以是琐碎的问题,可以解决地彻底、也可以解决地拙劣,由此解决问题的价值便有一些差异。
(3)解决人生中的问题
人的一生的不同阶段面临不同的问题,例如学习、思考、职业、婚姻、家庭、教育等,对于这些问题缺乏有效的解决方案,那么人生之路也会遇到诸多坎坷;设计这些解决方案是人生旅途的重要组成部分。
对于黑客而言,解决问题的大小、多少、好坏,可以衡量他的创作的社会价值。有些“匠”才,精通技艺、技法和技术,但对问题的选择与解决策略缺乏思考和探究,因此无法成为“将”才,以及真正的问题解决者。
有人认为:“选择比努力更重要”。选择是决策智慧,努力是执行能力;毫无疑问,两者都是不可或缺的。在解决问题的过程中,选择表现为选取正确的、有价值、有机会的问题,努力表现为有效、高质量、快速地解决问题。选择是战略,执行是战术。
How to Solve It by George Polyafrom Wikipedia – How to Solve It | CC BY-SA 2.0
2. 言志:解决什么问题(What & Why)
“选择问题”,不论对于研究者、工程师,还是作家、创业者,都是最重要的课题之一。从小的方面看包括发现挑战或危机、找到切入点,从大的方面则是看到时代和文明的趋势、从事最重要的事业。选择问题,是决策过程,并且可以提高到战略高度来回答。
所以,“问题”的选择或识别,并不仅是说在某一个特定的工程或产品中,发现具体的问题并设计解决方案,而是从价值创造的角度而言,在宇宙、世界和社会的庞大时空中,敏锐的识别要设计哪种系统、实现哪种技术突破,这是极其具有挑战的。比如,对牛顿而言,专注于对圣经的研究,还是尝试用数学原理解决自然哲学遇到的挑战,便是重要的问题选择;对问题的嗅觉与品位(自然哲学、天文学、物理学)和解决问题的实力(数学能力、微积分、实验设计)映证了天才之为天才。
(1)选择问题,需要格局、志向与智慧,不仅仅知道是什么,也知道为什么。
当代的很多中国程序员常自称为“码农”,这有自嘲幽默的成分、也可能有被贬损的股份。很多国家向来重“农”的(“士农工商”),未必就是贬称,但值得警惕的可能是“码农”的自我定位的局限。自称为“码农”的较多是企业或组织内的工程师,他们按照产品经理的设计来实现代码,是“实现者”(implementor)而非“思想者”,这带来诸多隐患。失去了思考、设计、识别问题的能力,犹如人失去了大脑,只有手脚;久而久之,人被技术所用,而非运用技术。
黑客则不同,黑客以创造技术、解决问题为基本工作,不局限于组织和企业内的日常任务,有开阔的视野和坚实的解决问题的能力。顶级黑客解决问题和思考的维度,常常直击产业和技术发展的关键节点。《浪潮之巅》作者吴军根据物理学家朗道对物理学行业的分级,提出了工程师的分级方法如下:
- 第五级:能独立解决问题,完成工程工作。
- 第四级:能指导和带领其他人一同完成更有影响力的工作。
- 第三级:能独立设计和实现产品并且在市场上获得成功。
- 第二级:能设计和实现别人不能做出的产品,也就是说他的作用很难取代。
- 第一级:开创一个产业。
三~五级分别是创业者或产品负责人、领导者、内部工程师,第二级是卓越的创造者(Jeff Dean、Donald Knuth),第一级是开先河者(爱迪生、福特、贝尔)。黑客的目标通常在第一到第三级,自称为码农的工程师可能多来自第四和第五级。这是技术维度的差异,也是将才与匠才的差异。也存在第零级的黑客,有如孔子、老子、伽利略、牛顿等,借助理性、科学的精神,开创了新的轴心时代,他们创造文明。
普通人囿于谋身、自利等小问题,卓越者“执拗”于开创、忧国等大问题;虽人人平等,但真正擅于利他、勇于助人者,总是少数。Richard Stallman等开源时代的开创者们,执着于自由软件运动,与商业世界决裂,表现出的是为世界谋利益的宽阔胸怀与远大志向,其功甚伟;没有这种预见力,也就没有Linux等开源系统,也就没有今天的互联网世界。
(2)选择问题,除了深刻理解其价值,还要有坚毅的勇气、恒心与忍耐。
林语堂在《苏东坡传》中对王安石颇多贬损,梁启超在《王荆公》中对王安石敬赞之至。以文人的视角(林语堂),苏东坡豪迈自由,引致了“乌台诗案”的王安石则被描绘为奸相;以政治家的视角(梁启超),王安石舍身为国,为常人所不敢为。林、梁格局不同,所作评论便有差异;苏、王或许都是一时“王佐”,但王安石以《上仁宗皇帝言事书》直陈天下之危,而后又能辅神宗变法,这又是苏轼所未能及。虽变法成败褒贬不一,但如果没有王荆公的远见、心力与勇气,则绝无可能迎天下之难而上。
这说的是治国,对于黑客也是同理。做大量的琐碎的选择,不如坚守一个重要的选择。(投资的智慧与此类似)
(3)选择问题,更需要品味,知其机要、有所不为。
这品味,包括了对时代、社会和技术的洞察,对私利的淡然,对“小聪明”的无视,以及“勿以恶小而为之”(Don’t be evil)。这品味,不仅仅是技术的,也是精神的;不仅仅是关于“剑”的,也是关乎“心”的。
有人由于经济、家庭等约束,自认为无从选择。主观或客观的约束总是存在,突破约束、克服限制,也需要分析、取舍、筛选问题的品味和解决问题的能力。
故欲成一流之工程师,必有一流之抱负、一流之见识、一流之精神、一流之思想,以道御术、以心御器,选择正确的问题而解答之;善恶高低,由此可知。
3. 问道:如何解决问题(How)
老子说:“千里之行,始于足下。” 解决问题能力是一种技术,是一个富有逻辑性的思维和实践过程。
从劳动力市场来看,公司招聘的是能解决特定问题的人;对于商品市场来看,消费者购买的是能满足个人或者组织需要的产品(固化了的解决问题能力)。劳动力和商品代表的能力是目的明确的,这从招聘广告和产品广告就能看出,但种能力在社会分工这种“分析”、“分解”的行为模式下,呈现出支离破碎的状态,他们背后的共同性和“综合”特性只有少数人掌握。这也造成了大部分人解决“小问题”、“局部问题”,少部分人解决“大问题”、“整体问题”的局面。
如何才能真正掌握解决问题的核心技术,下面简要叙述。
(1)解决问题的核心能力是思想
就较广义的黑客而言(工程师、发明家等),其解决问题的核心能力看似是技术的运用能力;而对于一般公众而言,狭义的黑客(计算机技术专家、程序员)的核心能力似乎是写代码。这两种看法都存在偏见。
或许对于“第五级工程师”(见上文)来说,只要能将产品意图翻译为程序语言就足够了。但好比我们不会说一个人擅长“写作”是他认识多少汉字、能用几种句型,而最关键的是他具有什么思想或叙事、如何表述;我们也不会认为会使用程序语言就代表能用程序解决问题了,如果“码农”不会思考,那和机器也并没有差别。
解决问题,就其本身而言,需要的是对问题的理解、分析、溯源、设计、执行、检验等过程;书写、作画、代码,可能只属于执行这一个步骤。同一个问题,不同人的处理方式可能完全不同,这在程序设计中随处可见:
- 理解错误必然导致白费功夫;
- 分析不透彻、找不到根本原因,或解决方案草率、短视,容易产生dirty & quick fix;
- 设计不考虑长远变化或灵活性,容易产生较高的维护成本;
- 缺少检验必然带来质量、安全等隐患。
就此而言,解决问题需要的是综合的逻辑思维能力、大局观与细节处理的能力,而不是某一个专门的技巧或“锤子”。将问题放置到当时的情景中考察,并结合整体的系统或生态进行判断,以及判断是否可以不解决该问题,都依赖于清晰严谨的理性。
要解决大问题,或者设计独一无二的解决方案,需要对根本问题的深度思考(如使用者的人性考察、场景的深入分析、技术发展的脉络等),需要跨学科、多模型的综合分析和思维能力,需要领导力和决策能力,需要对资源、技术、人力的组织和协调能力。
问题的维度越高或者深度越深,对思想能力和综合能力的要求也就越高。解决复杂度高的问题,多强调协作与分工,如果主导者的思想不深入、不精确,那么整盘解决方案的设计和调度必然混乱,获取成功将极具挑战。这与古人对领导者“内圣外王”或“哲人王”的政治理想传统是一致的。
随着分工细化的加剧和社会复杂化的发展,对“真正的问题解决者”掌握智慧与思想也提出了越来越高的要求。实际上,学习能力是解决问题能力的前提。“问渠那得清如许,为有源头活水来”;解决问题能力始终“清如许”,思想与技巧能够保持卓越,是因为有学习的“源头活水”作为输入。
(2)解决问题的内在结构
内在结构的含义是“一种解决方案”或“一种技术”,通常会依赖于其他技术的运用或创造,而形成新的技术或内在结构。常规的解决问题过程都是用已有的方案或技术来解决特定问题,技术对于很多人来说只是“黑盒”,很少需要“重新发明轮子”。但重视内在结构,同时也是对内部或根本方法的反省,是极为重要的,我们来看几个历史上的例子。
- 伽利略通过自制天文望远镜,观测到了凹凸不平的月球表面、及木星的四颗卫星、金星的盈亏现象,用事实打破了天地的界限、支持了“日心说”、并进一步提出了惯性理论,解释了潮汐现象。这是通过构建新的工具,以解决眼前问题的例子。新的工具,又继续推动了更多问题的进展。
- 为了实现搜索引擎,Google在内部实现了GFS、MapReduce、BigTable等基础设施(infrastructure)并公开发表成果,直接推动了之后的大数据开源Hadoop技术等的出现。这是内部的基础设施成为创新的基础,从而推动技术跨越式发展的例子。Amazon的AWS的出现和商业化也是类似的例子。
解决问题的技术是层层相依的。新的技术推动更多技术的发展,同时也依赖更多过去的技术。明白这一点对于黑客有非常重要的价值,因为解决问题的过程往往也伴随着技术的进步,忽视了这种“副产品”,既有可能导致资源的浪费,更可能错过潜在的机会。
(3)问题与解法的进化路线
问题是源源不断的,来自于外部环境的不断变化(社会、时代、市场等),也来自于解决方案的驱动。一个新的解决方案,通常也并非完美的,或者有其适用环境,所以也经常会带来新的问题。比如,iPhone也开拓了一个之前平不存在的移动信息空间,使得大量的新的技术和产品可以被发明和应用,极大地刺激了新的解决方案的出现,如共享单车,同时又带来了新的问题,如隐私、安全和社会治理问题。
旧问题的解决,并非一劳永逸,不断涌现新的解决方案,以替代旧的技术方案。如,交通,从牛马、马车、火车、汽车、飞机、航天飞机,到自动驾驶,这种变化依然没有停止。对于“空间位移”这种近乎永恒的需求,依然会不断有新的解决方案被提出和实现。
技术的发展动力,高度依赖于其背后的现象,尤其是物理学本质。工业革命就是发端于科学革命,每一次系统性的物理发现,都将带来颠覆性的技术发展。(相对论和量子力学的突破,至今我们仍然没有消化完毕)化学和生物学的进展,又在21世纪带来纳米技术和基因工程的飞跃。这种被认为是“指数型”技术爆炸的趋势,使得我们的问题域和解法域的进一步扩展,而激发出越来越多的可能性。
从结构上把握问题与解法的进化路径,对于设计真正的解决方案,是极为关键的。
以上,我们探讨了解决问题(Problem Solving)的基本问题。在之后的篇章中,随着问题的深入,我们可以看到更多具体的解读与分析。
下一篇预告:【黑客之道】序 - #3:技术之美
参考文献
Posted from my blog with SteemPress : https://robertyan.000webhostapp.com/2019/01/%e3%80%90%e9%bb%91%e5%ae%a2%e4%b9%8b%e9%81%93%e3%80%91%e5%ba%8f-2-%e7%9c%9f%e6%ad%a3%e7%9a%84%e9%97%ae%e9%a2%98%e8%a7%a3%e5%86%b3%e8%80%85
This page is synchronized from the post: 【黑客之道】序 - #2 真正的问题解决者