最近看《苏菲的世界》想到的一些程序设计方法和哲学关系的想法

本文将古希腊哲学家的思想与现代程序设计方法进行了类比。德谟克里特斯的原子理论与结构化程序设计相似;柏拉图的理念论对应面向对象编程;而亚里士多德的进化论思想启发了一种新的程序设计方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    最近在看高数的间隙在看《苏菲的世界》,发现哲学真算是世界本源的知识,真是太神奇了!现在看了150多页,胡思乱想到一些东西,就随便写写。

 

德谟克里特斯--结构化程序设计

    德谟克里特斯的哲学理论是一种“原子”理论,他认为世界是由某几种不灭的基本元素像“搭积木”一样组合而成。我觉得他的这种理论类似于程序设计中的结构化程序设计,一个程序也是由一些基本的函数就像搭积木一样顺序的搭起来的。

 

柏拉图--面向对象的程序设计

    而在他之后的柏拉图则认为这个世界是由“理型”和“物质”两种东西组成的,所谓“理型”是一种概念,就像作为马这种动物有很多,它们各自也有不同点(有白的,黑的,大的,小的···),这些现实中存在的马称为“物质”。而我们是根据什么来判别它们是马的,是一直一直存在于我们脑中的“理型”,只要一种东西很像马这个“理型”那么我们就认为它是一匹马。虽然世界中的马有千千万万,各不相同,但我们都认为它们是马,就像现实世界中有很多圆形的东西,虽然没有一个可以称之为完美的圆形,但是我们的心中却存在圆形的“理型”。而且他认为是现有“理型”然后才产生了“物质”,打个比方说就是在什么都没有的远古时代,马这个概念也就是“理型”就一直存在着,然后直到真的马出现在我们的眼前的时候我们就认出这就是马。柏拉图的这个理论如果映射到程序设计中的话,那就应该是面向对象的程序设计了,所谓的“理型”就是类,而“物质”是实例化的对象。

 

亚里士多德--一种类似进化论和混沌无序的新的程序设计方法?

    接下来是柏拉图的弟子亚里士多德,他认为是先有物然后才产生型,物能“进化”,不过“进化”是有极限的。他的这种进化的思想很有意思,在目前的程序设计中还有能类比的方法。

    不过玩过三国杀的各位如果类比一下三国杀中的“觉醒技”的概念大概就能理解这一理论了,就拿山包的姜维来说把,他的武将技“挑衅”先不去说它,我们来看他的觉醒技“继志”--当回合开始阶段没有手牌的话就自动得到诸葛亮的武将技“观星”,并减1点体力上限,回复一点血或者摸两张手牌。我们假设姜维这个武将就是一个对象,当类检测到外界或者内部的一些条件满足时就能得到新的方法(技能)。当然反过来想,杀死蔡文姬之后会失去一切武将技能,一个类也有可能在满足一定条件时失去它现有的方法。

    如果不会三国杀的话那么来看下这个例子,刚开始有一个婴儿的对象,刚出生的时候它所能实现的方法很少(只有吃喝哭等等),而随着它慢慢长大,由于一些①内在的②外来的因素影响,他会得到一些新的能力(方法),从而变成一个“新的婴儿”,暂时先把它看成是从原来那个婴儿继承而来的子类(我也想不怎么明白)。不过随着年龄的增长,它不断“进化”,变得越来越不像一个婴儿,而且在某一天或者某一阶段变成了一个成人对象。当然当他年纪大了以后或者不幸遇上什么灾难有些能力可能会“退化”,从而失去一些方法。

    关于上面提到的“①内在”,还是拿刚才那个婴儿来说,就是在DNA的层面就已经被“编程”进人类深处的一些隐藏属性和方法,在满足一定条件之后人就能得到一些新的能力(方法)(eg:走路)。

    关于“②外来”,就是通过对外界事物的观察、理解、模仿或者更进一步的层面--自我创新,便又能获得一种新的能力。这是一种美妙的进化,大概这种进化的能力才真正能够称为一种“智能”!

 

以亚里士多德的哲学理论我试着描绘出一种新的程序设计方法

  1. 以面向对象为基础
  2. 可以动态增加和删除对象或者类(种群的进化?)的方法
  3. 某一对象增加或是删除方法之后自动变成其原来类的子类,运行环境(我们称之为大自然会更好理解)会自动生成一个新类,之后可以直接用这个新类初始化对象(生物的繁殖)
  4. 允许直接初始化未定义过的类,运行环境会自动生成这个类的定义(从石头中蹦出来的孙猴子)
  5. 这种程序运行时完全没有程序化的逻辑(①我指的是没有主函数,但是类的某个具体的方法可以是过程化的。就比方说是洗澡这个方法,总要先脱衣服,打开水龙头,洗···②在一开始就把此程序所要用到的所有对象加入到运行环境(大自然)中去,然后打开一个全局的开关,让这些对象自发的活动。这时候你就是创造一切控制一切的上帝!)
  6. 输入靠的是向运行环境中加入新的对象或者改变运行环境来实现,运行环境中原有的对象会感受到新加入的对象,并对其作出反应。
  7. 输出靠的是在某一时刻暂停运行环境,从而得到所有对象的状态作为输出
  8. 对象具有生命和智能,会出生,会死亡,会学习,会遗忘···


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值