Bundan
uzun yıllar önce bilgisayara aynı anda birden fazla iş yaptırmak büyük bir
hayaldi. "Çoklu görev" (multi-tasking) olarak bilinen bu hayal için bilişim
dünyasının önde gelen isimlerinin neredeyse tamamı yarışıyordu. Aynı anda
birden fazla iş yapmak üzere işlerin yönetimini devralacak bir nevi orkestra şefine
ihtiyaç vardı. O dönemde zaten kısıtlı işlem gücünü bölüştürme
sorunu bir yana, orkestra şefinin de var olan işlem gücünden tüketmesi ayrı
bir sorundu. Herkes mükemmel algoritmaların peşinde idi.
1964
yılında geliştirilen işletim sisteminin mottosu adına da yansımış, birden fazla
işi yapan anlamında "Multics" adını almıştı. 1970 yılında Brian
Kernighan ve Dennis Ritchie ise, geliştirdikleri işletim sistemini hem çoklu
görev için tasarlamış, hem de "Multics"e nazire yaparak adını "Unics",
ya da daha sonra popüler hale gelen adıyla "Unix" olarak vermişlerdi.
Geliştirdikleri işletim sistemi basit temellere dayanıyordu. İşletim sistemi ile beraber programlama dünyası için de büyük bir
adım sayılan C programlama dilini de geliştirdiler. Nesneye dayalı programlamanın
(Object Oriented Programming) temellerini atan ikili, üst sınıf, alt sınıf,
kalıtım, arkadaşlık gibi birçok sosyal kavramın da bilişim dünyasındaki
karşılıklarını tanımlamış oldu.
Basitliğin
güzelliğini yalnızca işletim sisteminde değil, Kernighan ile Ritchie’nin "The C Programming Language" adlı kitabında da görürüz. C programlama dünyasına ilk adım attığımda bana bu kitabın C ile
iligli her detayı tartışmaya yer vermeyecek düzeyde içerdiği anlatılmıştı. Bunu
ilk duyduğumda anılan kitabın kalın ve hatta birkaç ciltten oluştuğunu
düşündüm. Kitap elime geçtiğinde ise hem şaşırdım, hem de Kernighan-Ritchie
ikilisine olan hayranlığım bir kat daha arttı. 272 sayfadan oluşan kitap tek
ciltti, ve gerçekten de tartışmaya yer vermeyecek kadar basit ama detaylı
kurallar içeriyordu. Hatta elimdeki kitap ikinci basımdı ve ilk baskıda sayfa sayısının daha da az olduğunu
öğrendim. Kitapta anlatılan hali ile programlama dili, "Standart C"
anlamında "ANSI C" (American National Standards Institute) olarak
adlandırıldı. Kernighan-Ritchie ikilisi kitabın önsözünde şöyle der:
"C
dili büyük bir dil değildir, ve büyük bir kitap da ona hizmet etmez."
Kitabın
içinde yalnızca anlatım değil, konuyu iyice pekiştiren özgün örnekler de vardı.
Örneklerin tamamı çalıştırılabilen kodlardı ve aralarında en ünlüsü, görüntü
çıktı birimine "hello, world" yazısını yazdıran program idi. Bu örnek
gelenekselleşerek tüm programlama dilleri için eğitimlerde ilk uygulanan örnek haline geldi.
Unix
işletim sistemi ve C programlama dili zamanla evrimleşip farklı kurumlar ve
topluluklar tarafından yeniden yorumlandı. Hatta Linus Torvalds’ın geliştirdiği
"Linux" işletim sisteminin de atası oldu. Unix ilk zamanlar
performans gerektiren ve son kullanıcıların doğrudan etkileşim kurmadığı
uygulamalar için kullanıldı. Bugün dünyada halen kullanılan süper
bilgisayarların %99,6’sı Unix ve türevi işletim sistemi kullanılıyor. Son kullanıcıya,
yani bizlere hizmet eden Unix türevleri ise son yıllarda akıllı telefonlar ve
tabletler ile yaygınlaştı. Akıllı telefon ve tabletlerde halen %79,3 oranında
Unix ve türevi kullanılıyor. Bunu ne yazık ki pek kimse bilmiyor.
5
Ekim 2011 günü beni oldukça üzen Steve Jobs kaybının hemen ardından, 12 Ekim 2011
günü de Dennis Ritchie’yi kaybettik. İki ölüm haberinin ardından dünyanın
verdiği tepki, bilişim dünyasının doğasına uygundu. Son kullanıcılar, yani
dünyanın neredeyse tamamı Steve Jobs için yas tutarken, yalnızca ofis ardındaki
bilişimciler ve programcılar Dennis Ritchie’nin kaybını duymuş ve üzülmüştü.
Benim içinse her ikisinin de değeri aynı
ve tartışılamaz. Fakat şunu söylemeliyim ki, Kernighan ile Ritchie’nin C
dünyası olmasaydı, Steve Jobs’un Objective C dünyası olmazdı.
Hiç yorum yok:
Yorum Gönder