Ama bu sorunun cevabı tek bir "baba"dan çok, işlev bozukluğu olan bir aile ağacına benziyor. Eğer ille de tüm dillerin DNA'sında izi bulunan bir "büyükbaba" arıyorsak, bu onur en çok ALGOL'a (Algorithmic Language) aittir.[1] Çoğu modern imperatif dilin kullandığı blok yapısı (begin/end ya da {}), lexical scope (değişkenlerin kendi blokları içinde geçerli olması) gibi temel paradigmaları ALGOL icat etmiştir. C, Pascal, Java, C#, Python gibi dillerin hepsi, aslında ALGOL'un bu yapısal iskeletinin üzerine inşa edilmiş sentaktik varyasyonlardır. Yani ALGOL, o kimsenin partilerde konuşmadığı ama aslında tüm havalı fikirleri bulan dahi ve biraz da suratsız akraba gibidir. Ondan sonra sahneye C çıkmış, ALGOL'un teorik zarafetini alıp üzerine biraz "pointer aritmetiği" ve "doğrudan bellek yönetimi" gibi tehlikeli ama güçlü özellikler ekleyerek işi bitirmiştir.
Bu soyağacının bir de diğer tarafından gelen, fonksiyonel programlamanın atası, parantezlere olan takıntısıyla bilinen LISP var. LISP, "garbage collection" (otomatik çöp toplama), "higher-order functions" (fonksiyonları parametre olarak alıp dönebilme) ve kodun veri olarak ele alınması (homoiconicity) gibi konseptleri o kadar erken bir tarihte ortaya koydu ki, diğer diller daha yeni yeni "segmentation fault" hatası vermeyi öğreniyordu.
Yani tek bir kutsal "ata" dili yok; daha çok, genetik materyallerini (syntax, paradigmalar, veri yapıları) sonraki nesillere aktarmış bir grup etkili ata var. Bu yüzden modern bir dil yazdığımızda aslında ALGOL'un kemik yapısını, C'nin pragmatizmini ve LISP'in soyut düşünce ruhunu, hepsi bir arada, genellikle de bir dolu bug ile birlikte kullanıyoruz. Biz de bu genetik mirasın üzerinde, Stack Overflow'dan kod kopyalayarak evrimsel sürece katkıda bulunan mütevazı torunlarız.
Kaynaklar
- Unacademy. Algol. (8 Ağustos 2022). Alındığı Tarih: 17 Ağustos 2025. Alındığı Yer: Unacademy | Arşiv Bağlantısı