`
belmount
  • 浏览: 48054 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

老子是程序员

 
阅读更多
前言

license:本文版权授权采用《老子协议模式》。即非经本人允许,不得转载。链接的可以。copy的话给钱!

传说老子名李耳,春秋时期楚国人。我,姓名不提,党国时期楚地人。
从地缘上说,和老子还是个老乡。
传说老子骑青牛西去。西去,我倒是玩过,不过是坐的铁鸟。要是我现在骑着头牛在大街上走,要么被车撞死,要么牛被没收,人被抓起来。
闲话不提,先谈我最近的重大发现。经过我10来年和程序打交道的沉淀和最近两年断断续续拜读《道德经》的收获,我发现老子并不仅仅是传说中的图书馆馆长,而是一个很nb的程序员,兼高级项目经理,至少是高工级别的。

说我疯癫了吧,我还笑你看不清呢!
先谈硬件条件。根据国人的说法,当年冯诺曼是看了周易研究出的二进制计算机。
由此倒推过去,我们聪明的祖先既然在周朝初期就掌握了原理,在周朝末年大量使用计算机那是相当自然的事情。

再说学科设置。武汉大学(楚地的)图书馆专业属于信息管理学院(说白了也是搞挨踢的)。
所以老子名正言顺是个it精英。
我当年读大学的时候,图书馆还搞网吧这个副业。估计老子手里也掌握着几十台电脑的网吧资源,老子玩集群和云估计也是杠杠的。

再回过头来看看老子的作品《道德经》,这完全是一部不朽的程序哲学和项目管理的经典著作。如果翻译的好,什么人月神话,人贱啊之类的书根本就没有存在的必要,在amazon上软件项目管理类、哲学类、教育类销量排名从1到10都是《道德经》。
言归正传,让我从第一章给大家分析起。

先说道可道,非常道,名可名,非常名。
为了这句话,一堆搞文字研究的人逐字逐字的考证,把古籍翻完了也没个定论。
据我理解,这是高级程序员兼项目经理老子为了吸引大家读下去,搞了几个没有用的变量来掩盖真实的内容的贫瘠。说穿了,就是这两句话读起来很震撼,内容很空洞。
但如果只是空洞,那老子也就不可能成为老子,这两句话说明了两件事情的重要性,道和名。
道就是tmd哲学。哲学也就是事物发展的客观规律,我们一定要顺道而行。但这个道不是一般人都够明白的,要学习中顿悟。
谈到哲学,我印象最为深刻的就是斯特劳斯普,这个C++之父在《C++的演进》中谈到C++的哲学是一种尊重个体的哲学,反对黑格尔那种强调群体而忽略个体的思想。只有尊重个体才能尊重集体,集体才有凝聚力。因此C++允许各种编程风格,这就是设计之初对程序员的尊重。
RoR的DHH的设计哲学是DRY(Don't Repeat Yourself), Unix的设计哲学是做简单的事,把简单的事情做好。这也是SOA的设计哲学,每个人先把自己管好,再谈如何遵循社会道德的交互。
所以设计系统的时候一定要先确定程序哲学,如果哲学思想没有确定,系统就开始人格分裂了,参与到系统的人也无所适从。
名,从宏观上说解决一个问题必须使用和问题相关的名词。在Domain Driven Development 中专门有一章说对于Domain的分析,首先需要在业务专家和设计人员之间统一问题交互的名词,也就是唯一的确定参与到Domain中对象的名称。
举个例子,大家都看过程序设计书里面,尤其是C和Windows编程书里面的句柄这个词。当年,我差点被这个词搞得抓狂过,不过也感谢这个词,我tm下定决心不看中文文档了。
句柄就是哪个不懂装懂的技术书籍翻译者对handle搞出来的名词,意译过来就应该是唯一标示,不管是文件句柄还是进程句柄。返回个把手给你就是让你抓着他可以用,翻译的下流一点你说是给你个文件的小jj让他听你摆布不就完了。不懂还故作高深,说白了就是装B。
名不正则言不顺,程序就是表达,没有好的名词你根本表达不清楚。就像写程序的时候,变量名称都nm var1 ,var2 , a, b,c,d一样。
所以老子说无名,天地之始;有名,万物之母。
有了有意义的名字,才能够写出好的程序。

故常无欲,以观其妙;常有欲,以观其徼。
写程序,要insideout,和嘿咻一样。解决问题的时候,先不要冲到问题里面,呆在外面什么都不要做,观察到底是怎么回事。也就是宏观的看问题,把门道妙处先看清楚。
然后做点事情,看问题有什么反应,是不是和预想的一致,这就叫做观其徽。
简而言之,别慌着动手,多观察,多思考。

此两者同出而异名,同谓之玄。玄之又玄,众妙之门。
要做到玄,就必须适度的把握自己干和不干的冲动,然后就可以游刃有余,程序项目都被你玩。


分享到:
评论

相关推荐

    程序员的精神导师《庄子注释》

    导师的作用不言而喻,搞技术路线的我认为需要选择两个导师一个是精神导师,一个是技术导师,这样做事业才能持久。市面上太多繁杂畅销书,但我国古人的智慧还是是超越未来的,建议研读。这里推荐搞技术的朋友读读...

    程序员5个刷题网站-QingTing:QingTing

    程序员5个刷题网站 蜻蜓FM涉嫌诈骗投资人和广告主源代码剖析 本文主要内容,引用自知乎的这篇文章: 感谢“左莫”、“任正”等热心正义的网友--左莫,任正的最早的回答猜测已经被蜻蜓FM通过创新工场关系让知乎删除了...

    程序员5个刷题网站-QingTingDecompile:QingTingDecompile

    程序员5个刷题网站 蜻蜓FM涉嫌诈骗投资人和广告主源代码剖析 本文主要内容,引用自知乎的这篇文章: 感谢“左莫”、“任正”等热心正义的网友--左莫,任正的最早的回答猜测已经被蜻蜓FM通过创新工场关系让知乎删除了...

    面试问答大全(中文+英文)

    大家看资源名字就知道是什么了! 求职名句——老子很值钱,所以别拿一月3,4千来敷衍老子

    程序员面试刷题的书哪个好-start-here::black_heart:给想要开始使用Zubi.io的人的快速入门指南

    程序员面试刷题的书哪个好 :open_book: 从这里开始 参与 Zubi 开源计划的快速入门指南。 开源的力量是人民的力量。 人民统治。 . ~ 我需要什么? 好奇心——“我没有特别的天赋。我只是充满了好奇。” - 艾尔伯特...

    黑马培训营Java基础题目答案打包

    操蛋的黑马培训营,搞一个培训机构还搞那么多面试题目,还要在博客上发标他妹的10篇日志,还要在黑马论坛获得25分技术分,还要面试.........操蛋的入学要求,老子不去啦!在这里分享一下黑马Java基础答案!算是为后来人铺路吧!

    如何解决python的异常处理方法总结

    (老子鄙视任何一切使用table 进行对齐的程序员,你他妈没做过跨平台,就不知道有多坑爹)   VS 默认的是使用4 个空格代替tab 建的,要想保留tab 制表符,需要到选项》》 文本编辑器中修改为保留制表符。 ...

    如何绘制平台框架的设计图:使用UML工具

    开启JUDE建模工具:点选,创建新建模项目:建立新的类图(ClassDiagram):类图绘图区:拉出一个类的图像,并取名为”汽车”:框架设计练习口诀:目前先”不”做轮胎老子说:”无”之以为用(有之以为利)孔子说:知之为...

    c#学习笔记.txt

    c#学习笔记(1) 51099在线学习网发布 文章来源:网络收集 发布时间:2006-05-25 字体: [大 中 小] ... 1, 结构(struct) 与 类(class) ...有人说,选择C#意味着选择MS(在中国的程序员当中,这并不是件值得自豪的事...

    Webpack 初体验

    如果你是前端程序员的话,相信你会和我 有 一样的感概 ‘ 前端个 丫的, 技术更新太快了, 老子学不动了’但是现实谁会管你哈,学不动回家养猪去。

    asp.net面试题

    细心的程序员有时可以通过聪明地使用结构来增强性能。 12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。 远程逻辑调用,remoing接口只能用在.net中 13.什么是code-behind技术 aspx and ...

    open3d-0.16.0-cp39-cp39-win-amd64.whl(open3d window Python9 安装文件

    mmp,老子下半天才下下来,翻了墙还是慢,气死老子了 官网地址: https://pypi.org/project/open3d/0.16.0/#files 安装命令: pip install open3d-0.16.0-cp39-cp39-win_amd64.whl

Global site tag (gtag.js) - Google Analytics