混乱原理与程序设计。

混乱原理就是:对于每一种管控方案,都会对应到一个规模极限和一个效率适配范围;所谓规模极限,就是超过极限就必然会发生失控、产生混乱;适配效率是指极限规模增加必然导致效率降低、成本增加。

在开发语言中,通过系统化方案来解决混乱原理有关问题的典范是C语言和C++语言:

一般程序员编写代码,超过一百行就会出现失控状态,即使是有经验的专业人员也会感到十分吃力。C语言把自顶向下的工程方法引入程序设计,成功实现了几千行代码的设计。这是个了不起的成功突破。

然而,C语言社区并没有停下脚步,继续进行更大规模代码开发的工程方法研究。于是,以面向对象为特征的C++语言应运而生。C++语言的管控模型是十万行代码级别的设计。所以,目前为止的大型代码实现大多采用C++语言。系统厂商还在设法在C++语言方案上进一步挖潜提高(例如:微软在C#中引入了namespace概念);然而,这方面的工作收效不大。

更激进的编程方案研究人员、设想通过改变更底层的设计(例如:程序运行原理上的管控运行与自治运行)来实现下一步规模上的突破。然而,可能还是无法改变工程极限的现状。

我认为:无论如何,引入容错设计对于大规模项目来说、是无可奈何的没有办法的事情。因为,混乱理论讨论的是数据量,并不关心数据的形式与特性;也就是说,各种形式的系统都有规模极限,组织化模型与无组织化模型都会因为过于庞大而进入失效状态。容错运行、可能是大规模系统必须具有的能力。

相关推荐
Тиё Сиротака1 天前
红包分配算法的严格数学理论与完整实现
算法
故事不长丨1 天前
C#定时器与延时操作的使用
开发语言·c#·.net·线程·定时器·winform
hefaxiang1 天前
C语言常见概念(下)
c语言·开发语言
“αβ”1 天前
MySQL表的操作
linux·网络·数据库·c++·网络协议·mysql·https
potato_may1 天前
链式二叉树 —— 用指针构建的树形世界
c语言·数据结构·算法·链表·二叉树
欧阳天风1 天前
js实现鼠标横向滚动
开发语言·前端·javascript
十五年专注C++开发1 天前
Asio2: 一个基于 Boost.Asio 封装的高性能网络编程库
网络·c++·boost·asio·asio2
gcfer1 天前
CS144 中的C++知识积累
c++·右值引用·智能指针·optional容器
java修仙传1 天前
每日一题,力扣560. 和为 K 的子数组
算法·leetcode
yue0081 天前
C# Directory的用法介绍
开发语言·c#