关于编程的机械主义和本本主义

主义太多了

Posted by tokenian on March 3, 2016

篇文概述

这是我作为一个coder,一个计算机职业工作者,对于编程的一些思考。写了几年代码,平台上linux、aix、window,语言C#、Java、C++、js、css、sql、shell,在诸多党同伐异的语言纠葛中,渐渐有了一丝明悟。对于语言的思考,如何去理解它们,如何去理解当下的编程世界层出不穷的语言、框架如水中的游鱼上下浮沉。我归结为,当下的编程世界是以机械主义为主的,这个时代是一个日新月异的时代,你真的可以改变世界。正如马克思的共产主义是为了打倒资本主义,它是一个理想主义的大同世界,虽说遥遥无期,但是却使人们有了目标。而本本主义却是机械主义的下一代,它将是又一个革命。

机械主义

机械主义认为物质决定了意识,意识是物质的反映,即是唯物主义。就好像齿轮之间的咬合,基于物理定律和数学公理的推导,总能为某一个结果找出原因。毫无疑问,它符合因果律。

最开始知道这个概念的时候,是源于英国的霍布斯,这家伙就是个彻底的机械主义者。但是大家想象下,木头的桌子、椅子确实木头之间的空隙铆合,放到生命这一层你说不通。比如意识,认识,外面的东西通过光进入大脑,大脑会学习。而且大脑的思维不是直线的,是和已有的知识、情感关联的,简言之,机械主义不足以说明一切。

本本主义

我个人的概念,回归本真,回归本来面目,形而上学的抽象,需要建立在机械主义之上。这里探讨的是是编程方面的概念性思考,人的思维不是如机器那般可以死板的按照指令一条条执行,人有情绪。所以学编程的人最开始往往是摸不着头脑的。

开始论述

  1. 当下的高级语言都有很多类似的地方,与其说是类似,不如说是它们刻画事物的本质雷同。因为事物的属性都那样,你换什么语言都这样。它们都是基于命令式的,由汇编语言进而到机器语言,汇编语言就是一条指令。这种命令式的方式符合冯.诺伊曼设计的计算机体系运行方式,简言之,它就是机械式的。
  2. 为什么软件都说要便于扩展,符合开闭原则,采用设计模式试想一下,机械式的齿轮连带运动,必须契合的很好,否则就会转不动或者转不快,有了缝隙,你插一根棒子进去它就不动了。而这些软件设计的原则的目的就是为了这个机械能良好的运作。面向接口职责的单一可维护,可编程性,把事物的职责属性简单化,让开发人员的思绪不至于几个职责混淆一起,代码混乱。这便是软件开发中基于契约的原因。任何一家公司提供给外面的接口就算是一份契约,你只要遵守,调好你的齿轮,让你的机械运作就ok.
  3. 为什么程序猿被形象的称为码农,搬砖工。因为对于大多数的功能实现,网上都能找到现成,只需要复制粘贴。这话说的不好听,确实一个不折不扣的事实。大多数程序猿缺乏创新能力,或者说还在蹒跚学步的路上。为什么别人的代码拷过来就能用?因为机械式的运作,就好比螺丝钉,同样的钻孔,同样的螺纹。所以当下的编程毫无疑问是机械的,无论是开发、测试、运维、产品。似乎这符合三维空间的直线连贯性和延展性。
  4. 很早以前人类就设想机器人,期望其智力的水平能够帮助人类。在电影中的体现堪称人类追求的完美表达,电影中的机器人有终结者这种忠诚与背叛,有黑客帝国的纯虚拟世界。但是机器人的问题还是机械式,尽管当前机器学习和语义分析的进步。所以我想出了本本主义,期望有新的思路来看待当下的编程。人的身体是集物质的宏观和灵魂的微观未一体,灵魂一说在唯物主义者看来不成立,可以理解为量子的不确定性。
  5. 设想有一个运行环境,形同人的大脑。输入一条指令,它的执行有多条分支,它会依据自己知道的客观条件执行,不是死的。基于发现的传输神经运行单元,相互之间能彼此感知,交换信息。这可以说是编程的仿生学。
  6. 本本主义需要明确的概念就是还编程一个人性的思考,尽管指令有错误,有偏颇,运行环境能够正确的执行。这好像是大众编程,没错,是不需要程序猿这种偏执的怪物了。你觉得程序猿很高大上,能够黑别人的机子?他们的思维方式被训练得如同机器,缺乏人性的美感。
  7. 就说杀毒软件,如果一个人对病毒防护不在意,登录不安全网站,它的杀毒软件依旧不会管作用。和它相对比的是人的免疫系统,它的自治,治愈身体,恢复自己。杀毒软件不行,它的机械式运作一旦挂掉就没法子正常运行。杀毒软件没有和操作系统做活生生的有机的关联,它只是门外的栅栏,坏了就坏了,坏人就可以鱼贯而入。本本主义的另一个概念是运行的程序能自治且有机关联,了解其他的程序的信息、它能做什么、它是好是坏。运行环境必须能够量子态模拟,运行指令的不确定性来弥补环境变化导致的出错。
  8. 从前面的描述中,是否可以推断,当下的计算机运行体系不适合来作为本本主义的运行环境呢?我觉得是,以前有听过生物计算机、量子计算机的概念,其他它们的问世。所以说,这是一个变革的时代,几年前智能手机降世。云概念的铺天盖地,o2o模式的大批创业。世界的变化一刻也不能停止,而机械主义的车轮犹如蒸汽时代,它终将迎来本本主义的核聚变。智能机器人不是梦,它只是等待技术的革新而已。人们的生活方式也将迎来翻天覆地的变化,伴随技术的革新。
  9. 那么本本主义是终点么?不是,技术的牢笼囚禁你的思维,当牢笼冲破,又有新的空间。本本主义需要当下的应用科学技术的突飞猛进,数学、物理、化学、生物的基础理论沉淀了很多,而应用却没有用到多少,还没有发挥理论的力量。所以,程序猿的空间是很大的,不能自诩为搬砖的码农,要能感应时代脉络,找到自己的位置。