Sayılar Bizi Terk Etmez: Kaosun Ortasında Platoncu Bir Sığınak

Dünya bazen kötü tasarlanmış bir simülasyon gibi davranır: hava durumu fikrini değiştirir, ekonomi tansiyon hastası gibi iner çıkar, insanlar dün savunduğunu bugün utangaç bir sessizlikle inkâr eder. Bedende yaşlanma, toplumda kriz, zihinde gürültü vardır. Böyle bir evrende insanın içinden şu çocuksu ama çok ciddi soru yükselir: Hiç değişmeyen bir şey yok mu? Matematiksel Platonizm tam bu noktada sahneye, pelerinini savurarak değil, sessiz bir kesinlikle çıkar. Der ki: Evet, var. Sayılar.

Matematiksel Platonizm, matematiksel nesnelerin insan zihninden bağımsız olarak var olduğunu savunur. Yani iki sayısı, biz onu yazmadan önce de vardı; Pisagor teoremi, Pisagor doğmadan önce de doğruydu; asal sayılar, evrende onları sayacak hiçbir canlı olmasa bile tuhaf ve inatçı bir düzen içinde duruyordu. Bu görüşe göre matematik icat edilmez, keşfedilir. Matematikçi, sıfırdan ülke kuran bir kral değil; çok eski, sisli ve görkemli bir kıtaya ayak basan kâşiftir.

Ekranda Aynı, İçeride Devrim: Kod Refaktörünün Gizli Estetiği

Kod refaktörü, yazılım dünyasının en tuhaf sanatlarından biridir: Seyirci salona girer, perde açılır, sahne aynı görünür. Düğmeler aynı yerde, ekran aynı renkte, kullanıcı yine aynı işlemi yapar. Fakat kulisin arkasında dekor sökülmüş, kablolar etiketlenmiş, oyuncuların giriş çıkışları yeniden düzenlenmiş, yangın çıkışları açılmıştır. Dışarıdan hiçbir şey değişmemiştir; içeride ise küçük bir uygarlık kurulmuştur.

Bu yüzden refaktör, sadece teknik bir işlem değil, bir ahlak biçimidir. Çünkü hızlıca çalışan ama içten içe çürüyen kod ile karşılaşan geliştirici, iki yoldan birini seçer: Ya halının altına bir hata daha süpürür ya da diz çöküp zemindeki çatlağı onarır. Refaktör yapan kişi, gelecekteki bilinmeyen bir meslektaşına, hatta çoğu zaman kendisinin üç ay sonraki hâline not bırakır: Burada seni bekleyen bir mayın yok, rahat yürü.

C Bilen Python’u Neden Başka Görür? Zihnin Gizli Derleyicisi

Bir programlama dilini öğrenmek, yalnızca yeni komutlar ezberlemek değildir; zihne yeni bir gözlük takmaktır. C öğrenmiş biri Python’a geçtiğinde, çoğu zaman sadece farklı bir söz dizimiyle karşılaşmaz. Belleğin, türlerin, döngülerin, fonksiyonların ve hataların dünyasına dair eski alışkanlıklarıyla yeni bir ülkeye göç eder. Bavulunda işaretçiler, derleme hataları, noktalı virgüller ve karakter dizilerinin sert disiplini vardır. Python ise kapıda terlikle karşılar: Rahat ol, der, burada girintiler konuşur.

İşte öğrenme transferi tam bu noktada sahneye çıkar. Önceden öğrenilmiş bir bilginin, yeni bir öğrenme alanını etkilemesine transfer diyoruz. Bu etki iki türlü olabilir: olumlu ya da olumsuz. C’de değişkenlerin tipini açıkça belirtmeye alışmış birinin Python’da veri türlerini daha dikkatli düşünmesi olumlu transferdir. Aynı kişinin her şeyi düşük seviyeli bellek mantığıyla çözmeye çalışıp Python’un hazır soyutlamalarını görmezden gelmesi ise olumsuz transfer olabilir. Yani eski bilgi bazen pusula, bazen de pranga olur.

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.

Kodun Bize Fısıldadığı Sır: Hayatta Her Detayı Bilmek Zorunda Değilsin

Programlamada soyutlama, ilk bakışta teknik bir kavram gibi görünür: karmaşık ayrıntıları sakla, kullanıcıya yalnızca gereken düğmeyi, fonksiyonu, arayüzü göster. Fakat dikkatli bakınca bunun sadece bilgisayarların değil, insan zihninin de hayatta kalma stratejisi olduğunu fark ederiz. Sabah kahve makinesine bastığınızda termodinamik, elektrik devreleri, su basıncı ve metal alaşımlar üzerine düşünmezsiniz. Sadece kahve istersiniz. Makine size evrenin tüm mühendislik dramını değil, bardağı verir. İşte soyutlama budur: kaosu kullanışlı bir şekle sokma sanatı.

Kodun Perde Arkası

Bir yazılımcı için soyutlama, karmaşayı yenmenin en zarif yollarından biridir. Diyelim ki bir uygulamada kullanıcı kaydı yapıyorsunuz. Parola şifrelenecek, veri tabanına bağlantı kurulacak, e-posta doğrulaması gönderilecek, hata kontrolü yapılacak. Bunların hepsini her seferinde tek tek yazarsanız kodunuz kısa sürede dijital bir çöp sahasına dönüşür. Bunun yerine kullaniciOlustur() gibi bir fonksiyon yazarsınız. Artık içerideki ayrıntılar saklanır; dışarıdan bakınca yalnızca anlamlı bir eylem görünür. Bu, bilgisayara emir vermekten çok, düşünceyi düzenlemektir.