Yapısal olmayan programlama
Yapısal olmayan programlama, program yazılış sırası ile işletilirler. Bir “goto” terimi işletimin programda bir yerden başka bir yere iletilmesini sağlar. Bir “goto” çağrıldığında program goto’nun hedef satırından devam eder. Bu yüzden programın nasıl çalıştığını anlamak için programı aklınızda çalıştırmanız gerekir. Bunun anlamı programın mantığının anlaşılması özellikle program büyüdükçe imkânsızlaşmasıdır. Bazı derleyiciler “goto”ların hedeflerini indeksleyerek daha kolay bir dolaşım sağlayabilmektedir.
Yapısal olmayan programlamanın karmaşıklığından dolayı Dijkstra “goto” teriminin kullanımının yasaklanması gerektiğini savunmuştur. Programlama dillerinde gerekmemesine rağmen, goto terimlerine yer verilmiştir. Bu terimin kullanılabileceği diller için Assembly, C, BASIC, FORTRAN gibi diller örnek verilebilir.
Yapısal olmayan programlama aynı zamanda “spagetti kod” teriminin temelini oluşturmaktadır. Spagetti kod, içinde çok sayıda goto barındıran karmaşık kod yapılarına verilen argo bir terimdir.