Tekerleği Yeniden İcat Etmeyenlerin Gizli Süper Gücü

Bir programcı bazen kendini yalnız bir dağcı sanır: Önünde buzlu bir problem yamacı, elinde klavye kazması, arkada kahveyle çalışan küçük bir kamp ateşi. Oysa çoğu zaman çıktığı dağ, binlerce kişinin daha önce tırmandığı, rotaları çizilmiş, riskli geçitleri işaretlenmiş bir dağdır. Kod kütüphaneleri tam da bu yüzden büyüleyicidir: Yalnız olmadığımızı, hatta yalnız başlamamız gerekmediğini hatırlatırlar.

Kütüphane dediğimiz şey, sadece bir dosya yığını ya da indirilebilir paket değildir. Bir kod kütüphanesi, önceki nesillerin uğraştığı hataların, denediği çözümlerin, yaptığı yanlışların ve sonunda bulduğu daha iyi yolların damıtılmış hâlidir. Matematikte teorem neyse, yazılımda iyi tasarlanmış bir kütüphane de odur: Tekrar tekrar kanıtlanması gerekmeyen, üzerine yeni düşünceler inşa edebileceğimiz güvenilir bir basamak.

Yeniden Keşfetmemenin Hafifliği

Bir tarih işleme kütüphanesi kullanmak, takvimlerin insanlık tarihinde ne kadar tuhaf olduğuyla yeniden boğuşmamak demektir. Artık yıllar, zaman dilimleri, yaz saati uygulamaları, milisaniyeler ve ülkelere göre değişen kurallar… Bunları sıfırdan yazmaya kalkışan her geliştirici, kısa süre sonra bilgisayar biliminin aslında biraz da bürokrasiyle güreşmek olduğunu fark eder. Benzer şekilde bir şifreleme algoritmasını kendi başına yazmak çoğu zaman cesaret değil, tehlikeli bir özgüvendir. Çünkü bazı sorunlar yalnızca zor değildir; yanlış çözüldüğünde felaket üretir.

Burada önemli ayrım şudur: Kütüphane kullanmak tembellik değildir; doğru tembelliktir. Programlamada iyi tembellik, gereksiz tekrarları ortadan kaldırır ve zihinsel enerjiyi asıl probleme ayırır. Eğer bir web uygulaması geliştiriyorsanız, her defasında HTTP protokolünü elle işlemek, form verilerini sıfırdan ayrıştırmak, güvenlik başlıklarını ezbere kurmak sizi kahraman yapmaz. Sizi yorgun, hataya açık ve muhtemelen teslim tarihini kaçırmış biri yapar. Kütüphane, enerjinizi altyapı çukuruna değil, ürünün değer yaratan kısmına yönlendirir.

Fakat bu hafifliğin bir gölgesi de vardır. Kütüphaneler kültürel miras olduğu kadar kültürel bağımlılıktır. Ne kullandığını bilmeyen geliştirici, hazır çözümlerden oluşan parlak bir labirentte kaybolabilir. Bir paketi projeye eklemek kolaydır; onun hangi varsayımlarla çalıştığını, hangi güvenlik açıklarına sahip olabileceğini, bakımının sürüp sürmediğini anlamak ise zanaatkârlık ister. Modern yazılım dünyasında bir satır kod yazmadan yüzlerce bağımlılığı içeri almak mümkündür. Bu, uygarlığın konforu kadar kırılganlığını da gösterir: Bir tuğla yerinden oynarsa, bazen bütün bina öksürür.

Bu yüzden olgun yaklaşım ne her şeyi sıfırdan yazmak ne de her problemi ilk gördüğümüz paketle örtmektir. Sistemli düşünmek gerekir. Önce problemi tanımla: Gerçekten genel bir çözüm mü gerekiyor, yoksa küçük ve yerel bir iş mi? Sonra maliyeti hesapla: Kütüphane öğrenme yükü, performans etkisi, lisans şartları, bakım durumu ve topluluk desteği nedir? Ardından sınırları belirle: Bu kütüphane sistemin hangi katmanına girecek, ne kadar vazgeçilmez hâle gelecek, yarın değiştirmek gerekirse ne kadar acı verecek?

Kod kütüphaneleri, yazılımın kültürel mirasıdır çünkü bilgiyi yalnızca saklamaz, çalıştırır. Bir müzedeki eser gibi cam fanusta durmaz; derlenir, çağrılır, test edilir, çatallar, güncellenir, bazen de sessizce terk edilir. Her fonksiyon, küçük bir toplumsal anlaşmadır: Biri bu sorunu düşündü, çözdü, paylaştı; sen de bunu kullanarak daha ileri git. Böyle bakınca açık kaynak ekosistemi, dijital çağın İskenderiye Kütüphanesi gibidir; tek farkı, raflara dokunduğunuzda rafların da size dokunmasıdır.

Sonuçta iyi geliştirici, tekerleği yeniden icat etmeyen ama tekerleğin nasıl döndüğünü merak eden kişidir. Kütüphaneler bize dayanılmaz bir hafiflik sunar: Geçmişin yükünü sırtımızda taşımadan onun üzerine basabilmek. Fakat bu hafiflik bilinç ister. Çünkü miras, yalnızca tüketilecek bir konfor değil; anlaşılacak, korunacak ve gerektiğinde daha iyisine dönüştürülecek bir sorumluluktur.

Eşekli Kütüphaneci Mustafa Amca

esekli-kutuphaneYıl 1943.
Genç Mustafa’nın tayini kütüphaneci olarak Ürgüp Tahsin Ağa Kütüphanesi’ne çıkar. Devlet memurluğu o dönemde süper bir şey, çünkü özel sektör falan yok. Bizimki kütüphanede heyecanla okurları bekler; bir gün olur, beş gün olur, gelen giden yok.

Etraftakilerle konuşur, herkese anlatır:

“Bakın kütüphane bomboş duruyor, gelin kitap okuyun.” Gelen giden olmaz. Amirlerine durumu bildirir.

– Kardeşim otur oturduğun yerde, maaşını düzenli alıyon mu, almıyon mu?
– Alıyorum.
– Eee, o zaman ne karıştırıyon ortalığı, gelen giden olsa maaşın mı artacak? Başına daha fazla bela alacan, o kütüphaneye yıllardır kimse gelmez zaten…

23 yaşındaki genç memur “Ne yapayım, ne yapayım?” diye düşünür durur. Sonunda aklına bir fikir gelir, eşine söyler. Eşi önce “Deli misin bey?” der, ama kocasının bir şeyler üretme, işe yarama çabasını yakından görünce fikri kabullenir.
Devamını oku “Eşekli Kütüphaneci Mustafa Amca” →

Yeryüzü bir kütüphanedir.

Blgi Bütün nesnelerin doğasında mevcuttur.

Yeryüzü bir kütüphanedir; onun kitapları, binlerce yıllık taşlardır, yapraklardır, çimenlerdir, çiçeklerdir, derelerdir, kuşlardır ve bütün hayvanlardır.

Ayakta Duran Ayı

Sioux Kabilesi

*

“Every creative act reveals God and expands His being.
I know that may be hard to comprehend.
All creatures are doing their best to help God in His birth of Himself.
”
– Meister Eckhart

Bi de şurdan bakın: http://primaxstudio.com/stuff/scale_of_universe/