技术艺术与禅道《禅与计算机程序设计艺术》 / 陈光剑
Posted 禅与计算机程序设计艺术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术艺术与禅道《禅与计算机程序设计艺术》 / 陈光剑相关的知识,希望对你有一定的参考价值。
来自二千五百年前的思想:庖丁解牛的故事
庖丁释刀对曰:“臣之所好者,道也,进乎技矣。始臣之解牛之时,所见无非牛者。三年之后,未尝见全牛也。方今之时,臣以神遇而不以目视,官知止而神欲行。依乎天理,批大郤,导大窾,因其固然,技经肯綮之未尝,而况大軱乎!良庖岁更刀,割也;族庖月更刀,折也。今臣之刀十九年矣,所解数千牛矣,而刀刃若新发于硎。彼节者有间,而刀刃者无厚;以无厚入有间,恢恢乎其于游刃必有余地矣,是以十九年而刀刃若新发于硎。虽然,每至于族,吾见其难为,怵然为戒,视为止,行为迟。动刀甚微,謋然已解,如土委地。提刀而立,为之四顾,为之踌躇满志,善刀而藏之。”
先秦庄周《庖丁解牛》
译文:
庖丁放下刀回答说:“我追求的,是道(本为虚词,无特定之意,可解成自然的规律),已经超过一般的技术了。起初我宰牛的时候,眼里看到的是一只完整的牛;三年以后,再未见过完整的牛了(意思是:只看见一个虚线的牛,就是只看见怎么样去解)。现在,我凭精神和牛接触,而不用眼睛去看,感官停止了而精神在活动。依照牛的生理上的天然结构,砍入牛体筋骨相接的缝隙,顺着骨节间的空处进刀,依照牛体本来的构造,筋脉经络相连的地方和筋骨结合的地方,尚且不曾拿刀碰到过,更何况大骨呢!技术好的厨师每年更换一把刀,是用刀割断筋肉割坏的(就像我们用刀割绳子一样);技术一般的厨师每月就得更换一把刀,是砍断骨头而将刀砍坏的(因为不知道怎么砍,所以砍到骨头的时候就容易坏)。如今,我的刀用了十九年,所宰的牛有几千头了,但刀刃锋利得就像刚在磨刀石上磨好的一样。那牛的骨节有间隙,而刀刃很薄;用很薄的刀刃插入有空隙的骨节,宽宽绰绰地,那么刀刃的运转必然是有余地的啊!因此,十九年来,刀刃还像刚从磨刀石上磨出来的一样。虽然是这样,每当碰到筋骨交错聚结的地方,我看到那里很难下刀,就小心翼翼地提高警惕,视力集中到一点,动作缓慢下来,动起刀来非常轻,豁啦一声,牛的骨和肉一下子就解开了,就像泥土散落在地上一样。我提着刀站立起来,为此举目四望,为此悠然自得,心满意足,然后把刀擦抹干净,收藏起来。”
“臣之所好者,道也,进乎技矣。”
求于“道”而精于“技”。
工匠与艺术家
艺术家和工匠一样,必须熟悉自己所用的材料和工具,必须有灵巧的双手去应和心灵的要求,是所谓“心灵手巧”。一名工匠自有熟练的手艺去把他心中预构的形式付诸材料。一个雕刻家看上去也是如此。画家在画布上描画和涂抹,也像一个工匠那样工作着。
工匠是追求做到极致,做到最好,按要求来做。更多的是匠心。
艺木家追求创造,创新,求不同。更多的是想象力。
艺术家的伟大就是他对大自然的独特感受、感觉、感悟转化到他的作品里去,他可能是音乐家,可能是书法家,可能是美术家,可能是文学家或者其他。
工匠是构成这个社会的基本结构的一个主体,一流的工匠能做很精美的事情,优秀的工匠成了这个社会的主要构成。像生产手机、汽车、计算机,更多的是需要技术工匠。
而像设计一栋楼、发电机/电动机、设计制造计算机、架构设计软件系统、一个复杂组织等等,则需要技术和艺术的完美融合。
另外一个看问题的视角。工匠和艺术家的关系就好比是金字塔塔基和塔顶的关系,没有经历工匠的阶段很难成为艺术家。当然工匠在多数,艺术家在少数,想从工匠升级为艺术家这中间需要勤奋的练习、个性的发扬、情感的表达、艰辛的探索和勇敢的创新。
一个优秀工匠的练成是不易的,需要扎扎实实练好基本功并达到技艺的纯熟,拥有丰富的经验。而任何优秀艺术家的养成都必须经历工匠的勤奋刻苦阶段,并在此基础上更进一步,敢于突破传统的束缚,勇于表达自己的情感和心声,在传统的基础上创新求变。
程序:对象之存在与转变
Object o = new Object();
通过上面这一行代码,我们就“创造”了一个对象(事物)。
哲学家,关注事物的存在和事物的转变。
如果把软件世界类比为宇宙,那么事物之存在就是数据结构之创建。而事物的转变,就是算法之“运动”。
参考资料
https://zhuanlan.zhihu.com/p/258420325
《禅与计算机程序设计艺术》 / 陈光剑 目录
第一性原理
什么是禅?
什么是计算机?
什么是程序设计?
什么是艺术?
宇宙之起源
物质之形成
半导体材料
纳米光刻
二极管、三极管
太极阴阳与二进制
布尔代数与数字逻辑系统
模拟电子电路系统
信号与处理
信息论
图灵机模型
冯诺依曼模型
计算机演化史
什么是编程?
编程语言进化史
程序 = 数据结构 + 算法
模型关系思维
真理与模型
建筑工程、机械工程、电气工程与软件工程
CPU架构设计
缓存思想
计算机科学中的中间层理论
从01机器码到汇编指令到高级编程语言:一切皆是映射
美妙的递归
用计算机画一张分形图
分层思想
硬件驱动
操作系统
通信原理:TCP/IP 与 HTTP 协议、WIFI无线协议
互联网简史
数据的存储:从ROM、RAM到寄存器到L1/L2 Cache 再到磁盘文件
索引原理:来自大自然的启示 Tree 结构
人类社会数字化
人工智能
虚拟现实
技术、艺术与禅道
// TODO ...... 待续
《禅与计算机程序设计艺术》 / 陈光剑
以上是关于技术艺术与禅道《禅与计算机程序设计艺术》 / 陈光剑的主要内容,如果未能解决你的问题,请参考以下文章
与技术无关,但却值得码农们好好读一读的怪书:禅与摩托车维修艺术