No. Recursion is often a great way to code, if it is used appropriately. Recursion in Julia — bad idea? - #5 by stevengj
But the interesting and useful cases for recursion (in an imperative language) are mostly not tail recursive, so they won’t be optimized away by any compiler in any language. Instead, you often have to make them fast by coarsening the base case (which no production compiler will do for you, AFAIK).
“Yes” in a more narrow sense: use loops instead of self tail calls, which are trivially rewritten as loops in an imperative language like Julia. Recursion adds no value in this case.