每個人都知道迪傑斯特拉的信給編輯:go to statement considered harmful(也在這裏.html成績單和這裏.pdf)。我想知道是否有人試圖通過添加任何其他語言擴展或開發允許goto的語言來找到使用goto的可重用且可維護且無害的代碼的方法。Goto被認爲是有害的,但是有沒有人試圖使用goto重新使用和維護代碼?
我問這個問題的原因是,我發現用匯編語言編寫的代碼經常使用goto和全局變量來使程序在有限的空間內正常工作。其中有128字節RAM和程序的Atari 2600是從ROM盒式磁帶加載的。在這種情況下,最好使用非結構化編程,並充分利用這些自由,從而充分利用該程序的非常有限的空間。
當您將此遊戲與不使用gotos的今日編程遊戲進行比較時,遊戲會佔用更多空間。
然後,我發現,如果爲了支持這些規則或其他語言的變化而使用gotos進行編程,那麼可能會減少或消除gotos的負面影響。有沒有人試圖找到一種方法,讓goto的NOT被認爲是有害的,通過創建一個語言或一些規則遵循,這使得gotos是無害的。
如果沒有人以無害的方式尋找方法來使用gotos,那麼我們是否可能採用結構化編程而不必僅僅基於本文?也許還有另一種解決方案可以在沒有反面的情況下使用gotos。