> [The] absence of recursion prevents runaway code, and helps to secure predictable performance for all tasks.
I can see the reasoning here, but wow, banning recursion..
> [The] absence of recursion prevents runaway code, and helps to secure predictable performance for all tasks.
I can see the reasoning here, but wow, banning recursion..
But, these rules are for safety on embedded systems with very small amounts of memory. These represent the best lessons learned, the best ways to guarantee your function will finish in finite time and not run out of memory.
But this does not forbid implementing ones own memory manager that uses blocks from a huge continuous buffer.
So I'm in pure speculation land here, but I could see JPL frowning on rolling your own memory manager. Though I also imagine many applications of these rules happen on hardware that is small enough to make writing a memory manager overkill anyway.