- 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
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… ;)
Hacker News yorumları
%işaretini girmek gerektiğini söyleyen bir yorum var