如何用Python实现SICP中的赋值与局部状态管理?

更新于
2026-10-11 17:34:20
0阅读来源:SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计6649个文字,预计阅读时间需要27分钟。

如何用Python实现SICP中的赋值与局部状态管理?

模块化,即将系统划分为一些自然地划分的部分(如:内聚的[coherent]部分),使这些部分可以分别进行开发和维护。在哲学上,这种组织程序的方式与我们对被模拟系统的认知信息相一致。

所谓模块化,也即使这些系统能够“自然地”划分为一些内聚(coherent)的部分,使这些部分可以分别进行开发和维护。

在哲学上,组织程序的方式与我们对被模拟系统的认识息息相关。接下来我们要研究两种特色很鲜明的组织策略,它们源自于对于系统结构的两种非常不同的“世界观”(world views)。

  • 第一种策略将注意力集中在对象(objects)上,将一个大型系统看成不同对象的集合,它们的状态和行为可能随着时间不断变化。

  • 另一种组织策略将注意力集中在流过系统的信息流(streams of information)上,非常像EE工程师观察一个信号处理系统。

这两种策略都对程序设计提出了具有重要意义的语言要求。对于对象途径而言,我们必须关注对象可以怎样变化而又保持其标识(identity)。这将迫使我们抛弃前面说讲过的计算的代换模型,转向更机械式的,理论上也更不容易把握的计算的环境模型(environment model)。在处理对象、变化和标识时,各种困难的根源在于我们需要在这一计算模型中与时间搏斗,如果引入并发后还将变得更糟糕。

阅读全文

本文共计6649个文字,预计阅读时间需要27分钟。

如何用Python实现SICP中的赋值与局部状态管理?

模块化,即将系统划分为一些自然地划分的部分(如:内聚的[coherent]部分),使这些部分可以分别进行开发和维护。在哲学上,这种组织程序的方式与我们对被模拟系统的认知信息相一致。

所谓模块化,也即使这些系统能够“自然地”划分为一些内聚(coherent)的部分,使这些部分可以分别进行开发和维护。

在哲学上,组织程序的方式与我们对被模拟系统的认识息息相关。接下来我们要研究两种特色很鲜明的组织策略,它们源自于对于系统结构的两种非常不同的“世界观”(world views)。

  • 第一种策略将注意力集中在对象(objects)上,将一个大型系统看成不同对象的集合,它们的状态和行为可能随着时间不断变化。

  • 另一种组织策略将注意力集中在流过系统的信息流(streams of information)上,非常像EE工程师观察一个信号处理系统。

这两种策略都对程序设计提出了具有重要意义的语言要求。对于对象途径而言,我们必须关注对象可以怎样变化而又保持其标识(identity)。这将迫使我们抛弃前面说讲过的计算的代换模型,转向更机械式的,理论上也更不容易把握的计算的环境模型(environment model)。在处理对象、变化和标识时,各种困难的根源在于我们需要在这一计算模型中与时间搏斗,如果引入并发后还将变得更糟糕。

阅读全文