禅与软件开发的艺术

      30edb24214104863dbe1033d9f0f47ae.jpeg

     禅讲究觉悟,而且是一种顿悟,如井底之人,忽见井盖打开,一道天光射来,整个人豁然开朗,它破除我执、法执、空执,整个人的思想处于虚空的状态,但又随时待命,接纳世间万物。软件开发的学习过程,也需要保持这样的一种状态,整个软件开发的知识学习,可以说是非常庞杂,从程序员的浪漫史诗—操作系统、计算机网络、数据结构与算法、图形学、编译原理,到具体的编程语言、框架、设计模式、代码规范、分布式原理、项目管理模式,每一门都可以让你耗费精力深入研究,你执着于上层的框架,还是底层的原理,都是有所偏颇的,底层的原理实践的机会少,上层的框架如果只是简单了解,又似乎只是一个curd boy,看不出你的技术底蕴。你一门一门学,一条一条看,穷尽一生,恐怕也无法完全掌握。不妨换一种思路,假如有一天,你把所有具体的软件相关知识都忘光了,类似修禅时的"如桶底子脱", 你的脑海里还剩下什么,是虚空吗?也许剩下的是你的细心、你的创意、和你对技术的逻辑判断、逻辑推导能力,在做数据结构和算法题的时候,你或者深有体会,当你写出一个递归,一个DFS或BFS的时候,最后让你喜悦的不是那一行一行的代码,而是留在你脑海里的逻辑脉络,以及冲击着你的逻辑之美,甚至整个理科的学习,最重要的是体会到这种逻辑之美,这种美的体验可以一直萦绕在你心头,成为你继续学习新知识,甚至探索新的知识领域的动力。哲学、历史、文学、社会、心理学,这些学科也有逻辑之美,但除了逻辑,更重要的或许是一种共情能力,仿佛“无穷的远方,无数的人们,都与我有关”。逻辑与共情,这两种特质也许一部分是天生的,一部分是后天养成的,侧重前者的人更适合成为理科人才,侧重后者的更适合成为文科人才,两者兼备,那就是文理全才,这是人们在从事相关学习、工作活动中产生心流的基础,循着自己的心中的美感所指示的方向去走,就会达到无师自通的目的。

     我们之所以称某物为艺术,正是因为它有美感,美的事物,必然是在其创作者处于某种创作激情状态时诞生的,创作过程中,一定是思考多于蛮干的。那种为了赶工时匆忙完成的产品,就算它遵循了一定的规范,最多可以称其为“工业品”,而不是艺术,比如大多数的业务模块,都是程序员加班加点在忙碌中完成的,虽然很辛苦,终究只是流水线作业的产物,只是软件系统的一个组件,不能称其为艺术。就像积木,单块的积木算不上艺术,而将这些积木组装起来,则有可能成为一个艺术作品,因为这比单独制造积木多了更多的逻辑思考,比单纯的基于已有框架的复制粘贴要有更多的含金量,因此,我们说架构师是稀有的,构思出新的算法和技术框架的程序员是稀有的,而只知道在繁忙中解决积压需求的码农却到处都是。这也怪不得码农们,他们忙于工作,苦于生存,而艺术多是在闲适宽松的环境下诞生的。古代的禅师也种田插秧,但他们并不忙碌,而是把种田插秧当作修行的一门功课,其目的还是禅修,还是回归到人自身的提升上的。武侠小说中,用剑是一门艺术,真正的高手都是“人剑合一”,而在日常开发中,工作被分割成一个模块一个模块的,分属不同的人管理,每个人只是知道其中的一块,创造出来的东西是冷冰冰的组件,就像建筑物中的其中一块金属罢了,人和自己的制造物之间,仿佛是自己的制造物在支配着人的行动,工作的节奏都受它的控制,纯粹的“剑支配人”,在武侠小说中,这有可能会走火入魔。独立开发者如果没有生存的压力,而是自由自主地开发自己想要开发地软件、系统,它的艺术感会强很多,因为它是单纯属于他自己的创造物。你或许会说分工产生的效率优势,对不起,艺术不需要效率。

       如果真需要效率,那就分工,那就需要很多的合作与沟通,根据“康威定律”,任何设计系统的组织,其组织沟通方式会通过系统设计表达出来。这考验的不是单个程序员自身的开发设计能力,而是考验的架构师和组织结构设计者的能力,整个组织结构设计就像软件架构本身一样,不是一蹴而就的,而是需要根据环境,适时地迭代、演化。

       “一千个读者有一千个哈姆莱特”,名著、画作是和读者没有任何交互接口的封闭式文艺作品,就算是这样的作品,仍然能够衍生出许多的解读,点评,它们是可扩展的。而软件系统比他们更具有活性,首先是他们对现实世界交互的更加直接客观的映射,同时用户可以提交自己的数据,对于软件系统,至少会有一个用户,就是创作者自己,更为庞大的软件系统面对的用户是数千万,数亿级别的,他们为软件系统注入了活力,就像一汪从天而降的水,注入干涸的纵横交错的河道中,洋洋洒洒,奔腾千里,滋养周边的土壤,重塑周围的生态。从系统一诞生,或许它就不属于创造者们,后续的扩展、维护都需要顺应用户真正的心声。因为,软件的系统的内部运作机制,那是逻辑的产物,而与外部的各种交互,却充满着与用户的共情,产品经理、UI设计师,也是广义上的软件开发者,他们需要比任何人都能更敏锐地捕获到用户的心理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值