我们能否像神一样地创建一个世界?

对于创建世界而言,程序员的创作能力最接近于神——相对于导演,作家,漫画家而言,他们创建的世界(作品)一旦完成,就再也不会变化,创建的角色再也不会成长。而程序员创建的世界,每次运行都可以有不一样的内容,而且最为重要的,我们还能给与角色不能学习的能力(AI[人工智能])。本章就向你展示程序员像神一样创建世界的可能性以及为什么这一系列的文章叫《编程哲学》。

创世纪

  • 起初...空虚混沌,渊面黑暗
  • 神说:要有光
    • 于是,就有了光...
  • 神说:天上要布满星辰
    • 于是,宇宙间布满了数不清的大大小小的星球...
  • 神说:水应聚集在一起,使旱地显露
    • 于是,有了陆地与海洋...
  • 神说:陆地上要生出草木和各种蔬菜
    • 于是,整个大地上一片生机盎然...
  • 神说:水中要有众多的鱼,天空中要有无数的鸟
    • 于是,世间出现了各种各样的鱼和飞鸟...
  • 神说:要有人
    • 于是,神照着自己的形像造人...

      • 人通过观察与学习...

        • 人说: 要有光

人创造的世界(宇宙)

网络世界


其代表:维基百科,人类将现在的知识不断地编写到这个网络世界中,方便人交流与学习。

在这个世界中我们创造了文字、图片、声音、影像,但比起神所创造的世界,还远远不够,继续提升技能吧——上帝见习生(叫程序员,太low了,这系列我都会将想学编程的人称为上帝见习生,我们的目标是像神一样创建世界!)

游戏世界


《头号玩家》——电影中,玩家通过VR设备进去游戏,可以在金字塔上滑雪,可以和蝙蝠侠一起去登陆珠穆朗玛峰,可以穿梭游戏中各个星球,可以通过穿着X1触感套装将游戏中触觉传给身体。

在这个世界中,我们可以360度观察我们创造的世界,可以通过穿着触感套装来增加对游戏世界的体验,但比起神所创造的世界,还远远不够,继续提升技能吧——上帝见习生

I'm a dreamer, I build worlds
我是一个梦想家,我创建世界——詹姆斯·哈利迪《头号玩家》

虚拟世界



《黑客帝国》——电影的故事背景是,21世纪中叶人类发明人工智能,在随后的几十年迅速发展。也不知道是人类还是机器挑起了战争,不过可以确定的是人类为了消灭机器烧焦了天空,从此地整个球被一层黑云笼罩着。地球不再有阳光,人类自认为机器没有了阳光很快就完蛋了(当时地球的主要能源是太阳能,其他的资源都消耗完了),而人类依靠有机物可以坚持一段时间。但是结果人类想错了,没有了阳光地球唯一的能源就是有机物。最终机器发现人类的生命活动可以释放大量的电能,于是机器利用人类发明了有机电厂,利用活体人类发电。为了让人类的意识活着,机器人将人类的大脑连接到一个虚拟世界中。而上图图1就是电影男主觉醒后看到世界的真实样子。

在这个世界中,我们创造了有智慧的人工智能,但有一个瑕疵,就是人类和人工智能在同一个世界中,你觉得呢——上帝见习生

子世界


《异次元骇客》——男主和他的好基友用电脑模拟出一个逼真的世界,他们可以通过电脑进入这个虚拟世界,真实地体验的生活与自己。然而一个夜里,好基友被人杀死,种种线索都表明似乎是男主所为。可男主却对当天夜里的事情全无记忆。而真相是:如同男主可以进入他用电脑模拟出的虚拟世界一样,他可以控制里面的一个人物,男主也是这样被更加上层的世界的人所控制杀了好基友。最后男主在女主的帮助下,打开了现在世界的门,前往了更加上层世界。

在这个世界中,我们创造了子世界,而子世界的人又创造了另外一个子世界...每个世界的人都富有智慧和创造力,或许这就是我们的目标——上帝见习生

这部电影给了我一个很大的启发,我们可以编程创建一个新的世界出来,给世界中的人类智能,如果里面的人突然有一天发现他们的世界被创造出来的,并且找到前往创作者世界的方法,那么我们是不是可以从中找到跳跃出宇宙外的可能性呢?

编程哲学

我们要如何创造一个世界(宇宙)呢?正如我在上面创世纪小节说了,人通过观察与学习,我们要创造一个世界(宇宙),入手点就应该好好地观察和分析我们的世界(宇宙)是怎么样的。而研究这个世界(宇宙)的性质、世界(宇宙)内万事万物演化的总规律、人在世界(宇宙)中的位置,是哲学的范畴。

哪为何编程语言和哲学挂上勾,请看下面表格

语言符号 哲学代表
强类型语言 哲学代表:帕拉图与亚里士多德的“永恒世界”
弱类型语言 哲学代表:释迦牟尼的“佛学”
二进制 哲学代表:伏羲、周文王、孔子的《易经》与太极八卦图

上面的表格的内容,本系列会一一解答,让你明白每种编程语言都代表一种思维方式,一种哲学观

本系列核心内容是介绍各种哲学观和思维方式,随便把某种编程语言学了。

霍金在他的《大设计》中表示哲学已死,因为哲学已经远远赶不上现代科学的步伐了。然后我的观点是,现代科学只是在告诉我们所生存依赖的世界是怎么样的,但如果我们要创造一个世界的话,一般都会加上自己的“想法”,而这个“想法”谁可以来告诉我们呢?

由于我们的文化原因,我说明一下我对佛学和佛教的看法。教你戒色,戒酒,戒肉,这些是属于佛教的内容。而“看山是山,看山不是山,看山还是山”这些是属于佛学内容。简单来说,佛学是教你怎么看这个世界——这是哲学的范畴。

结束语

这也许是编程史上最强的打鸡血文章:程序员是像神一般的存在。但创造一个世界不会真的像创世纪的神一样说几句话就成了,唯有学习才能赋予我们神一般的创造能力。

下一章将介绍在阅读本系列时,需要应用到的学习思维。

最后留下一道可以思考一生的问题:你认为的世界是怎么样的,你想创造一个怎么样的世界?

转载于:https://www.cnblogs.com/weixb/p/9269358.html

编程哲学之C#篇:01——创世纪相关推荐

  1. 编程哲学之C#篇:02——学习思维

    <代码大全>的第二章:介绍隐喻(类比)的思维方式, <经济学原理>的第二章:介绍怎么像经济学家一样思考, <计算机的心智操作系统之哲学原理>的第一章:介绍学习操作系 ...

  2. 编程哲学之 C# 篇:007——如何创造万物

    上帝拥有创建万物的能力,本文介绍创造万物的道,让你也拥有上帝般创造万物的能力! 道 中国哲学家,道家学派创始人--老子,在<道德经>写到: 道生一,一生二,二生三,三生万物 那么,是什么 ...

  3. PEInfo编程思路讲解01 - 工具篇01|解密系列

    PEInfo编程思路讲解01 - 工具篇01 让编程改变世界 Change the world by program   软件安全是信息安全领域的重要内容,本系列视频教程将涉及到软件相关的加密.解密. ...

  4. python精彩编程200例 pdf-Python创意编程200例turtle篇

    简 介: Python是一种高阶计算机语言.它更接近自然语言,学习成本低,开发效率高.如今越来越多的中小学生都在开始学习Python了.我们可以预见,全民会Python的日子不久就会到来,各行各业的人 ...

  5. java用排序子程序,论面向组合子程序设计方法 之一 创世纪

    新开张.先炒些冷饭过来.狡兔三窟,万一哪天javaeye倒台了(robbin气的脸都青了),我辛辛苦苦码的字就丢了,就象当年在allaboutprogram的遭遇一样,哭都找不到庙门. 发现老庄的连载 ...

  6. [原创] 神的计划8 - 创世纪–约瑟

    约瑟          上一篇 一群放牛娃在山上发现了一个能够照出人影的石壁,于是每个人都到石壁面前照照.其中一个孩子走过石壁的时候发现石壁中出现的竟是身穿龙袍的自己,于是被大家簇拥着回了家,那个孩子 ...

  7. python精彩编程200例-Python创意编程200例turtle篇

    简 介: Python是一种高阶计算机语言.它更接近自然语言,学习成本低,开发效率高.如今越来越多的中小学生都在开始学习Python了.我们可以预见,全民会Python的日子不久就会到来,各行各业的人 ...

  8. python创意turtle作品-Python创意编程200例turtle篇

    简 介: Python是一种高阶计算机语言.它更接近自然语言,学习成本低,开发效率高.如今越来越多的中小学生都在开始学习Python了.我们可以预见,全民会Python的日子不久就会到来,各行各业的人 ...

  9. 什么是壳 - 脱壳篇01

    什么是壳 - 脱壳篇01 让编程改变世界 Change the world by program 壳 在自然界中,植物用壳来保护种子,动物用壳来保护身体,我们人类没有壳,但我们有衣服,房子也起到了壳的 ...

最新文章

  1. 好莱坞科幻新片《b》,钦定 AI 机器人出演女主角!
  2. 用 Flask 来写个轻博客 (27) — 使用 Flask-Cache 实现网页缓存加速
  3. [置顶] PHP如何扩展和如何在linux底层对php扩展?
  4. 关于web服务器TIME_WAIT值高的问答
  5. Nginx作为静态资源web服务
  6. 团队项目开发编码规范之一:概述
  7. hadoop--Yarn资源调度器的基础架构、工作机制 与 作业提交全过程
  8. Hugo中文文档 快速开始
  9. (转)GitHub 被微软收购后的 52 天,改版并放弃了 jQuery!
  10. 元胞计算机系统,元胞自动机
  11. 4 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之Lvs为Mysql-slave做负载均衡
  12. C/C++ union
  13. 使用flatten-maven-plugin对发布的POM进行精简
  14. 称重仪表显示ol怎么解决_电脑显示器无信号怎么解决呢?
  15. C++——模板(超详细的模板解析)
  16. DB9接口详解---DB9引脚在 UART,CAN,RS485中的定义
  17. java常见异常和代码演示
  18. matlab中二阶偏导数,MATLAB中带有两个变量的函数的一阶和二阶偏导数
  19. 详解条件概率,全概率,贝叶斯公式
  20. 一个简洁美观的静态网页登陆页面(css+html)

热门文章

  1. c语言createfile函数,C语言的下载函数
  2. 【SDX62】WCN6856 wifi驱动加载出现cnss: Invalid SBL log data
  3. UBNT AMPLIFI Mesh全屋wifi覆盖路由器组网问题
  4. iOS UIImagePickerController轻松调用相机详细介绍
  5. 百度语音输入 html5,百度语音识别(采集麦克风声音 并自动转为文字)
  6. Python调用百度AI接口用以实现在线语音合成 并创建简单的GUI界面 生成可执行应用程序
  7. 基于AndroidVideoCache实现预加载
  8. SSD固态硬盘的Trim命令是什么
  9. DJSF1352RN直流电能表在某新加坡光伏储能系统中的应用
  10. VS问题:该依赖项是由项目系统添加的,不能删除。