返回介绍

第一部分 程序和机器

发布于 2023-05-18 19:12:04 字数 917 浏览 0 评论 0 收藏 0

什么是计算?这个词对于不同人来说意思不同,但是每个人都会赞同这样一种理解:在一台计算机读取程序、运行程序、读入一些输入,并且最后产生一些输出的时候,肯定发生了某种计算。因此我们可以这样认为:计算就是指计算机所做的事情

为了创造一个环境让这种熟悉的计算发生,需要三个基本要素:

· 一台机器,能够执行计算;

· 一种语言,用来编写这台机器能够理解的指令;

· 一个程序,用这种语言编写,描述机器应该具体执行哪些计算。

这部分内容就是关于机器、语言和程序的:它们是什么,行为如何,我们如何对其建模并展开研究,以及如何利用它们完成实际工作。通过研究这三要素,我们将对计算的含义以及它是如何发生的有更好的理解。

在第 2 章,我们将设计和实现一种简单的编程语言,并用几种不同的方法来研究这种语言的含义。理解了一种语言的含义,就可以把一段没有生命的源代码和一个动态的、正在执行的进程联系起来。每一种方法都能带给我们一个把程序运行起来的特定策略,而我们最终将用几种不同的方式来实现同一语言。

我们会发现编程是一门把一个准确定义的结构组装起来的艺术,这个结构能拆卸、分析,并最终被一台机器解释执行从而完成一次计算。更重要的是,我们还会发现实现编程语言既简单又有趣:尽管语法分析、解释和编译看起来很吓人,但实际摆弄起来其实会感觉简单又愉快。

如果没有机器来运行,程序本身没有多大用处。所以在第 3 章里,我们会设计非常简单的机器,以便执行基本的、硬编码的任务。有了这个简单的基础,我们在第 4 章会向更复杂的机器努力前进,并在第 5 章介绍如何设计能被软件控制的通用计算装置。

到第二部分的时候,我们将了解拥有计算能力的机器的全景:一些机器拥有非常有限的能力,一些机器用处更大但仍然令人沮丧地有一些限制,最后还有一些机器是我们知道如何构建的最强大的机器。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文