In my opinion it was due to one single idea: Interactivity. Think about it: These days we revel in the idea of hot-loading assets, changing shaders on the fly, and interacting via scripting languages such as Lua and advanced level editors. What if your whole engine was interactive. Not just parts of it, but all of it
Andy’s system was not just a compiler. It was also a linker, a debugger, a dependency manager and a macro expander, but more importantly -- it was a server. This is so fundamentally important. If you are going to change code on the fly, something needs to know “everything”, and the compiler knew everything. It was live, so you could get access to everything, results of macros, memory on the target.
Stay up-to-date by subscribing to the Comments RSS Feed for this post.