Preventing the Collapse of Civilization

Jonathan Blow’s main thesis in this lecture is based on certain past events in human history. Listing several examples of certain knowledge and technology completely lost because of systematic societal collapse he argues that this might just happen to software and modern civilisation.

Amongst things he mentions the bewilderingly complex Antikythera mechanism as lost knowledge not merely stumbled upon by by the inventors but a result of an organised scientific process of failiure and discovery. Thus he claims that even complex systems can crumble and disappear only leaving traces and indications for future humans as to what was going on.

He makes the case that software might end up like these examples simply because of the extreme complexity we have built into our systems, and the (possble) lack of competent people to understand them in a complete way. This might make future humans unable to probably understand what is going on since the (very niche) knowlege required died off with the people that held it.

This being a game conferance he specifically mentions the Unity and Unreal game engines and the fact that hardly anyone writes their own engines anymore. These grew out of an environment with a lot of game engine competence, since people back then actually wrote engines. Now that people mostly only use them, we might end up not having enough people knowing how they actually work and that are capable of debugging, extending and maintainig their inards. Reviving this sort of specific domain knowledge is also very hard in retrospect.

Arguing against this in a way: Simplicity is Wonderful, But Not a Requirement This author however talks more of the possibility of making modern software work, and making it work well for our purposes. His argument is not about the time evolution of the knowledge of such systems.