Programlamanın Kısa Tarihi: Turing Makinesinden JavaScript Çılgınlığına
- 7 Şub
- 3 dakikada okunur
Hatırlıyor musunuz, çocukken ilk bilgisayarınızı açtığınızda ekranda çıkan o sihirli satırlar? O satırlar, aslında 90 yıl öncesine, bir İngiliz matematikçinin defterine uzanan bir zincirin halkaları. Programlama, sadece kod yazmak değil; insan zekasının makinelerle dansı. Bugün Python'la bir script patır patır çalıştırırken, arkasında yatan emekleri bilmek, kodunuzu daha da anlamlı kılar. Bu yazı, 1'ler ve 0'ların hüküm sürdüğü o karanlık çağlardan, web'in kralı JavaScript'e uzanan yolculuğu anlatıyor. Hazır mısınız, nostalji ve ilham dolu bir tur için?
Teorik Kökenler: Alan Turing ve Hesaplamanın Felsefesi
Her şeyin başı, 1936 yılı. Alan Turing, "Hesaplanabilir Sayılar" makalesiyle Turing Makinesi'ni ortaya atıyor. Bu, kağıt üzerinde bir model: sonsuz bir şerit, okuma/yazma başlığı ve basit kurallar. Teoride, bu makine her problemi çözebilir – evet, her şeyi! Savaş yıllarında Enigma'yı kıran Bombe makinesiyle pratikte de kanıtlıyor kendini.
Turing'in mirası? Modern bilgisayarların DNA'sı. Depolanan program kavramı buradan doğuyor. Ama dikkat, Turing yalnız değildi; Ada Lovelace gibi öncüler, 1840'larda Babbage'ın Analytical Engine'i için algoritmalar yazmıştı. Yine de Turing, "bilgisayarlar düşünebilir mi?" sorusunu sorarak yapay zekanın kapısını aralıyor. Bugün ChatGPT'ler uçuşurken, o sorunun yankısını duyuyoruz.
1940'lar ve 1950'lar: Assembly'nin Acı Dili ve Byte Mucizesi
Savaş sonrası, makineler büyüyor ama programlama hâlâ cehennem. 1940'larda makine koduyla uğraşmak, iğneyle kuyu kazmak gibi: her talimatı ikili sisteme çeviriyorsun. İşte burada Kathleen Booth devreye giriyor. 1947'de, ARC bilgisayarı için ilk assembly dilini icat ediyor. Sembolik isimler, makine koduna çeviri – küçük ama devrimci adım.
Werner Buchholz ise 1956'da "byte" kelimesini buluyor IBM Stretch için. 8 bitlik gruplar, veriyi yönetilebilir kılıyor. 1952'de Autocode geliyor, 1957'de FORTRAN (John Backus önderliğinde) bilim adamlarını kurtarıyor: formüllerle kod yazmak artık mümkün. 1958'de ALGOL ve LISP... John McCarthy'nin LISP'i, listelerle düşünen AI hayalleriyle doğuyor. Edsger Dijkstra ise 1968'de "GOTO Considered Harmful" diye bir yazı patlatıyor: "Goto'lar kanser gibi, yapısal programlama şart!" Bu, kodun okunabilirliğini kurtarıyor, spagetti kodlara son veriyor.
O dönemki programcılar kahraman mıydı? Elbette. Delikli kartlarla saatlerce uğraş, hata bulmak için dua et. Ama bu acı, bugünkü konforun bedeli.
1970'ler: C ve Unix ile Sistemlerin Efendisi Olmak
1970'ler, sistem programcılığın altın çağı. Ken Thompson ve Dennis Ritchie, Bell Labs'te Unix'i B dilinden C'ye eviriyor. 1972'de C doğuyor: taşınabilir, güçlü, her şeye hakim. "C ile her şey yazılır" atasözü buradan. Unix'in felsefesi? Küçük, modüler araçlar birleştir. Bugün Linux, macOS hep bu köklerden.
Ritchie ve Thompson'un ikilisi, programlamayı demokratikleştiriyor. C, donanıma yakın ama soyut – mükemmel denge. Dijkstra'nın yapı taşları üstüne oturuyor. Eleştiri mi? Bellek yönetimi manuel, segmentation fault'lar yeni başlayanların kabusu. Ama o hatalar, usta yapan.
1980'ler ve 1990'lar: Nesne Yönelimli Devrim ve Web Patlaması
1980'ler hızlanıyor. Bjarne Stroustrup, 1979'da C++'ı tasarlıyor: nesne yönelimli (OOP) eklenti. Sınıflar, kalıtım, polimorfizm – kod yeniden kullanılabilir oluyor. Stroustrup'un mottosu: "C'nin her özelliğini tut, üstüne ekle."
Anders Hejlsberg, Turbo Pascal'la (1983) gençleri büyülüyor: hızlı derleme, IDE öncüsü. Sonra Delphi, C# (2000) ve TypeScript. Hejlsberg, pratik adam: "Kod yazmak eğlenceli olsun."
1990'lar patlama. Guido van Rossum, 1991'de Python'u çıkarıyor: okunabilirlik kral. "There should be one – and preferably only one – obvious way to do it." Veri bilimi, AI bugün Python'suz olmaz.
James Gosling, Sun'da Java'yı (1995) doğuruyor: "Write once, run anywhere." Sanal makine, OOP tam gaz. Mobil, kurumsal dünyanın kralı.
Ve final boss: Brendan Eich. 1995'te, Netscape'te 10 günde JavaScript'i yazıyor! Başta "Mocha", sonra "LiveScript", nihayet JS. Tarayıcıda dinamiklik – web'i interaktif yapıyor. Eleştiri? Başta kaos, ama ECMAScript'le düzeliyor. Bugün React, Node.js hep JS.
Bu dillerin ortak noktası? Her biri önceki acılardan ders çıkarıyor. C++ karmaşık diye Python sadeleşiyor, Java güvenli diye C# geliştiriliyor.
Günümüze Bakış: AI ve Dillerin Geleceği
Tarih bitmedi. Rust bellek güvenliğiyle geliyor, Go concurrency'yle. Ama kökler aynı: Turing'in makinesi. Türkiye'de de durum benzer; üniversitelerde C/ Java öğretiliyor, startup'lar Python/JS kullanıyor. Yerli dil Girişimi yok değil, ama global standartlar hakim.
Programlamanın evrimi, "elindekiyle idare et"ten "hayal et, kodla"ya geçiş. Light eleştiri: Yeni diller hype peşinde koşuyor, ama sağlam temel şart.
Sonuç: Tarih Tekrar Etmesin, İlham Versin
Programlamanın tarihi, sabır ve yenilik öyküsü. Turing'den Eich'e, her figür bir tuğla koydu. Takeaway? Geçmişi bil, geleceği şekillendir. Yeni bir dil öğrenirken, assembly'yi hatırla – değerini anlarsın. Kod yazmaya başla, tarih seninle!
SSS
Programlamanın ilk dili hangisiydi?
Tam anlamıyla ilk yüksek seviyeli dil FORTRAN (1957), ama teorik olarak Turing Makinesi (1936).
C ve C++ arasındaki fark nedir?
C prosedürel, sistem odaklı; C++ nesne yönelimli, soyutlama ekler.
JavaScript neden 10 günde yazıldı?
Brendan Eich, tarayıcı için hızlı bir script dili lazımdı – baskı altında mucize!
Python neden bu kadar popüler?
Okunabilir, az kodla çok iş – veri bilimi ve otomasyonda rakipsiz.
Tarih öğrenmek programcıya ne kazandırır?
Hatalardan ders çıkarır, en iyi aracı seçersin; "tekerleği yeniden icat etme".



Yorumlar