Get the latest tech news
NASA has a list of 10 rules for software development
Read the full document (local copy) or the original. Read it first, before reading these comments.
Those rules were written from the point of view of people writing embedded software for extremely expensive spacecraft, where tolerating a lot of programming pain is a good tradeoff for not losing a mission. I am criticising them from the point of view of people writing programming language processors (compilers, interpreters, editors) and application software. Worse still, taking a problem that is naturally expressed using recursion and contorting it into something that manipulates an explicit stack, while possible, turns clear maintainable code into buggy spaghetti.
Or read this on Hacker News