這個問題有部分答案here和here,這似乎隱含地暗示javascript和python導致'無限遞歸'。在編程中檢測尾遞歸langs
背景
最近我一直在尾遞歸這在我目前的理解是,編程風格(*一般)持有的可讀性的利益等同迭代求解性能的好處涉足 - 基本上使它成爲兩個世界中最好的。
例子
我已經注意到,如果一個人做在.NET或Java:
while(true) {...}
最終的Windows將彈出一個對話框,允許用戶機器來改變這種說可執行文件的狀態:
問題
由於尾遞歸(*幾乎)沒有在這裏對付計算器例外,我是假設不正確的是Java或C#要麼:
- 觸發「富。 exe文件沒有響應在無窮遞歸」對話框
- 結果
此外,我的假設,這種運行‘例外’將通過該語言的翻譯處理是否正確?
Java將拋出一個'StackOverflowError' 。在Java中,尾遞歸併不是特例。 – Radiodef 2015-04-06 02:10:01