《伟大的计算原理》一计算的重要原理

简介:

本节书摘来华章计算机《伟大的计算原理》一书中的第1章 ,[美]彼得 J. 丹宁(Peter J. Denning)
克雷格 H. 马特尔(Craig H. Martell)著 罗英伟 高良才 张 伟 熊瑞勤 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

计算的重要原理

对计算这一概念的理解的逐渐成熟,使得我们能不断从新的视角去确定计算领域的内涵。直到20世纪90年代,计算领域中绝大多数的科学家对该领域的理解都会落实到其所包含的一组核心技术上,例如算法、数据结构、数字化方法、编程语言、操作系统、网络、数据库、图形图像、人工智能、软件工程等。这是对计算领域的一种深刻的技术型解释。本书对计算的理解则更加关注这些技术的能力和局限背后所隐藏的基本原理。
本书所给出的计算基本原理划分为6类:通信(communication)、计算(computation)、协作(coordination)、记忆(存储)(recollection)、评估(evaluation)、设计(design)(Denning 2003,Denning and Martell 2004)2(见图1.10)。这6类基本原理都关注如何通过操纵物质和能量来实现所期望的计算。表1.1对这6类基本原理分别进行了简要描述,并给出了与之对应的篇章。

image

计算的内涵不仅仅是一种基本原理或是在此基础上形成的一些核心技术。计算的内涵还和各种实践领域紧密相关(见图1.11)。除了计算基本原理的知识之外,计算领域的专业人员还需要具备4种核心的实践能力:程序设计、系统思维、建模以及计算思维。实践能力是通过长期的经验积累而形成一种技巧。实践者的技巧可以被分为如下几类:初学者(beginner)、进阶初学者(advanced beginner)、初级资质者(competent)、熟练工(prof?icient)、专家(expert)。例如,一个入门级的程序员可能会主要关注语法和编译问题以及bug的查找问题;一个专家级的程序员则能够构建大型的软件系统,解决复杂的系统问题,或对下级程序员进行指导。基本原理和实践相互交织在一起。人们通过体现出高超技巧的行动将基本原理应用于实践中,而新的基本原理又会从大量的实践中逐渐浮现出来。

image


图1.10 每一类基本原理反映了对计算的一种视角,即观察计算领域知识空间的一扇窗口。(对这6类基本原理的排列顺序并不反映它们之间的相对重要性。)同时,这6类基本原理也不是完全不相交的。例如,互联网既可以从通信系统的角度理解,也可以从协作系统或记忆系统的角度理解。大多数计算技术都涉及对这6类基本原理的不同组合:每一类基本原理在这种组合中具有不同的权重,但每一类基本原理都确实存在。这些基本原理类别表现了人们对计算的某种认知视角。一些人认为计算仅仅就是计算,其他人则认为计算是数据、网络化的协作或者自动化系统。这种划分框架能够在某种程度上扩展人们对计算本质的认识

image


图1.11 计算领域的发展建立在基本原理和实践两者的共同作用下。核心技术是被实践者在各种计算领域中广泛应用的工具。本书主要关注基本原理及其在若干关键领域的使用,而不涉及核心技术及其在实践中的应用。基本原理或者是一种机理——定律和重复出现的事物,或者是一种设计智慧——通过不断的积累形成的关于方法可行性的知识,从而使得构造可信、可靠、可用、安全的计算系统成为可能
计算的技术人员及其客户形成的社区称为计算领域。现实中存在数量众多的计算领域。ACM(the Association for Computing Machinery)给出了其成员所关注的至少42种专业领域(Denning 2001,2011),而更多的计算领域则被冠名以“计算应用”(computing applications)。下一章将简要介绍目前受到高度关注的4个计算领域:信息安全、人工智能、云计算以及大数据。
大多数计算领域与计算之外的其他领域相关。在一篇关于计算与物理学、生命科学、社会学三个科学领域相互关系的论文中,Paul Rosenbloom发现了两种类型的关系:实现(implementation)和影响(influence)(Rosenbloom 2004,Denning和Rosenbloom 2009,Rosenbloom 2012)。实现指一个领域中的事物被用于构造另一个领域中的事物。影响指一个领域中的事物影响了另一个领域中事物的行为。这两种关系可以是单向或双向的。Rosenbloom通过一张表(表1.2)来说明计算与物理学、生命科学、社会学以及自身之间可能存在的丰富关系。其中计算与其自身的关系是因为通过不同计算领域之间的交互,计算会不断地实现或影响自身。

image

相关文章
|
6月前
|
监控 Java Serverless
函数计算的基本概念
函数计算的基本概念
47 0
|
2月前
|
弹性计算 人工智能 Serverless
函数计算基本概念
函数计算基本概念
30 8
|
3月前
|
算法 搜索推荐 Java
图计算中的PageRank算法是什么?请解释其作用和计算原理。
图计算中的PageRank算法是什么?请解释其作用和计算原理。
21 0
|
3月前
|
分布式计算 并行计算 算法
图计算中的性能优化有哪些方法?请举例说明。
图计算中的性能优化有哪些方法?请举例说明。
18 0
|
8月前
|
存储 SQL 分布式计算
分布式图计算如何实现?带你一窥图计算执行计划
分布式图计算如何实现?带你一窥图计算执行计划
分布式图计算如何实现?带你一窥图计算执行计划
|
人工智能 运维 架构师
如何用 7 分钟玩转函数计算?
如何用 7 分钟玩转函数计算?
如何用 7 分钟玩转函数计算?
|
人工智能 运维 架构师
如何用 7 分钟玩转函数计算?
阿里云是国内最早提供 Serverless 计算服务的云厂商。2017 年推出的函数计算 FC 是一款 FaaS 产品,这是一种以事件驱动为核心的全托管计算服务,用户只需编写代码并上传,函数计算就会自动准备好计算资源,以弹性、可靠的方式运行代码,并提供完整的可观测能力,大幅简化开发运维过程。
如何用 7 分钟玩转函数计算?
|
存储 人工智能 监控
“晕乎乎的概念”:阿里云函数计算的“应用”又是个啥
为什么阿里云函数计算发布了这么多功能,只有少数的功能会伴随着体验活动一起来做运营?那么这个“应用”到底是何方神圣?他和现在“服务”,“函数”有啥关系?
“晕乎乎的概念”:阿里云函数计算的“应用”又是个啥
|
C# 存储
c#位运算基本概念与计算过程
c#位运算基本概念与计算过程前言一些非常基础的东西,在实际工作中没有用到、很少用到。一旦遇到,又不知所云。最近遇到一个问题,把一个int16(short) 、两个bool变量整合成一个int32(int),当听到这个要求时,我第一反应是不是需求弄错了,后来才发现是自己才疏学浅,这里就需要位运算相关的概念。
1448 0