ทุกคนตระหนักถึงจดหมายถึงบรรณาธิการของ Dijkstra : ไปที่ข้อความที่ถือว่าเป็นอันตราย (เช่นที่นี่ . html การถอดเสียงและที่นี่ . pdf) และมีการผลักดันที่น่ากลัวตั้งแต่นั้นมา ในขณะที่มันเป็นไปได้ที่จะใช้ในการผลิตกลับไปข้าง unmaintainable รหัสแผ่กิ่งก้านสาขา แต่กระนั้นมันก็ยังคงอยู่ในการเขียนโปรแกรมภาษาที่ทันสมัย แม้แต่โครงสร้างการควบคุมความต่อเนื่องขั้นสูงใน Scheme ก็สามารถอธิบายได้ว่าเป็น goto ที่ซับซ้อน
มีกรณีใดบ้างที่รับประกันการใช้ goto? ควรหลีกเลี่ยงเมื่อใด
ตามคำถามการติดตาม: C มีฟังก์ชั่นคู่หนึ่งคือ setjmp และ longjmp ที่ให้ความสามารถในการข้ามไปไม่ได้อยู่ในกรอบสแต็กปัจจุบันเท่านั้น แต่อยู่ในกรอบการเรียกใด ๆ สิ่งเหล่านี้ควรได้รับการพิจารณาว่าอันตรายหรือไม่? อันตรายมาก?
Dijkstra เองรู้สึกเสียใจกับตำแหน่งนั้นซึ่งเขาไม่รับผิดชอบ ในตอนท้ายของEWD1308 (เช่นกันที่นี่ . pdf) เขาเขียนว่า:
ในที่สุดเรื่องสั้นสำหรับการบันทึก ในปี 1968 การสื่อสารของ ACM ตีพิมพ์ข้อความของฉันภายใต้ชื่อ " คำสั่ง goto ถือว่าเป็นอันตราย " ซึ่งในปีต่อมาจะมีการอ้างอิงบ่อยที่สุดอย่างน่าเศร้า แต่บ่อยครั้งโดยผู้เขียนที่ไม่เห็นมันมากไปกว่า ชื่อซึ่งกลายเป็นรากฐานที่สำคัญของชื่อเสียงของฉันโดยกลายเป็นเทมเพลต: เราจะเห็นบทความทุกประเภทภายใต้ชื่อ "X ถือว่าเป็นอันตราย" สำหรับเกือบทุก X รวมทั้งชื่อ "Dijkstra ถือว่าเป็นอันตราย" แต่เกิดอะไรขึ้น ฉันส่งบทความภายใต้ชื่อ " คดีกับคำสั่ง goto"ซึ่งเพื่อเพิ่มความเร็วในการพิมพ์บรรณาธิการได้เปลี่ยนเป็น" จดหมายถึงบรรณาธิการ "และในกระบวนการที่เขาได้รับมันเป็นชื่อใหม่ของการประดิษฐ์ของเขาเองบรรณาธิการคือ Niklaus Wirth
บทความคลาสสิกที่มีความคิดที่ดีเกี่ยวกับหัวข้อนี้ที่จะจับคู่กับของ Dijkstra คือการเขียนโปรแกรมแบบมีโครงสร้างโดยไปที่คำชี้แจงโดย Donald E. Knuth การอ่านทั้งสองช่วยในการสร้างบริบทใหม่และความเข้าใจที่ไม่เชื่อในเรื่องนี้ ในบทความนี้ความเห็นของ Dijkstra ในคดีนี้มีการรายงานและมีความแข็งแกร่งยิ่งขึ้น:
Donald E. Knuth:ฉันเชื่อว่าโดยการนำเสนอมุมมองดังกล่าวฉันไม่เห็นด้วยอย่างยิ่งกับความคิดของ Dijkstra เนื่องจากเขาเพิ่งเขียนสิ่งต่อไปนี้: "ได้โปรดอย่าตกหลุมพรางของความเชื่อที่ว่า ไปที่คำสั่ง]. ฉันมีความรู้สึกอึดอัดว่าคนอื่น ๆ จะทำให้ศาสนาออกจากมันเช่นถ้าปัญหาแนวความคิดของการเขียนโปรแกรมสามารถแก้ไขได้โดยเคล็ดลับเดียวโดยรูปแบบที่เรียบง่ายของการเข้ารหัสวินัย! "
goto
หัวข้อแท็ก