《代码大全》的第二章:介绍隐喻(类比)的思维方式,
《经济学原理》的第二章:介绍怎么像经济学家一样思考,
《计算机的心智操作系统之哲学原理》的第一章:介绍学习操作系统的思维,
所以我也尽早地介绍我写本系列中会经常运用的学习思维。

类比

你知道什么是驱动程序吗,你会怎么向一个小学三年级的学生解释什么是驱动程序呢?

我会跟这个小学生说,现在假设你要准备一个宣传活动,为了这个宣传活动,

  • 你请了一位来自奥地利的音乐家,他能演奏各式各样的音乐,他的名字叫声卡,他是说德语的。
  • 你请了一位来自法国的艺术家,他能画各式各样的画,他的名字叫显卡,他是说法语的。
  • 你请了一位来自意大利的行政,他能收集和准备乐谱和色彩,他的名字叫网卡,他是说意大利语的。
  • 你请了一位来自美国的主管,他能安排任务中的各种细节,他的名字叫操作系统,他是说英语的。

现在为了让声卡,显卡,网卡了解操作系统的安排,你觉得还缺少什么?

这时候是不是有一个答案从你脑海中冒出来,请记住这种感觉。

通过上面的一个例子,你是否已经get到类比的威力

类比(英语:Analogy,源自古希腊语),或类推,是一种认知过程,将某个特定事物所附带的讯息转移到其他特定事物之上。类比通过比较两件事情,清楚揭示二者之间的相似点,并将已知事物的特点,推衍到未知事物中,但两者不一定有实质上的同源性,其类比也不见得“合理”。在记忆、沟通与问题解决等过程中扮演重要角色。

类比是人类思考方式中的一种重要途径,可以用于辨识问题,解释概念,及发现新的事物或功能。

简单来说:类比的学习方法,能让自己一下就想明白了一件事情。

如何更好地应用类比思维

  1. 存取已知的类比来源物概念
  2. 将已知的类比来源物进行和标的物的比对
  3. 评估类比物以及标的物之间配对的吻合度
  4. 存取类比物与标的物之间的推论
  5. 并提取类比物与标的物之间的共通性

思维穿越

很多穿越剧讲述穿越到历史某个时间,然后利用自己的现代的知识,闯出一片天地。那么如果现在有机会让你穿越到1983年之前,和比尔盖茨一起打造Windows操作系统,你愿意么?

穿越时空,目前还不可能,但思维可以。思维可以让你设想在1983年之前,你和比尔盖茨一起讨论未来的操作系统应该是怎么样的,具备有那些特性等。

为什么要这样设想呢?

  • 如果你和比尔盖茨一起打造Windows操作系统,你会不了解Windows操作系统么?
  • 如果你阿基米德一起泡澡,你会不熟悉浮力原理么?
  • 如果你和牛顿...

使用思维穿越,能让你参与到每个知识点诞生的过程,这样还有谁比你更加了解它呢?

那么应该怎么做呢?

当你用电脑在愉快地听着歌写着文档,突然由于文档软件的bug导致电脑死机了,你会提出什么样的解决方案?
当你用电脑在愉快地听着歌写着文档,每当听歌软件切换歌曲的时候,文档软件有几秒卡住不动了,你会提出什么样的解决方案?

这些都是以前操作系统创造者面对过的问题,他们会记得他们遇到什么样的问题——这些记录就可以让你的思维假设你穿越到和操作系统创造者一起打造操作系统,思维可以让你假设和之前操作系统创造者一起讨论,对比你们之间各种提出的解决方案。通过这样的思维假设来让你参与到操作系统设计中,这样还有谁比你更加了解操作系统?

神造与人造

如果我们仔细看看身边的事物,就会发现所有的东西可以划分为两类,一类是本来就存在于自然中,人类所做的只不过是发现;另一类是本来并不存在,人类所做的是发明,第一类事物我们称之为神造事物或者自然存在的事物,第二类事物我们称之为人造事物。

自1946年诞生计算机(电脑)后,计算机发展十分迅速,其原因是因为计算机对现实世界的依赖极少,如果你要打造一辆汽车,你必须考虑能量转换啦,地面摩擦啦,空气阻力啦等等等,你必须一一遵守现实世界的种种规则才能让汽车运行起来,但在计算机世界呢,为了让两台计算机通信,我们提出了七层网络模型,但实现起来貌似太过繁琐,所以现在的通信用五层网络模型就好了,其他学科能干这么任性的事情么?(文学,语言这种100%由人创造的也可以,所以编程语言也可以任性,哇咔咔~)

对于现实世界(神造)我们能做的世界基本就是遵守,而对于计算机世界(人造),由于我们是这个世界的神,所以更多的概念和机制是由我们人类提出的。

人造学科的特点 神造学科的特点
不精确,具有相对性 精确、绝对
从对人类活动的观察得出 从对自然存在的观察得出
依赖于人的主观判断力 不依赖于人的主观判断力
通常符合人的直觉 通常违反人的直觉

由于计算机知识和编程语言很多概念,术语,机制都是由人提出的,我们按照人造事物的特点来进行学习,从而易如反掌地掌握该知识点。

当人们面临困境时通常的做法就是:发明新的概念,新的术语或新的机制来解脱困境。——《计算机的心智操作系统之哲学原理》

人们面临困境时的通常做法在电脑世界中(含编程语言)更加发挥的淋漓尽致!为什么羽毛和铁球在同样高度没有空气阻力的情况下同时到达地面,你可能很难get到神的用意(万有引力→引力波→??);但同为人,为什么要这么设定,你只要站在和提出人的视角看看,想想,应该很容易get到。

结束语

本章介绍了使用类比作为切入点让你快速地对某个知识点有个大概的了解,然后再使用感同身受让你参与知识点诞生的过程,从而了解知识的全貌。

下一章将介绍我为什么选择的是C#语言。

最后留下一道思考问题:你自己有什么方式方法来认识这个世界?或者遇到一件你从来没有遇到过的问题,没有人可以给你答案,你会怎么起手去分析它?

扩展阅读

我发布了《编程哲学之C#篇:01——创世纪》后有人留言

把两个完全没有关系的东西,往一块生搬,真不知道易经和二进制有什么关系?易经不是天下最厉害的内功心法吗?出自少林。

我对易经被用于算命,太极八卦图被用于辟邪,如同火药被用于制造烟花爆竹的心情是一样一样的。我以前读书的时候,也不明白为什么古代诗人看不惯世俗然后归园田居,吟诗两首。我们就要:啊,中华文化博大精深。

大部分编程书都会这么写,面向对象的三个基本特征是:封装、继承、多态。而作为被应试教育过来人的我们也会惯性地在封装、继承、多态下面画上横线,然后在考试试卷上妥妥地填上答案,得到分数,完成任务。然而我有幸自学编程,有幸看了《苏菲的世界》,猜想到面向对象思想起源于古希腊三圣的柏拉图、亚理士多德提出,然后我开启了大量的阅读,最后再次得出:啊,中华文化博大精深。

既然古希腊有类比,那么中华文化对类比的描述是:

触类旁通——《周易·系辞上》:“引而伸之;触类而长之;天下之能事毕矣。”

《周易》也叫《易经》为群经之首。我觉得是中华文化的起源和核心。

《易经》讲阴阳协调平衡。

  • 中医:如果你上火了,那么吃一些凉性的食物来平衡。
  • 风水:如果你脾气暴躁(火),那么摆一个鱼缸(水)来平衡。

中华文化很难摆脱平衡的思维。

二进制与《易经》的关系:

莱布尼茨二进制算术体系,在1701以前已经形成,他于1701年初向巴黎皇家学会提交了一篇正式论文,即论述二进制的《数字科学新论》(Essay d'unne nouvelle Science des Nombres),但被婉言谢绝。科学院院长封单内(De Fontenelle)提出的主要理由是看不出二进制有何用处。1703年,在补充了伏羲六十四卦次序图和伏羲六十四卦方位图后,他将全部研究成果发表在法国《皇家科学院院刊》上,[14]标题为“二进制算术阐释——仅仅使用数字0和1兼论其效能及伏羲数字的意义”,莱布尼茨根据二进制来理解先天圆图(先天六十四卦方圆图),说先天原图已经包含了他所发明的东西。

2017年,我买了很多有关中华文化的书,但到现在都没有看,但还是尽可能地补上中华文化对应的知识,希望有一天,你也能再次:啊,中华文化博大精深。

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

编程哲学之C#篇:02——学习思维相关推荐

  1. 编程哲学之C#篇:01——创世纪

    我们能否像神一样地创建一个世界? 对于创建世界而言,程序员的创作能力最接近于神--相对于导演,作家,漫画家而言,他们创建的世界(作品)一旦完成,就再也不会变化,创建的角色再也不会成长.而程序员创建的世 ...

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

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

  3. 数据分析基础篇16讲之02学习数据挖掘的最佳路径是什么?

    02 学习数据挖掘的最佳路径是什么? 数据挖掘的基本流程分为哪六个步骤? 1. 商业理解:我们要知道数据挖掘不是我们的目的,我们的目的是更好地理解业务,帮助业务,所以首先应从商业角度去理解项目需求,从 ...

  4. 写给编程初学者的一篇文章,该如何学习编程?我的编程学习之路

    我的编程之路 当初还没有学习编程的时候,真心觉得编程好难啊,这是人学的吗?怎么全是符号字母?这都是啥啊?真的是让人满头问号,目前编程行业工资比较高,很多人都想学一下编程,但又不知道从哪里开始学习,我觉 ...

  5. 简单易懂的英语学习思维导图(学习篇)

    当我们步入校园的时候,英语就与我们息息相关,对比数学来说,英语虽然简单点,但也不可忽略,下面是小编用思维导图整理的英语学习思维导图,让内容看起来更有条理.更好理解,一起往下看吧~ 英语学习思维导图 课 ...

  6. C语言学习——从零开始学编程(第五篇:数组)

    文章目录 前言--小颖的话 一.一维数组 1.一维数组的创建和初始化 1)一维数组的创建(定义) 2)一维数组的初始化 2.一维数组的使用 3.一维数组在内存中的存储 二.二维数组 1.二维数组的创建 ...

  7. 运动控制器编程_快速入门 | 篇二十一:运动控制器ZHMI组态编程简介一

    点击上方"正运动小助手",随时关注新动态! 运动控制器ZHMI组态编程简介一  今天我们来学习一下,运动控制器的ZHMI组态编程简介.本文主要从产品概述.控制器连接触摸屏使用.HM ...

  8. python编程零基础-编程零基础应当如何开始学习 Python?

    看到问题关于<编程零基础应当如何开始学习 Python?>,其实是在Python未来会很火的一个基础条件下,但是我觉得光光说学习Pyhon这件事,你首先得明白三件事: --如何判断你学习编 ...

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

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

最新文章

  1. 文字转语音(jacob)
  2. 7.Mongodb复制(副本集)
  3. HDU-1268 找新朋友 (素数筛选)
  4. 实践作业3 (2017-12-4)
  5. 【杂谈】2020年有三AI计算机视觉培养计划详解,该不该学怎么学CV的简单讨论...
  6. Electron学习-创建一个程序
  7. SpringCloud学习笔记:SpringCloud简介(1)
  8. MySQL concat()函数
  9. DB2连接不上mysql数据库_一次DB2数据库连接失败(SQLSTATE=08001)的解决方法
  10. 双稳态继电器工作原理图_三招带你分清继电器与接触器
  11. 4种Golang并发操作中常见的死锁情形
  12. mycat分布式mysql中间件(自增主键)
  13. 《DSP using MATLAB》示例Example 8.10
  14. SAP计划策略40测试
  15. 网页右侧在线客服html,漂浮在网页右侧的QQ在线客服代码? 1、怎么样修改以下代码,让其变为最靠右边2、如何插入到网页当中...
  16. 【181129】VC++ 屏幕截取(窗口截图、选区截图)、屏幕拾色器、放大镜源代码
  17. Ubuntu+OpenCV学习汉字点阵,图片打印汉字
  18. 打印插件Lodop响应慢、卡顿问题分析与解决方案以及常见问题
  19. 无线鼠标计算机不识别,教你笔记本电脑检测不到无线鼠标如何解决
  20. vue 模拟随机变速的动态打字特效【支持多行文本】(含css实现闪烁光标,js动态改变setInterval定时器的时间间隔)

热门文章

  1. python静态方法怎么调用_python实例方法、静态方法和类方法
  2. cadence 常见pcb电阻_CADENCE从原理图到PCB步骤 精
  3. 饥荒联机云服务器_GAMETECH腾讯云游戏行业技术沙龙成都站圆满落幕
  4. 样本修改 sample_如何在R中使用sample()获取样本?
  5. xcode swift_CocoaPods Swift XCode教程
  6. Android Material Design按钮样式设计
  7. easymock使用方法_EasyMock最终方法– PowerMock,JUnit 4,TestNG
  8. matlab分析xml文件_修改Java中的XML文件(DOM分析器)
  9. 开课吧课堂:人工智能对金融行业的影响
  10. Java基础笔记(三)