İlk bilgisayarlar bugünkü kodu anlar mıydı? Kodlamanın kısa tarihi

· Tarih

İlk bilgisayarlar bugünkü kodu anlar mıydı? Kodlamanın kısa tarihi

Kısa cevap hayır. İlk bilgisayarlar bugün yazdığımız kodu anlamazdı, hatta çoğu bir programı belleğinde tutacak şekilde bile yapılmamıştı. Aradaki yol ise tahmin edilenden daha dolambaçlı: kod önce kâğıtta, sonra kablolarda, sonra anahtarlarda ve ancak en sonunda insanın okuyabildiği bir dilde yazıldı.

Önce makine yoktu, program vardı

Bilinen ilk bilgisayar programı genellikle Ada Lovelace'e atfedilir. 1843'te Luigi Menabrea'nın Babbage'ın makinesini anlatan yazısını çevirirken yedi not ekledi, A'dan G'ye. Son not olan Note G, Babbage'ın Analitik Makinesi'nde Bernoulli sayılarını hesaplayacak bir algoritmayı adım adım tarif ediyor. [1] Sorun şu ki makine hiç yapılmadı. Yani program kimsenin hayatında çalışmadı. Sonradan yapılan incelemelerde dördüncü işlemde iki değişkenin yer değiştirdiği bir hata bulunduğu da söyleniyor. [1] Bana kalırsa bu, yazılımın donanımdan önce doğabileceğinin en güzel örneği: bir fikir kâğıda döküldüğünde, ona çalışacak bir makine yüz yıl sonra geliyor.

ENIAC: programlamak kablo çekmekti

ENIAC 1945'te tamamlandı. Programlanması fişli panolar, kablolar ve her biri 1.200 on yollu anahtar içeren üç taşınabilir tablo üzerinden yapılıyordu. [2] Bir problemi makineye uyarlamak çoğunlukla haftalar alıyor, kâğıttaki planı anahtar ve kablolara dökmek günler sürüyor, sonra hata ayıklama başlıyordu. [2] Bu işi Moore Okulu'ndaki yaklaşık 200 "hesaplayıcı" arasından seçilen altı kadın yaptı: Kay McNulty, Jean Jennings (Bartik), Betty Snyder (Holberton), Marlyn Wescoff, Fran Bilas ve Ruth Lichterman. [2] Burada "kod yazmak" fiziksel bir işti.

1948'deki bir değişiklikle ENIAC'a ilkel bir saklı program mekanizması eklendi. Bu, hızını altıda bire düşürdü ama yeniden programlamayı günlerden saatlere indirdi. [2]

Müzede sergilenen Manchester Baby kopyasının elektronik rafları ve önünde bakan ziyaretçiler

Manchester Baby'nin müzedeki kopyası. Orijinal 1948'de çalıştı. Parrot of Doom · CC BY-SA 3.0

Programı belleğe koymak: Baby ve EDSAC

Asıl kırılma, programın veriyle aynı bellekte durması oldu. 21 Haziran 1948'de Manchester Baby ilk programını çalıştırdı. Bellek 32 sözcükten, yani 1.024 bitten ibaretti, program 17 komuttu ve ikili kodla 32 düğme ve anahtarla bit bit giriliyordu. Tom Kilburn'ün yazdığı bu program 2¹⁸ sayısının en büyük özgün bölenini buldu: yaklaşık 52 dakika ve 3,5 milyon işlem sonunda 131.072. [3] Baby'nin yalnızca yedi işlemi vardı. [3]

Bir yıl sonra, 6 Mayıs 1949'da Cambridge'de EDSAC çalıştı. Programlar delikli kâğıt şeritle giriyor, çıktı bir teleprintere gidiyordu. İlk programı 0'dan 99'a kadar sayıların karelerini yazdırdı. [4] Makinenin başlangıç emirleri temel bir birleştirici (assembler) gibi çalışıyordu. 1951'e gelindiğinde genel kullanım için 87 alt program hazırdı. [4]

İnsan diline doğru

Grace Hopper 1952'de A-0 Sistemi'ni tamamladı. Çoğu kaynak onu ilk derleyici olarak anıyor, ama Wikipedia'nın notuna göre bugünün gözüyle bu program bir bağlayıcıya (linker) daha yakındı. [5] Hopper programcıların İngilizce yazıp bilgisayarın bunu makine koduna çevirmesini önerdi. Bu fikre bilgisayarların İngilizce anlayamayacağı söylenerek üç yıl boyunca itiraz edildi. [5] Sonuçta FLOW-MATIC ve sonra COBOL (1959) ortaya çıktı. [5]

FORTRAN ise John Backus'un IBM ekibinden geldi: Aralık 1953'te öneri, Kasım 1954'te taslak şartname, Ekim 1956'da ilk kılavuz, Nisan 1957'de ilk derleyici. [6] Amaç IBM 704 için montaj dilinden daha pratik bir yol sunmaktı. Derlenen kodun verimli olması gerekiyordu, çünkü montaj dili programcıları ancak ürettiği kod yeterince iyiyse kabul edecekti. [6]

Bugün: C'den Python'a

1972 ile 1973 arasında Dennis Ritchie C'yi Bell Labs'te geliştirdi. Önce Unix araçları için kullanıldı, Kasım 1973'te yayımlanan Unix Sürüm 4'ün çekirdeği geniş ölçüde C ile yeniden yazıldı. [7] Python gibi diller ise bir adım daha yukarıda: kaynak kod önce bayt koda (bytecode) derleniyor, sonra bir sanal makine bunu çalıştırıyor. [9] Python sözlüğü bayt kodun farklı sanal makineler arasında ya da sürümler arasında çalışması beklenmediğini de söylüyor. [9]

DönemProgramı yazma biçimi
1843Kâğıt üzerinde adım adım tarif (Note G)
1945-1948ENIAC: kablo, fiş ve anahtarlar
1948-1949Baby ve EDSAC: bellekteki program, anahtar ve kâğıt şerit
1952-1957Derleyiciler: A-0, FORTRAN
1972'den bugüneC, Python ve diğer yüksek seviyeli diller

Peki ilk bilgisayar bugünkü kodu anlar mıydı?

Anlamazdı, üç nedenle. Birincisi, makine kodu işlemci ailesine özgüdür. Bir aileye uygun kod genellikle bir başkasında çalışmaz, istisnalar olsa da. [8] Bugünkü bir Python programı bir makinenin kendi komutlarına, yani makine koduna çevrilmeden hiçbir bilgisayarın doğrudan anlayacağı şey değil. İkincisi, ENIAC 1948'e kadar programı bellekte tutmuyordu. [2] Üçüncüsü, Baby'nin belleği 1.024 bit, yani 128 bayttı ve yedi işlem yapabiliyordu. [3] Bugünkü bir dili çevirecek derleyiciyi barındıracak yeri bile yoktu.

Peki bugünkü işlemciler hâlâ ikili komut mu çalıştırıyor?

Evet. Yüksek seviyeli dilde yazdığımız şey sonunda işlemcinin makine koduna iniyor. Aradaki farkı derleyici veya yorumlayıcı kapatıyor. Wikipedia'ya göre makine kodunu doğrudan yazmak zahmetli ve hataya açık olduğu için programlar genellikle montaj dilinde ya da yüksek seviyeli dillerde yazılıyor. [8]

Benim vardığım sonuç şu: bu yüz yılı aşkın yolculukta değişen şey, makinenin hızından çok programcının makineye ne kadar yakın durmak zorunda olduğu. Her yeni katman, insana biraz daha az kablo ve daha çok fikir bıraktı.

Kaynaklar

  1. Wikipedia. Note G (erişim: 2026-10-20)
  2. Wikipedia. ENIAC (erişim: 2026-10-20)
  3. Wikipedia. Manchester Baby (erişim: 2026-10-20)
  4. Wikipedia. EDSAC (erişim: 2026-10-20)
  5. Wikipedia. Grace Hopper (erişim: 2026-10-20)
  6. Wikipedia. Fortran (erişim: 2026-10-20)
  7. Wikipedia. C (programming language) (erişim: 2026-10-20)
  8. Wikipedia. Machine code (erişim: 2026-10-20)
  9. Python Software Foundation. Python glossary (bytecode, interpreted) (erişim: 2026-10-20)

Kapak görseli: ENIAC'ın kontrol panelinde çalışan iki kadın programcı (ABD Ordusu, 1946). U.S. Army · Public domain