Also worth reading today is this short but fascinating PDF paper from Alessandro Warth and Alan Kay. They start from a curious premise: if "tabs" are so useful in browsers, as a way to isolate one unpredictable process from another, wouldn't something similar be useful in general programming? From there, they get into notions of branching program state, and controlling the relationship of these program "worlds" to each other. It's a bit rough, but it's an interesting and novel way of thinking about a program, and I could see it becoming rather useful with some more evolution...