9 Eylül 2014 Salı

Basitin Güzelliği

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