Most programming languages are Turing complete (finite memory blah blah blah), and when we design languages this is a goal.
But is it really necessary? What algorithms do we typically use that require Turing completeness? And do most industry software actually require it?
Like what can't pushdown automata do?