> It's also probably significantly slower, so you'd likely still want to > use the iterative version
Generalizing this to the majority of recursive functions/methods, are their iterative counterparts more efficient? (I say "majority of" because I've personally encountered one or two recursive functions/methods that were either very difficult for me to translate to iteration or just not possible with my skill level at the time) > It is related to the old saying "If all you have is a hammer, then > everything looks like a nail". Using this saying in the context of programming languages is extremely accurate! Because Python can be object oriented or data oriented, it is a large toolbox capable of tackling an even larger set of problems quite simply. I've never personally used Lisp, but I have used Java a bit. Even just the strict object-oriented nature of Java was fairly cumbersome. The freedom, fluidity, and the dynamic nature of Python are the reasons it's my preferred language. For just a moment, allow me to abstract this argument to include languages other than Lisp I'm better versed in. Older languages, like Java and C, required explicit typing for their variables, explicit output types for their methods, and semicolons and brackets instead of utilized whitespace. Please correct me if I'm wrong, but this system was primarily for saving memory because computers were far less powerful when these languages were born. Python, being a relatively young language, is free from these shackles and was built to run on more modern computers where bits and bytes are not a common constraint. That said, if I were to ever design a software I planned on sharing, I would write it in one of the more space-friendly languages. Thank y'all for the great reading about Lisp vs Python and letting me get very off-topic. Best, Wyatt Biggs -- https://mail.python.org/mailman/listinfo/python-list