ฉันจะไม่เห็นด้วยกับ whippersnappers รุ่นเยาว์ของคุณทั้งหมด
การใช้ผลตอบแทนกลางวิธีถือเป็นโมฆะหรืออย่างอื่นเป็นการปฏิบัติที่ไม่ดีด้วยเหตุผลที่มีการพูดชัดแจ้งอย่างชัดเจนเมื่อเกือบสี่สิบปีที่แล้วโดย Edsger W. "และดำเนินการต่อใน" Structured Programming "โดย Dahl, Dijkstra และ Hoare
กฎพื้นฐานคือทุกโครงสร้างการควบคุมและทุกโมดูลควรมีทางเข้าเดียวและทางออกเดียว ผลตอบแทนที่ชัดเจนตรงกลางโมดูลจะทำลายกฎนั้นและทำให้การให้เหตุผลเกี่ยวกับสถานะของโปรแกรมทำได้ยากขึ้นซึ่งจะทำให้ยากที่จะบอกว่าโปรแกรมนั้นถูกต้องหรือไม่ (ซึ่งเป็นคุณสมบัติที่แข็งแกร่งกว่ามาก กว่า "ไม่ว่าจะใช้งานได้หรือไม่")
"แถลงการณ์ของ GOTO ถือว่าเป็นอันตราย" และ "การเขียนโปรแกรมเชิงโครงสร้าง" เริ่มต้นการปฏิวัติ "การเขียนโปรแกรมเชิงโครงสร้าง" ในปี 1970 ทั้งสองส่วนนี้เป็นเหตุผลที่เรามี if-then-else, while-do และโครงสร้างการควบคุมที่ชัดเจนอื่น ๆ ในปัจจุบันและเหตุใดคำสั่ง GOTO ในภาษาระดับสูงจึงอยู่ในรายการสัตว์ใกล้สูญพันธุ์ (ความเห็นส่วนตัวของฉันคือพวกมันต้องอยู่ในรายชื่อพันธุ์ที่สูญพันธุ์)
เป็นที่น่าสังเกตว่า Message Flow Modulator ซึ่งเป็นซอฟต์แวร์ทางทหารชิ้นแรกที่เคยผ่านการทดสอบการยอมรับในการลองครั้งแรกโดยไม่มีการเบี่ยงเบนการสละสิทธิ์หรือ "ใช่ แต่" ใช้คำฟุ่มเฟือยเขียนด้วยภาษาที่ไม่มีแม้แต่ คำสั่ง GOTO
นอกจากนี้ยังควรค่าแก่การกล่าวถึงว่า Nicklaus Wirth เปลี่ยนความหมายของคำสั่ง RETURN ใน Oberon-07 ซึ่งเป็นเวอร์ชันล่าสุดของภาษาการเขียนโปรแกรม Oberon ทำให้เป็นส่วนต่อท้ายของการประกาศขั้นตอนการพิมพ์ (เช่นฟังก์ชัน) แทนที่จะเป็น คำสั่งปฏิบัติการในเนื้อหาของฟังก์ชัน ชี้แจงของเขาจากการเปลี่ยนแปลงกล่าวว่าเขาไม่ได้อย่างแม่นยำเพราะรูปแบบก่อนหน้านี้WASเป็นการละเมิดหลักการหนึ่งทางออกของการเขียนโปรแกรมโครงสร้าง