关于逻辑、数学和编程的深层次思考

作者: 朱潘 | 来源:发表于2018-11-05 23:20 被阅读42次

众所周知,编程离不开数学和逻辑。诚然,很多程序员数学能力并不强,也没有系统的逻辑能力。但是,他们在无意识中,日常工作中,有意无意的就在使用逻辑和数学,并将它们运用于代码中。先看看下面几个例子:

我是程序员

小婷是测试工程师

小强是设计师

上面的三句话在日常生活中我们说的非常多,可能这种句子形式过于简单,所以没人去思考过他们。这三个句子都是主谓宾的形式,可以抽象为:

主体+是+职位

这就是命题,在数学中,一般把判断某一件事情的陈述句叫做命题。从上面三个命题我们可以提取共同的部分,构造成函数:

F:{我,小婷,小强} -> {程序员,测试工程师,设计师}

为了便于记号,我们用小写字母表示职员,用大写字母表示职位,上面的公式可以记作下面的形式:

F: {a, b, c} -> {A, B, C} (a, b, c ∈ 职员, A, B, C ∈ 职务)

通过上面的例子,我们从逻辑(命题)过渡到了函数。那么,在编程阶段,我们通常是怎么做的呢?我们会定义一个函数,通过调用这个函数来达到某个目的得出结果。首先,我们需要定义对象,即命题中的主语和宾语:职员、职务。参考如下:

class User{}

class Duty{}

为了表示关系,我们通常将职务定义为人员的属性:

class User{

    Duty duty;

    // getter setter

}

从上面这个例子,我们可以很容易思考出来逻辑、数学、编程三者之间的关联。逻辑用于描述事物,表达事物之间的关联关系;数学将逻辑抽象为函数,并对逻辑进行规范化公式化的定义;而编程则是将逻辑和函数用一种规范书写出来,通过输入、执行、输出来表述逻辑与函数。

如果你是程序员,那么逻辑和数学对你而言是非常重要的。要成为一个优秀的程序员,这两门学科的知识,你可能需要学习很多。

相关文章

  • 关于逻辑、数学和编程的深层次思考

    众所周知,编程离不开数学和逻辑。诚然,很多程序员数学能力并不强,也没有系统的逻辑能力。但是,他们在无意识中,日常工...

  • 一阶段day14-01面向对象编程

    一、 1、面向过程编程——》算法,逻辑(数学逻辑)2、函数式编程——》函数3、面向对象编程——》类和对象(生活) ...

  • 2018-10-17类和对象

    1.面向对象编程 编程思想:1.面向过程 --- 是以算法和逻辑(数学逻辑思维)编程2.函数式编程: 以函数,模...

  • Day-14 - 类和对象(2018-10-17)

    一、面向对象编程 编程思想: 面向过程编程 ---> 算法,逻辑(数学逻辑) 函数式编程 ---> 函数,模块 ...

  • 类和对象

    01-面向对象编程 ----编程思想 ✈ 1、面向过程编程 --> 算法,逻辑(数学逻辑)✈ 2、函数式编程 --...

  • day14-类和对象

    一、面向对象编程 1.编程思想 面向过程编程 ---> 算法,逻辑(数学逻辑) 函数式编程 ---> 函数,模块...

  • 成为真正的Python开发者

    1. 关于编程 数学能力并不是那么重要。 看起来逻辑思考的能力最重要,语言能力也很有用。最后,耐心很重要,尤其是寻...

  • 2018-10-17-day14-类和对象

    一.面向对象编程 编程思想:1.面向过程编程 ---> 算法,逻辑(数学逻辑) 2.函数式编程 ---> 函数,...

  • Day13_类和对象

    一、面向对象编程 编程思想:1.面向过程编程 ---> 算法,逻辑(数学逻辑) 2.函数式编程 ---> 函数,...

  • python 类和对象

    一、面向对象编程 编程思想:1.面向过程编程 ---> 算法,逻辑(数学逻辑)2.函数式编程 ---> 函数,模...

网友评论

    本文标题:关于逻辑、数学和编程的深层次思考

    本文链接:https://www.haomeiwen.com/subject/zjzexqtx.html