Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| plipplop:start [2024/07/21 15:03] – created gedbadmin | plipplop:start [2024/07/21 15:45] (current) – [Some Problems That Must Be Solved for Plip Plop Programming To Work] gedbadmin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Plip Plop Programming ====== | ====== Plip Plop Programming ====== | ||
| + | |||
| + | ====== Motivation ====== | ||
| + | |||
| + | Plip Plop Programming is my personal variation on the concept [[wp> | ||
| + | |||
| + | The motivation is taken from the book " | ||
| + | |||
| + | > The office is involved in very many contracts, and in very many business relationships with clients, agents, suppliers and other people and organizations in the outside world. | ||
| + | |||
| + | When we look at business interactions at the human level everything is happening at a small scale over a long period of time. Over months and years. | ||
| + | |||
| + | Overcoming this mismatch is expensive, requiring complex programming to save and load state over time. In order to justify the cost it is necessary to work at a large scale where thousands of records are available for processing every second to keep the machines busy. This has caused a relentless push to larger scales and centralisation. | ||
| + | |||
| + | With Plip Plop Programming the goal is to create a system that allows low cost development at the human scale by creating a Persistent Virtual Machine that runs in human time. Robust state is maintained over months and years, waiting for the occasional activity. | ||
| + | |||
| + | > The fundamental purpose of the system is to support the work of the people in the office. | ||
| + | |||
| + | Designing such a system presents an interesting architectural challenge. | ||
| + | |||
| + | ====== Problems That Must Be Solved ====== | ||
| + | |||
| + | * How do you fix problems when you cannot turn it off and on again? | ||
| + | * How do you manage change to code that runs over months and years? | ||
| + | * How do you anticipate everything that might happen over such a long time? | ||
| + | |||
| + | Over in the following sections I'm going to explore some novel solutions for these problems. | ||
| + | |||
| + | ===== Robust state that persists over time ===== | ||
| + | |||
| + | ===== Creating new features without breaking existing functionality ===== | ||
| + | |||
| + | ===== Fixing problems when they are encountered ===== | ||
| + | |||
| + | |||