5 Mart 2007 Pazartesi

Bir Yazılımcının Gözünden Evrim Fikri

Tesadüf diye bir şey canlılığın ortaya çıkış sürecinde yaşandı mı, yaşanmadı mı? Ne kadar kritik bir soru değil mi? Cevabına göre ya yaratılış ya da ateizm için yolun sonu gözükecek. Cevabını bilemiyoruz. Bilememek bizi inanmaya sevk ediyor. İnanmak cehaletin bir sonucuymuş. İspat edemediğin şeylere inanırmışsın. Öyle derler. Bizler cehaletimizin sonucu olarak Allah’ın varlığına ya da yokluğuna inanıp inanmama çizgisinde gider gelirmişiz. Belki de gidip geldiğimizi zannederiz. Belki Allah'ın varlığına inanıp inanma diye bir sınanma aslında hiç yoktur. Aslında herkes Allah'ın varlığını kabul ediyordur. Biz bilgisizliğimiz ve yanlış çıkarımlarımızın sonucu olarak bu konudan sınandığımızı zannediyoruzdur. Belki de sınanma başka bir konu üzerinedir. Ne olursa olsun sorular, şüpheler, cevaplar, tuzaklar hep karşımızdadır. Kalbimiz meydana bırakılmış bir tüy tanesi gibi bir oraya bir buraya savrulmaktadır.

İşte bu savruluş sırasında "Neden varız?" sorusuna cevap bağlamında günümüz insanı iki iddia ile karşılaşmaktadır: Evrim ve Yaratılış. Günümüz insanı dedim çünkü geçmişte bunun neredeyse hiç konusu açılmamış. Çünkü tesadüf diye bir şeyin varoluş sürecinde rol alabileceği hiç düşünülmemiş. Fakat günümüzde bu görüş gündemi fazlasıyla meşgul etmektedir. Neden?

Nedenine geleceğiz ama bilimsel bilgi üzerine konuşalım biraz.

Bilimsel bilgi evrenin çalışma mekanizmasının nasıl işlediğini anlatan bilgiler topluluğudur. Evrenin çalışma mekanizması da aslında sayısız alt mekanizmadan oluşur. Bilimsel bilgi işte bu mekanizmaların neden var olduğundan ziyade mekanizmaların kendisi ile ilgilenir ve çalışmalarını açıklar. Sen ise doğadaki mekanizmaları açıklayan bu bilgiler topluluğuna bakar, kendince yorum yaparsın neden var olduğu ile ilgili. Yorum yapanın sıfatı ne olursa olsun, yapılan yorumlar bilimsel bilgi değildir. Yani senin bir fosile bakıp ya da devenin göz yapısına bakıp "Bunlar tesadüfen bu hale gelmiştir" ya da "Yaratılışımızın bir sonucudur" demen senin bakış açını yansıtır. Bunların hiçbirisi bilimin sınırları içinde değildir. Bilimsel bilginin şahsi olarak yorumudur.

Yaratılış ya da tesadüf...

Yaratılış, yalnızca bir sefer ve doğaüstü bir şekilde olmuştur. Doğası gereği, olağanüstü bir şekilde gerçekleşmiş bir şeyi bilimsel bir düzleme oturtma diye bir şey zaten mümkün değildir. Hatta yaratılışın bilimsel bilgi gibi sunulması dini açıdan da doğru olmaz. Bu noktada, çok yapılan bir hatayı kısa bir not olarak düşmek isterim. "Din bilime aykırıdır" iddiasına cevap verme adına yaratılışın bilimsel bilgi olarak ifade edilebileceği söyleyen insanlar olabiliyor. Şahsi bir görüş olarak söylüyorum: Bunu yapanlar iyi niyetli olsalar da bu yapılan yanlış bir iddiaya yanlış bir cevap vermekten başka bir şey değildir ne yazık ki. Dediğimiz gibi bilimsel bilgi mekanizmaların işleyişini açıklar, nedenini değil.

Peki tesadüf bilimin sınırları içinde mi?

İşte Evrim Teorisi bunu yapma çabasıdır. Evrim, canlılığın ortaya çıkışını ve bu noktaya gelişini evrenin çalışma mekanizmasının sonucu olduğunu söyler. Yani tesadüf iddiasına bilimsel bir kılıf sunar. Daha doğrusu sunma iddiasındadır. Bu teorinin bu kadar popüler olmasının nedeni de budur. Yoksa teori olduğu iddia edilen evrim fikri canlılığın var olma nedenini ispatlayabiliyor diye değil. Dine, daha doğrusu din adına hareket eden bazı kötü niyetli insanlara tepkili insanların, din adına hareket eden o kötü insanlardan ayrı olduklarını gösterebilmek için tutundukları daldır Evrim Teorisi. Tamamen psikolojik, tepkisel bir durumdur evrim fikrinin bu kadar tutmuş olması. Yoksa korkunç bir iddiadır bu. Sadece canlılığı işin içine katarak söylüyorum: Düşünebiliyor musunuz, bu kadar korkunç karmaşık bir yapı var karşınızda, hatta bu karmaşık yapı, sayısız karmaşık yapıların birleşiminden oluşuyor ve hepsi uyum içinde çalışıyor. İnsan tekil olarak karmaşık yapıların karşısında mı dehşete kapılsın yoksa bu kadar karmaşık olup da üstüne bir de birbirleri ile uyum içinde sorunsuz bir şekilde çalışıyor olmalarına mı kapılsın karar veremezken, biri çıkıyor ve tüm bunların nedeninin tesadüf olduğunu ve bunu bilimsel olarak ispat edeceğini iddia ediyor. Dediğim gibi korkunç bir iddiadır bu.

Ha, tabii şu da var, sen bol keseden bunu iddia edersen, ben de hani nerede hiçbir şüpheye yer bırakmayacak deneylerin, kanıtların der. Eğer eksiksiz cevap veremezsen, üzgünüm ama düşeceğin acziyet karşısında elbette bu iddianın tepkisel bir şey olduğunu, bilimsel çalışmaların sonucu olmadığını söylerim.

Ama böyle olması bu konu üzerine çalışmalar yapılmasın demek değildir. Bu konuda üniversitelerde çalışmalar yapılsın. Yapılan çalışmalarda her şeyin tesadüfen var olduğu bir ön kabul olsun. Zaten tesadüf temelli görüşün yaratılış temelli görüşten ayrıldığı da nokta budur. Tesadüf kavramı, ucu açık bir çalışma alanı sunar. Bu çalışmalar yapılsın ve finanse de edilsin. Laboratuvar ortamında testlerle birlikte evrimin canlılığı nasıl oluştuğunun açıklanacağı güne kadar, da ateizmin tanımı gereği, ateist olma diye bir şeyin mümkün olmadığı kabul edilsin.

Bu uzun girişten sonra gelelim konu başlığımıza. Evrime bir yazılımcı gözüyle bakmaya.

Her şey bir denge içindedir. Evrende, vücudumuzda, ruhani tabiatımızda hep bir denge vardır. Evrimi de buradan konuşmaya başlamalıyız. Evrendeki dengeden, düzenden başlayarak… O zaman bu noktada sormamız gereken soru şudur: Evren değişime açık mı? Evrende değişim var mı?

Hayır, yoktur desem... "Ama doğduğunuzdan beri her şeyin değiştiğini görüyoruz ve insanlar her şeyin bir değişim içinde olduğu söylenmektedir" diye düşünerek itiraz eder misiniz bu dediğime. İtiraz ederseniz hata yaparsınız. Çünkü canlılık değişime açık bir yapıya sahip değildir.

Madem başlıkta yazılımcı gözü ile anlatacağız dedik öyle yapalım.

İlk kodlamaya başladıklarında mühendisler her şeyi tek bir Çalıştırılabilir Dosyanın (exe’nin) içine koymuşlar. Her defasından kodu tekrardan yazmak… Of, ne can sıkıcı… Kodun yeniden kullanılabilirliği (reusable) yalnızca kopyala-yapıştır işleminden ibaretmiş.

Bakmışlar böyle olmayacak, "Biz en iyisi kodumuzu dinamik olarak bağlayabileceğimiz kod dosyaları haline(DLL) getirelim ve sınıflarımızı da oraya koyalım oradan istediğimiz sınıfın istediğimiz fonksiyonuna ulaşırız" demişler. Böylelikle komponentler (DLL dosyaları) haline getirdiğimiz bir kodu her defasında tekrar tekrar yazmak zorunda kalmaz, o DLL'e bağlanır kullanırız. Üstelik DLL'lere koyacağımız sınıflarda yapacağımız herhangi bir değişiklikten de exe’miz yani çalışan kodumuz da etkilenmez, diye düşünmüşler. Hmm… 2 tane farklı yerdeki kod birbiri ile etkileşim halinde bir tarafı değiştireceksin ve öteki taraf etkilenmeyecek ha? Öyle kolay değil o işler.

Bu durumun çöküşü çok da uzun sürmemiş. Çünkü öncelikle DLL'deki kodlarda kullanılan Function Overloading için kullanılan isim türetme (name mangling) mekanizması farklı marka derleyicilerde farklı olması, ikincisi ve en önemlisi sınıfta yaptığın değişiklik ile oluşan nesnelerin boyutunun artması -örneğin exe 8 byte veri beklerken ve o kadar geleceğini tahmin ederek ona göre yer ayırırken örneğin 16 byte gelmesi- işleri bozmuş. Bakmışlar bu işler böyle olmuyor 2 farklı kodu birbiri ile uyum içinde çalıştırmak öyle kolay bir şey değil. Önce COM teknolojisini tasarlamışlar sonra aslında onun bir ileri basamağı olarak düşünülen Java\.NET teknolojilerini üretmişler. Bu teknolojilerin detayları her ne kadar konumuz olmasa da aklımızda tutmamız gereken şey çalışan 2 kodu birbiri ile uyum içinde çalıştırmanın zorluğu. Hele ki yalnızca tek taraflı bir değişimin diğer taraftaki kodu nasıl etkilediği ve sistemi çökerttiği... Buffer overflow atakları da stackteki IP(Instruction Pointer) üzerine ekstra veri yazılmasından kaynaklanmaz mı zaten... Her şey birbiriyle uyumlu olmak zorunda ne kadar veri geleceğini sistem bilmek zorunda ki ona göre yer ayırsın. Bunu tek taraflı değiştiremezsin. Değiştirirsen bedelini ödersin. Ki bugüne kadar defalarca ödemişler…

"Eee, bunun evrimle ne alakası var?"

Evren bir koddan ibarettir, daha doğrusu milyarlarca, trilyonlarca... kodun birleşmesinden. Canlı, cansız var olan bütün mekanizmalar hem kendi içinde hem de birbiri ile uyum içindedir. İşte problem burada, sen uyum içindeki bir kodu tek taraflı değiştiremezsin. Hemen bir örnek verelim: Hava bir koddur havadaki oksijen oranı da bir koddur bunu alıp kullanacak vücudumuz da bir koddur. Vücudumuz belirlenmiş bir oranda oksijenin varlığına kullanabilecek şekilde tasarlanmıştır. Bundan azını fazlasını göndermenin bedeli sistemin çökmesidir.

Yani canlılık değişime açık değildir. Doğada ise değişim yoktur. Daha doğrusu olmamalıdır. Zaten devamlı olarak değişime engel olmaya çalışmaz mıyız? Ozonu yeniden dikmeye çalışmamız, buzulları eritmeme çabamız…

"Ama yapraklar düşüyor vs. her şey değişim içinde?"

Hayır, hiçbir şey değişim içinde değil her şey bir döngü içinde. Buna değişim demek yanlıştır. Bu periyodik değişimdir yani döngüdür.

Aslında bilimsel bilgi de içinde periyodikliği barındırdığı zaman anlamlıdır. Çünkü o zaman matematiksel olarak ifade edilebilir hale gelmiş olmaktadır. Her şey döner ama her şey. Sinüs döner, elektronlar döner, gezegenler döner.

Matematikte, Karmaşık Analizin en önemli konusu: Fourier Dönüşümü. Fourier serisine açma yalnızca periyodik fonksiyonlar için geçerlidir periyodik olmayan fonksiyonları ne yaparız? Onları da sonsuzda periyodikmiş gibi düşünür, tabi bazı özel şartlar altında, ondan sonra Fourier dönüşümünü alırız. Yani fonksiyonlar mühendislik matematiği için periyodik olmak zorundadır. Periyodik değilse onu sonsuzda periyodik olarak düşünmelisin.

Bir şey periyodik olduğu zaman matematiksel anlamda değerlidir. Değişe değişe bu hale geldiğimizi iddia eden evrimi bu hali ile bilimsel ve matematiksel bir zemine oturtmak oldukça zordur. Bilimsel zemine oturtamazsın çünkü gözlem, deney yapamazsın. Çünkü tesadüfen olmuş demektesin. Tesadüfün mekanizmasını nasıl ortaya koyacaksın? Ucu o kadar açık ki. Matematiksel zemine oturtamazsın çünkü ortada bir döngü yok. Aynı yaratılışı bilimsel ve matematiksel zemine oturtmadığımız gibi. Çünkü yaratılış tek seferde olağanüstü bir şekilde olmuştur ve o da döngüsel değildir. Ne deney, gözlem yapabilirsin ne de matematiksel denklemini çıkarabilirsin.

Tüm bunların neticesinde tesadüfün mekanizmasını açıklama iddiasındaki evrim şu an için bir inanış, bir yorumlayış olmaktan öte bir konuma geçememektedir. Hatta o kadar ki, evrim ve yaratılış birbirine zıt olmak zorunda bile değildir. Çünkü eğer evrim fikri altında tesadüf denilen her şeye yaratılış dersen, evrim ile yaratıldığımızı da iddia edebilirsin. Evrim fikri buna da izin verir. Çünkü evrimin ucu o kadar açıktır. Ve buradan da evrimi neden bilimsel bilgi değil de insanların yorumu olarak değerlendirmemiz gerektiğini bir kez daha görebiliriz. Evrim her şeyiyle bilimsel bir disipline oturmuş olsaydı buna izin vermemesi gerekirdi. Ama maalesef öyle olmamaktadır.

0 comments :