Benad's Web Site

Managing large amounts of C code within a single process can be quite daunting. If any single thing breaks, everything breaks spectacularly. It is not surprising that on Unix, the system C was originally made for, encourages modular, multi-process design that communicate through pipes. While this kind of modular design works well for multi-machine, distributed systems, it doesn’t work too well most of the time, since code tends to be monolithic and not necessarily worth the high development overhead of that multi-process modularization.

The trick, of course, is to try to adhere to software design patters, which may help with validation and to avoid bugs as much as possible. Which led of course to C++, UML, and all those half-assed solutions. By that I mean is that what can truly help is some kind of run-time engine closely intertwined with the programming language that not only moves coding complexity to run-time behavior, but also can gracefully handle many types of programming errors.

Oh, I so much miss stack traces…

Published on April 24, 2012 at 21:58 EDT

Older post: FreeIndieGam.es

Newer post: The Adventures of Lolo