1. 성능차이
미친이가 안난다. 라고 했지만, 난다.
가장 잘짠 재귀랑,
가장 잘짠 반복이랑 비교한다면, 반복이 빠를 수 밖에.
복귀 주소를 기억해서 처리할 필요없는 분기니까 말야.
경우에 따라 코드 볼륨이 늘어나면 파이프라인에 묻혀서 티 안날수도 있음.
하지만 아직까진 반복이 빠름. 메모리 사용량도 훨 적을 수 밖에 없음.
누가 완전히 동등하다고 주장하면 그 애는 computer architecture 수강해야함.
2. 가독성차이
도찐개찐. 굳이 비교하자면 성능차이와 마찬가지 정도로
조금 재귀가 낫지.
재귀쪽에 아주 유리한 케이스가 있긴한데,
반복쪽에 유리한 케이스도 있어서 뭐 그닥. for each 나 짧은 축약문들 말야.
3. 남자는?
미분이지.
미친횽말은꼬리재귀최적화를해서생성하는코드를말하구있는거같아
분할정복 뭔가쪼잔하다 남자답게 그냥 통으로 후려치자
그게 되는건 일부 케이스니깐 뭐.
그런데꼬리재귀는반복문못지않게좀코드가구구절절해지는면이있어가지구서
꼬리재귀는 리커젼으로 하나 이터레이션으로 하나 가독성은 똑같다고 본다 밑에 perl 짜놓은게 그 예고 하노이 탑같은걸 재귀 아니고 이터레이션으로 짜라 하면 미치지 ㅎㅎ
리커젼이 좋은 경우도 있고 이터레이션이 좋은 경우도 있어서 케바케다 아님?
ㅇㅇ 상황따라 다르게 쓰면 되는거지. 재귀가 무조껀 나쁜건 아님... 리팩토링 하다보면 재귀를 반복으로도 바꾸지만 반복을 재귀로 돌리는 경우도 많음.. 나혼자 일할거 아니니깐..
미친이가 사람생각을 그대로 옮길 수 있는 부분이 많아 장점이라고 하는것도 맞는데, 어차피 추상단계의 갈림길이다. 대개 함수를 복잡하게 짜는게 잘못짠거지
이터레이션을 얼마나 직관적으로 짤수있냐에 갈리겠네 그럼