7 puan yazan GN⁺ 2025-04-04 | 2 yorum | WhatsApp'ta paylaş
  • Microsoft’un 50 yıllık inovasyonu Altair BASIC kodu ile başladı
  • Office, Windows 95, Xbox ve yapay zekadan önce var olan ilk ürün
  • Bu kod, kişisel bilgisayar çağını başlattı ve Microsoft’un büyümesinin temelini oluşturdu

Yazdığım en havalı kod

  • 1975’te Bill Gates ve Paul Allen, “her masada ve her evde bir bilgisayar” vizyonuyla Microsoft’u kurdu
  • Microsoft’un 50. yılına ulaşmasında Steve Ballmer, Satya Nadella gibi büyük liderlerin ve sayısız çalışanın katkısı çok büyük oldu
  • Gates, bu anıtsal anda mutluluk duyarken aynı zamanda bir miktar hüzün de hissetti
    • Harvard’daki PDP-10’un başında kod yazdığı günler ona sanki daha dünmüş gibi geliyor
  • Microsoft’un başlangıcı, 1975’te Popular Electronics dergisinin kapağında gördüğü Altair 8800 bilgisayarı ile oldu
    • Altair, MITS adlı küçük bir elektronik şirketinin yaptığı kit tipi bir PC’ydi ve dönemi için son derece yenilikçiydi
    • Dergiyi gördükleri anda Gates ve Allen, PC devriminin yaklaştığını sezdi ve bu akımın parçası olmaya karar verdi

BASIC kodunu yazmaya karar vermelerinin nedeni

  • İkili, öğrencilik yıllarında Lakeside School’da bilgisayarlara hayran kaldı
  • Altair’in sıradan insanlara da programlama fırsatı sunabileceği gerçeğinden etkilendi
  • Gates ve Allen, Altair için BASIC dilini geliştirdiklerini söyleyerek önce MITS’e teklif götürdü
  • Ama gerçekte bu henüz var olmayan bir yazılımdı, dolayısıyla onu kendileri yapmak zorundaydı

BASIC dilinin temel kavramı

  • BASIC, 1964’te Dartmouth College’daki iki profesörün yeni başlayanlar için oluşturduğu bir programlama diliydi
  • Bilgisayar deneyimi hiç olmayan kişilerin bile kısa bir öğrenme sürecinden sonra kendi programlarını yazabilmesi için tasarlanmıştı
    • Örneğin: çek defteri bakiye hesaplayıcısı, tic-tac-toe oyunu
  • Gates ve Allen’ın öğrendiği ilk programlama diliydi ve bugün hâlâ kullanılıyor
  • BASIC, İngilizceye benzer biçimde bilgisayara ne yapacağını söyleyen bir dil olarak komut çalıştırmayı, matematik problemlerini çözmeyi ve çeşitli işlevleri yerine getirmeyi sağlıyordu

BASIC’i bilgisayarın anlayacağı hâle getirme yöntemi

  • Sorun, bilgisayarın BASIC’i anlayamıyor olmasıydı
  • Gates ve Allen, BASIC kodunu bilgisayar komutlarına satır satır çevirip çalıştıran bir Interpreter yapmaya karar verdi
    • Bunun avantajı, gerçek zamanlı geri bildirim sağlayarak yeni başlayanların hataları hızla düzeltebilmesiydi
  • Tüm programı tek seferde çeviren Compiler yaklaşımı da düşünüldü, ancak yeni başlayanlara daha uygun olduğu için Interpreter yaklaşımının daha isabetli olduğuna karar verildi

Geliştirmenin başlangıcı

  • O dönemde Altair’de kullanılan Intel 8080 çipi ellerinde olmadığı için Paul, Harvard’daki PDP-10 üzerinde bu çipi emüle eden bir program geliştirdi
  • Gates, Interpreter’ın ana kodunu yazdı; arkadaşları Monte Davidoff ise matematik işlemleri modülünü üstlendi
  • Bu üçlü, iki ay boyunca gece gündüz çalışarak gerçekte henüz var olmayan bir yazılımı tamamladı

Bellek kısıtlarını aşmak

  • O dönemde bilgisayar belleği çok pahalıydı ve Altair’e bellek eklemek, PC’nin fiyatından daha pahalıya bile mal olabiliyordu
  • Hedef, BASIC Interpreter’ını 4KB içinde uygulamaktı
    • Böylece kullanıcılar kendi programlarını çalıştırmak için yeterli belleğe sahip olabilecekti
  • Gates, bu hedefe ulaşmak için çeşitli bellek optimizasyon teknikleri kullandı
    • Örneğin: sıkıştırılmış veri yapıları, verimli algoritmalar

Microsoft’un doğuşu

  • Sayısız sabahlama sonrasında tamamlanan BASIC Interpreter, MITS’in yöneticisi Ed Roberts’a gösterildi
  • Gösterim başarılı oldu ve MITS bu yazılımın lisansını satın aldı
  • Bu başarı sayesinde Altair BASIC, Microsoft’un ilk ürünü oldu ve Micro-Soft şirket adı ortaya çıktı (daha sonra kısa çizgi kaldırıldı)
  • Bu tek kod parçası, sonraki 50 yıl boyunca sürecek tüm Microsoft inovasyonlarının çıkış noktası oldu
  • Daha ayrıntılı hikâye için Source Code adlı anı kitabına bakılabilir

Kaynak kodunu indirin

  • Microsoft’un başlangıcını oluşturan Altair BASIC’in orijinal kaynak kodunu doğrudan incelemek mümkün
  • Son 50 yılda programlamanın ne kadar ilerlediğini gösteren tarihî bir belge olarak Gates bu kodla hâlâ büyük gurur duyuyor

Kaynak kodunu indir (PDF)

2 yorum

 
iolothebard 2025-04-06

Microsoft’un OEM olarak sağladığı 6502 için BASIC kaynak kodu (Apple II, Commodore, ..) derlenebilir durumda restore edilmiş görünüyor(?).
https://github.com/mist64/msbasic

Doğrudan 6502 SBC yapıp üzerine MSBASIC portlayanlar da epey fazla.
https://github.com/beneater/msbasic

Sadece hayran kalmak da güzel ama bizzat içine dalarsanız belki daha da eğlenceli olabilir… ;)

 
GN⁺ 2025-04-04
Hacker News yorumları
  • Kaynak kodu okumak eğlenceli. GW-BASIC'in kaynak kodunu buldum; içinde birkaç ilginç yorum var
    • Sayıyı arabelleğe sığdıramadıkları için tüm karakterleri yeniden yığından çıkarmak, başlangıç arabellek konumunu almak ve % işaretini girmek gerektiğini söyleyen bir yorum var
    • Rastgele sayı üretecinin sabitlerinin Knuth Vol 2, Chapter 3'e bakılmadan değiştirilmemesi gerektiğini söyleyen bir yorum var
  • Düzeltme: GW-BASIC, QBASIC değil
  • Steve Jobs, Microsoft'un sorununun zevksizlik olduğunu söylerdi
    • Kaydırırken yazı tipinin yanıp sönmesi bunu hatırlatıyor. Çok dikkat dağıtıcı ve reader mode kullansanız bile kapatılamıyor
    • Bu arada, Bill Gates'i ve onun dünya için yaptıklarını seviyorum
  • Intel 8080 emülatörünü Dec10/VAX/IBM VM CMS arasında taşınabilir olacak şekilde yazdım. 8080, 256 değerli bir switch ile kolayca uygulanabiliyordu. FORTRAN77 ile yazmıştım
    • BASIC yorumlayıcısını kayan nokta desteğiyle yazmak ise çok daha zor. Gates, Allen ve diğer işbirlikçilerinin BASIC'i oldukça iyiydi
  • Biraz şans ve risk almaya istekli olmak, beklenmedik şekillerde sonuç verdi. Hayatım boyunca PC çağının benzeri bir şeyi tekrar göreceğimden emin değilim. Belki mobil telefonlar ya da internet
  • Kaynak kodu sonda bağlantılı (uyarı: 100 MB PDF)
  • Bu web sitesini görüntülemek için neden JS etkinleştirmek gerektiğini merak ediyorum
  • Malcom Harris'in Palo Alto'sunu okuduktan sonra bunu okumak ilginç
  • Bu gerçekten harika. Bence metin, tasarımda yeterince kullanılmayan bir ortam
  • "Bunun ASCII olarak tutulduğu bir GitHub deposu umuyorum" demek istiyorum ama Microsoft'un muhtemelen buna izin vermeyeceğini fark ediyorum
  • Microsoft (muhtemelen Bill Gates de kişisel olarak) hacker topluluğunda güçlü bir "antipati" uyandırdı. Ama onun ve Paul Allen'ın özünde saf hacker'lar olduğunu ve teknolojinin ilerlemesine çok yardımcı olduklarını inkâr edemeyiz. Elbette hepimiz OSS'yi tercih ederiz ve Linus'u (veya başka bir OSS geliştiricisini) "açgözlü kapitalist"e 100 kez tercih ederiz, ama hak ettikleri takdiri görmeliler