Herkes Dijkstra'nın editöre Mektupları'nın farkındadır : zararlı olarak kabul edilen ifadeye gidin (ayrıca burada .html transkript ve burada .pdf) ve o zamandan beri mümkün olduğunca goto ifadesinden kaçınmak için zorlu bir itici güç olmuştur. Goto'yu sürdürülemez, genişleyen kod üretmek için kullanmak mümkün olsa da, yine de modern programlama dillerinde kalır . Şemadaki gelişmiş devam kontrol yapısı bile karmaşık bir goto olarak tanımlanabilir.
Hangi koşullar goto kullanımını garanti eder? Ne zaman kaçınmak en iyisidir?
Takip eden bir soru olarak: C, sadece mevcut yığın çerçevesi içinde değil, çağıran çerçevelerden herhangi birinde gitme olanağı sağlayan bir setjmp ve longjmp işlevi sağlar. Bunlar goto kadar tehlikeli kabul edilmeli midir? Daha tehlikeli?
Dijkstra, sorumlu olmadığı bu unvandan pişman oldu. EWD1308'in sonunda (ayrıca burada .pdf) yazdı:
Sonunda kayıt için kısa bir hikaye. 1968'de, ACM'nin İletişimleri, " goto ifadesi zararlı olarak kabul edildi " başlığı altında bir metin yayınladı , ancak daha sonraki yıllarda en çok üzüntü duyan, daha sık görmeyen yazarlar tarafından bir şablon haline gelerek şöhretimin temel taşı haline gelen başlık: "Dijkstra zararlı kabul edilen" başlıklı biri de dahil olmak üzere hemen hemen her X için "X zararlı kabul edildi" başlığı altında her türlü makaleyi görürdük. Ama ne oldu? " Git ifadesine karşı bir dava", yayınlanmasını hızlandırmak için editör bir" Editöre mektup "olarak değişti ve bu süreçte kendisine kendi icadının yeni bir başlığını verdi! Editör Niklaus Wirth'ti.
Dijkstra'nınkiyle eşleşecek olan bu konuyla ilgili iyi düşünülmüş klasik bir makale , Donald E. Knuth'un ifadelere gittiği Yapısal Programlama'dır . Her ikisini de okumak, bağlamın ve konuyla ilgili dogmatik olmayan bir anlayışın yeniden oluşturulmasına yardımcı olur. Bu makalede, Dijkstra'nın bu dava hakkındaki görüşü rapor edilmiştir ve daha da güçlüdür:
Donald E. Knuth: İnanıyorum ki böyle bir görüş sunarak aslında Dijkstra'nın fikirlerine keskin bir şekilde katılmıyorum, çünkü son zamanlarda aşağıdakileri yazdı: "Lütfen [hakkında çok dogmatik olduğuma inanma tuzağına düşmeyin ] açıklamada gidin. Ben programlama kavramsal sorunlar disiplin kodlama basit bir form tarafından, tek bir numarayla çözülebilir sanki diğerleri, bunun dışında bir din yapıyoruz rahatsızlık duygusu var! "
goto
.