Immutable Architectures with Michael Perry
What's an immutable architecture, and why do you want one? Carl and Richard talk to Michael Perry about his book The Art of Immutable Architecture and the power of historical models. Michael talks about different designs for immutability, the ability to always look back through data, to avoid conflict between resources, and the advantages of eventual consistency. As Michael says, you already use immutable architecture - look at Git and how you only add new files to the system, always able to get back to a previous state! The conversation dives into implementing architecture in a way that helps to show where immutability makes sense.
Guests:
Michael Perry
Software is math. Every class is a theorem. The compiler is the proof. And unit tests check our work. Michael L Perry has built upon the works of mathematicians like Marc Shapiro, Pat Helland, and Leslie Lamport to develop a mathematical system for software development. He has captured this system in a set of open-source projects: Jinaga and Assisticant. He applies his love of software mathematics at Improving, a trusted partner for agile application development.
Links:
- SudoLang https://medium.com/javascript-scene/sudolang-a-powerful-pseudocode-programming-language-for-llms-d64d42aa719b
- Jinaga https://jinaga.com/
- Assisticant https://assisticant.net/
- The Art of Immutable Architecture https://michaelperry.net/the-art-of-immutable-architecture/
- Conflict-free Replicated Data Types https://crdt.tech/
- Event Sourcing https://learn.microsoft.com/en-us/azure/architecture/patterns/event-sourcing?WT.mc_id=DT-MVP-10953
- Record Types in .NET https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/tutorials/records?WT.mc_id=DT-MVP-10953