Czy rekurencja w scali jest bardzo konieczna?

W samouczku coursera scala większość przykładów wykorzystuje iteracje odgórne. Częściowo, jak widzę, iteracje służą do unikania pętli for / while. Jestem z C ++ i czuję się trochę zagubiony.

Czy wybrano iterację dla pętli / while? Czy jest to praktyczne w produkcji? Jakiekolwiek ryzyko związane z stackoverflow? Jak o wydajności? Co powiesz na oddolne programowanie dynamiczne (zwłaszcza, gdy nie jest to rewizja ogonowa)?

Czy powinienem używać mniej warunków „if”, zamiast tego używać więcej „case” i podklas?

questionAnswers(5)

yourAnswerToTheQuestion