How we got recursion.

The topic might be slightly esoteric to some people, but what Brailsford describes is how the software industry finally settled on how the problem of "recursion" should be addressed in higher level programming languages.

Instead of tackling the problem from the perspective of general recursion, to deal with high level Ackermann functions, different languages went about it different ways.

One way is to implement fake recursion that doesn't keep track of each individual step of recursion.  This might be useful for certain situations, but not the right way to go about it.  It's a "broken recursion" functionality.

Another (hypothetical) way is to try to implement "general recursion" to try to fully implement Ackermann functions, which was (and still is) not feasible.

All this to say, the wrong way to go about it would be to say, "We cannot fully implement Ackermann, therefore we won't implement any of it."

The way they settled on was to implement "limited recursion," which would fulfill most requirements.  Basically, they applied practical limitations on these high-level languages.  Maybe it would take a lot of memory.  Maybe it would take a lot of time.  It depends on what you're doing and what your resources are.


Source of shared Link

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now