关于程序员:IT哲学万物皆对象

5次阅读

共计 2347 个字符,预计需要花费 6 分钟才能阅读完成。

对于程序员来说,“万物皆对象”是路人皆知的,甚至是曾经过期的话题了,但“温故而知新”,时常思考一下,总是会有新的发现。
我只是一个一般程序员,每天就是思考架构、编写代码、调试 bug,本文也只是把本人的思考记录下来,如果和他人的观点有什么异同也是纯属巧合。

对象之外

在我看来,任何技能都是有瓶颈的,而冲破瓶颈的方法通常都是来自于借鉴。

第一性原理的起源

“在每个零碎摸索中存在第一性原理。第一性原理是根本的命题和假如,不能被省略和删除,也不能被违反。”——亚里士多德

因为特斯拉的胜利,“第一性原理”也热了起来,绝对于百度百科的词条,集体感觉亚里士多德的观点更乏味一些。“第一性原理是根本的命题和假如”,也就是说并不需要去论证第一性原理自身的正确性,这就是我认为乏味的中央。

哲学

对于哲学的定义,我也更偏差于其自身是一套办法而不是什么论断。
大部分的哲学观点都是绝对的,而不是相对的,小的观点比方生于忧患死于安乐,唇亡齿寒;大的观点比方辩证唯物主义,主观唯物主义。
而且,哲学观点是合乎第一性原理的。已唇亡齿寒为例,对于被嘴唇包裹的牙齿来说,在失去嘴唇之后牙齿就更容易被外界的变动影响了。所以,给大象讲唇亡齿寒就是对牛弹琴了。对于大的哲学观点或者体系,往往是多个小观点依照第一性原理的准则的有序组合。

道德经

“有名万物之始,无名万物之母”,我的了解是所有原本没有名字,只是为了和他人讲述才须要命名。所以名字起的对不对并不重要,大家认可就好,这是否是老子的第一性原理呢?

思考

以上不管哪一种,能够发现其总结与演绎的都是事物变动的后果的法则
就当今的迷信(对肯定条件下物质变化规律的总结,可反复验证、可证伪、本身没有矛盾。)自身其实并不合乎“第一性原理”,因为它能够被证伪。所以,“三体”中“智子”对物理学的影响是可能实在产生的,甚至“薛定谔的猫”曾经有了这种苗头。
数学是合乎第一性原理的。咱们不须要也没有必要证实 1 +1= 2 或者 1 -1=0,认为这是数学的第一性原理就好。

* 三体:刘慈欣的科幻小说
* 薛定谔的猫:基于波粒二象性、不确定原理、观察者效应提出一个对于量子叠加原理的思维试验。

万物皆对象

万物皆对象是一种思想体系,且“万物皆对象”是该体系的第一性原理。
在最后的时候我认为这是一种编程的形式,就是创立 class,而后实例化这么简略;起初我认为这是一种思维模式,“名词”根本就是对象,class 只是 Java 语言的表现形式,即使对于非面向对象的语言,咱们一样能够用这个思路进行开发。

何为“万物”

“万物”不是“所有”,对“万物”的解释间接决定了对“万物皆对象”的了解水平。
集体了解,应用英语的时态能够更简略的实现定义:任何非进行时的都能够称为万物。因而,从编程角度,不论是类、实例、办法或者属性都是对象(然而办法在被调用到实现调用的时候不是对象)。因为每个对象都被察看到与其它对象的差别,所以形成了万物。

对象世界

在这里,对象世界是我的臆造词,和网络上的对象世界是不同的。
区别于物质世界和精力世界,对象世界更贴近观察者所看到的真实世界。绝对于“道可道,十分道。名可名,十分名。”,对象更容易了解,然而具备雷同的实质。粗犷的将真实世界的“名”去掉,就会进入对象世界。
“老王,吃饭了吗?”,这是很广泛的问候,然而在对象世界里,这句话的含意为:查问“称说”属性的值为“老王”的对象的“饥饿水平”属性的值是否高于 50(0 示意饱了,100 示意要饿死的状况下)。
你能够不认可我的解释,因为对象世界是唯心的,每个观察者会通过本人的察看结构出不同的对象世界。这也是始终有人造轮子的根本原因。

程序与迷信

如果说哲学是一套方法论的话,那么迷信就是具体的办法了,从这个角度也就很天然的了解为什么有一种说法叫做“迷信的止境是神学”了。
“万物皆对象”是哲学观点,所以这也是方法论,所以程序就是具体的办法,所以程序会有 bug,就像迷信能够被证伪,所以程序能反复执行,就像迷信能够反复验证。
既然办法是依附于方法论的,那么方法论天然就是办法的灯塔。这个情理不言自明,尤其对于程序员来说,每个人都在用,然而无意识的应用和有意识的应用必然是不同的。毛泽东同志并不是科学家,然而在 1953 年,他就曾经断言“物质有限可分”,这就是思维的价值。
举一个更贴近程序员的例子,对于年龄大一点的程序员来说(例如我),过后并没有“设计模式”这个词,然而在理解之后就会发现,大部分设计模式早就理论使用了,只是并没有从这个角度去加以总结而已。

结尾 - 程序员的自我涵养

程序员是一个须要一生学习的职业,但不仅仅是技术的学习。
代码是开发者表白集体对以后问题和解决形式的见解的表达形式,所以集体的涵养才是真正的天花板。也正是因为这种“自成世界”的体验,更容易使程序员显得执著、钻牛角尖,所以程序员应该更留神去了解他人的“世界”,从而进一步欠缺本人的“世界”,达到冲破天花板效应的指标。
读源码是很多程序员学习的形式之一,然而大部分人并不能充沛的用好这个伎俩。如果看过一些玄幻小说,那么你会发现这类小说大多数配角都是从触摸法令、利用法令、创立法令到最终成就内世界的,而残缺计划对应的源码其实就是这样一个内世界。通过读源码诚然能够学到本人不会的知识点,然而更重要的,应该去尝试了解这个“内世界”的法令,而后提取精髓来欠缺本人的“内世界”的法令。
多听、多想,不能依据本人的法令去主观的认为他人的观点是错的,因为他人的观点绝对于其本身的法令(如果有的话)必然是对的。

因为这篇文章首发在思否(https://segmentfault.com/),所以就用这样一个倡议收尾吧:从思路登程去发问或者答复能力有更高的价值和播种,而且对于提问者应该简要形容是什么因素促成了你目前的思路,而不是发几行代码找人帮忙调试。

正文完
 0