iOLOi@2019011301@面向对象编程与哲学思维无异
就像我说世界是一个已经写好的程序一样,程序员是在世界里面构建世界。很多人会对程序员有刻板印象,至于这些印象是什么我就不提了。我现在想做的是帮你认识一下程序员。一个程序员职业生涯中大体只做2件事:开发&BUG。
我们会构建一个又一个的类,这就像现实中的一个又一个群体,虽然每个人都有不同,但是一个群体有着着鲜明的特征,这些特征就是我们需要抽象的东西,我们会依据特征抽象出一个又一个的类,在这个过程中我们会来回考虑各个类之间的关系,如何让类更好的协同工作。如何处理它们的依赖关联层次关系。而同一个类可以有多个不同的对象,这就像从一个群体当中具体到某一个人,我们会考虑这个对象整个过程当中所要做的事情,以及可能会对其他对象产生的影响。我们会让不同的对象实际的去完成一些事情。这就是开发,你觉得它和思考世界有区别吗?你觉得它和管理协同有区别吗?每一个程序员都有希望成为一个优秀的管理者,每一个程序员都有希望成为一个哲学家。他只需要将人作为开发对象就可以了,但在此之前需要完成一件事情叫观察,程序容易观察,人不容易,社会不容易。世界不容易,宇宙不容易。计算机系学科抽象出的设计模式和算法的思想可以揭示更深刻的社会原理。世界就是一个已经写好的程序!
程序员本能性的信仰因果论,程序员不相信事出无因,凭空产生。这就是为什么我们会花大量的时间去检查代码处理BUG,因为BUG就是果,我们不相信这个果是凭空产生的,一定是哪里出了问题,我们会从正向逻辑,反向推理排查,去找原因。我的程序员朋友们,你们每天在思维上都在做警察做的事情,你可能没有觉察。你知道找到一个BUG的原因和找到一个社会现象的根本原因,思维上没有任何的差别,只是思考的对象不同。
程序员每天在做的事情就是You do this&You do this&You do this……You go there&You go there&You go there……OK,Bros,Run!
你知道吗,活着就是清楚的知道你喜欢什么不喜欢什么,谁喜欢你谁不喜欢你,以及你希望谁喜欢谁不喜欢。当文学的朋友们看到我的东西时他们的反应告诉我他们没有像程序员那么喜欢我的东西,我就在想Why?因为哲学和计算机是一样的不一样,不一样的一样。面向对象编程与哲学思维无异!