All in all, sound advice.
No recursion? That's a deal breaker.
No recursion? That's a deal breaker.
Interestingly, one of the goals of the Zig language (marketed as a replacement for C, currently in development), is to eliminate stack overflow while keeping recursion (by enabling the user to allocate stack frames in the heap).