前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于逻辑、数学和编程的深层次思考

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

作者头像
三哥
发布2018-12-06 16:22:35
3680
发布2018-12-06 16:22:35
举报
文章被收录于专栏:java工会java工会

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

  1. 我是程序员
  2. 小婷是测试工程师
  3. 小强是设计师

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

主体+是+职位

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

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

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

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

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

class User{} class Duty{}

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

class User{ Duty duty; // getter setter }

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java工会 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档