博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
抽象的魅力
阅读量:4127 次
发布时间:2019-05-25

本文共 770 字,大约阅读时间需要 2 分钟。

五一的时候闲着没事,一个人就跑到北京图书大厦去看书。因为对数学很感兴趣,不自觉地做到数学书架的旁边,人很少,拿本书,席地而坐,我已经习惯这么做了。看的是图论,因为我一直觉得图论是很奇妙的一个学科,要不是因为那些教科书搞那么多概念,而是有一本足够通俗的课本我想在大学的时候我就不会总是一个人逃课而跑到图书馆去了。几个点,几条线就构成了一副图,然而可能就是这么简单的一副图却深藏了丰富的智慧和内涵。其实我也一直在思考为什么会出现软件工程,为什么要有需求分析、需求管理、软件设计等一系列的过程,为什么很多程序设计的书籍都特别强调事物的抽象,强调事物模型的设计,为什么程序设计总是强调数学基础...

抽象,这些过程都依赖于抽象。

最早的时候,哲学便提出了对事物的抽象,然后就衍生出来了很多学科,其中就是数学。所以可以认为无论理论或应用数学都是在试图抽象某些事物,而这些抽象能力对于程序设计是非常重要的,因此我也认为对数学的良好的认识(当然不是记住那些公式和理论)可以帮助我们更好地进行程序设计。这也就解释了为什么程序设计需要良好的数学基础,但这个数学基础完全指的不是那些所谓的公式和理论而是对数学本身的理解。譬如概率,不是要求你能记住概率的那些所谓的公式,而是能够透过这些公式理解概率的本质所在,概率抽象了事务的发生的随机性,而这些随机性在很多时候是有规律的。

需求分析也是在试图抽象某些既定范围内的事物,如果需求分析做的好,也就意味着你真正理解了这些事物的本质,因为对于后续的程序设计将会有很大的帮助。

如果需求分析已经抽象出来了事物的本质,那为什么软件设计还需要我们继续抽象呢?软件在现实世界和计算机组成的机器世界中架起了一道桥梁,而机器世界可以认为是另外一种抽象。从一种抽象过渡到另外一种抽象,我们需要一些思考来实现这种过渡,那就是软件设计。

转载地址:http://jxhpi.baihongyu.com/

你可能感兴趣的文章
127个超级实用的JavaScript 代码片段,你千万要收藏好(中)
查看>>
8种ES6中扩展运算符的用法
查看>>
【视频教程】Javascript ES6 教程28—ES6 Promise 实例应用
查看>>
127个超级实用的JavaScript 代码片段,你千万要收藏好(下)
查看>>
【web素材】03-24款后台管理系统网站模板
查看>>
Flex 布局教程:语法篇
查看>>
年薪50万+的90后程序员都经历了什么?
查看>>
2019年哪些外快收入可达到2万以上?
查看>>
【JavaScript 教程】标准库—Date 对象
查看>>
前阿里手淘前端负责人@winter:前端人如何保持竞争力?
查看>>
【JavaScript 教程】面向对象编程——实例对象与 new 命令
查看>>
我在网易做了6年前端,想给求职者4条建议
查看>>
SQL1015N The database is in an inconsistent state. SQLSTATE=55025
查看>>
RQP-DEF-0177
查看>>
Linux查看mac地址
查看>>
Linux修改ip
查看>>
MySQL字段类型的选择与MySQL的查询效率
查看>>
Java的Properties配置文件用法【续】
查看>>
JAVA操作properties文件的代码实例
查看>>
IPS开发手记【一】
查看>>