Tarih

PROGRAMLAMA DİLLERİ VE TARİHİ - 1.Kısım

Mustafa BAL, 25.04.2019 13:26:24
title

               Son 70 yılda bilimin ve insanlığın gelişmesinde büyük bir önemi olan, matematiksel işlemlerde insan denklemini ortadan kaldırıp karmaşık denklemleri 0 hataya yakın çözebilen, veri toplayan, topladığı verileri saklayıp analiz edebilen, gerektiğinde kendi kendine öğrenebilen,insanları fiziksel ve yazılımsal birimleri ile bir birlerine bağlayan, insanoğlunun şuana kadar yapmış olduğu en önemli buluşlardan biri "Bilgisayar".

                İlkel bilgisayarları da göz önünde bulundurursak tarihi, Abaküs ve Antikythera Makinesi ile birlikte Milattan Önce 150 yılına kadar dayanabilir fakat insanlığa çağ atlatan, teknolojiye yön veren zamanların başı olarak 1830'lu yılları incelememiz gerekmektedir. Bilgisayarın babası olarak kabul edilen Charles Babbage 1791 yılında Londra'nın merkezinde dünyaya gelmiştir.O dönemdeki insanların kimisine göre bilim adamlarının en çılgını kimisine göre ise yaptığı icatlar sadece zaman kaybı. Banker bir babanın oğlu olan Babbage kısa bir süre King Edward VI Grammar okulunda öğrenci olur fakat sağlık problemleri yüzünden okula gidemez bunun üzerine babası eğitimini evde devam etmesi için özel öğretmenler temin eder. Babbage, ünlü Bakery Sokağındaki Holmwood Akademiye başlar ve burada matematiğe aşık olur. Zamanının çoğunu akademinin kütüphanesinde geçiren Babbage, matematik üzerine çalışmalar yapar, bir süreden sonra matematik kitaplarının yetersiz olduğuna inanır ve arkadaşı John Herschel ile bu kitaplar üzerine çalışırlar. İnceledikleri kitaplarda buldukları hatalar yüzünden bu tip denklemlerin kesinlikle insan iradesinin dışında yapılmasını ve sonucu hatasız hesaplayan bir makineye ihtiyaç duyulduğunu konuşurlar. Babbage ve Herschel'ın aralarında konuştukları hatasız hesaplama yapan makine günümüzde kullandığımız bilgisayarların temelini oluşturmaktadır. Babbage ilk olarak Difference Engine No.1'i tasarlar ve bunu katıldığı toplantılarda arkadaşlarına tanıtır. Katıldığı toplantılardan birinde bir isme daha rastlıyoruz Augusta Ada Byron (Ada Lovelace), tarihte ilk kadın programcısı olarak anılmaktadır. Şair Lord George Gordon Byron ve Annabella Milkbanke tek çocuğu olan Ada Byron  1815 de dünyaya gelir. 8 yaşındayken babasını kaybeder.  Annabella, Lord Byron ile sorunlar yaşar ve Ada'nın da babasına benzememesi için onu matematiğe yönlendirir. 19. yüzyılın ünlü araştırmacıları William King, William Frend ve Mary Somerville tarafından eğitilir. Son hocalarından biri ise matematikçi ve mantıkçı Augustus De Morgan'dır. Ada Lovelace 17 yaşına geldiğinde matematikteki becerisi gözle görülür bir hâl almaya başladı. Gençlik yıllarında bir çok araştırmalar yaptı, Ada Lovelace'ın öğretmeni olan ayrıca Babbage'in arkadaşı Mary Somerville aracılığı ile tanıştılar. Babbage, Ada'nın Fark Makinesinin örneğini göstermek için konferanslarından birisine davet etti. Ada Fark Makinesini gördükten sonra çok heyecanlanmış ve Mary Somerville'yı her fırsatta Babbage'i görmek için kullanmıştır. Ada'dan çok etkilenen Babbage, projesine Ada'nın da katılmasını ister. Tüm kaynakları araştırmaya başlayan Ada, Luigi Federico Menabrea'nın notlarını keşfeder. Luigi Federico Menabrea, o dönemde italyan askeridir ve mühendistir ileriki yıllarda İtalya'nın 7. Başkanı olacak ve konuşmalarında Babbageden de bahsedecektir. Charles Babbage'in tüm konferanslarına katılmış olan Luigi tüm notlarını bir kitap haline getirmiştir (Sketch of the Analytical Engine Invented by Charles Babbage). Orjinal dili Fransızca olan kitap Ada tarafından çevrilmiş ve çevirirken Babbage Ada'dan kendi fikirlerini de yazmasını istemiştir. Ada'nın yazdığı notlar hemen hemen kitapla aynı sayfa sayısına denk gelmiştir (40-41 sayfa).  Notlarda motorun düzgün çalışabilmesi için oluşturulmuş olan Bernoulli sayı dizisinin motorla hesaplama yöntemini detaylıca içermektedir. Bu çalışmada motorun çalışması için oluşturulmuş bir algoritma yada sıralı/aşamalı işlem olduğundan günümüzde ilk kadın programcısı olarak anılmaktadır. O dönemde bilimsel araştırmalar ve yayınlar yapmak için bazı kurallar vardı ve bu kurallardan biri ise kadınların bilimsel araştırmaları yayınlayamıyor olmasıydı. Fakat Ada Lovelace araştırmalarını yayınlarken A.A.L. yani isimlerinin kısaltılmış halini kullanarak (Augusta Ada Lovelace) gerçek kimliğini gizledi. Kısa bir hayatı olan Ada, hastalığından dolayı 27 Kasım 1852 de öldü ve babasının yanına Mary Magdalene kilisesi'ne gömüldü.


 

Ada Lovelace ve Charles Babbage

  Fark Makinesinin Çalışma Prensibi (Difference Machine)

                  
Babbage'in ilk mekanik bilgisayarında logaritmaları ve trigonometrik fonksiyonları sıralamak, polinom hesaplamak ve sonuçları kağıt çıktı olarak vermek için amaçlamıştı fakat hiç bir zaman makine bitmedi. O yıllarda Babbage makinenin tasarımı ve çalışma prensipleri hakkında sürekli baş mühendis olan Joseph Clement ile tartışıyor ve istenilen yolu kat edemiyorlardı.
 


Figüre 1 - Fark Makinesi Fonksiyonu



         Bir polinom değerini hesaplamak genellikle çarpma, bölme, çıkarma ve toplama işlemlerinin herhangi birini veya tümünü içerir. İşlemde sonulu farklar yönteminin bir avantajı, çarpma ve bölme işleminin ortadan kaldırılması ve bir polinom değerinin basit bir ekleme yapılarak hesaplanmasına izin vermesidir. Bu amaçla dişli çark kullanılarak  iki sayıyı çarpma ve bölme işlemlerinden daha kolay olup bu sayede bu yöntem başka bir karmaşık mekanizmayı da basitleştirmektedir. Bir polinom'un bir kaç değeri biliniyorsa geri kalan işlemde basit tekrarlamalar yapılarak çözülebilinir. Yöntemi ise F(x) = x2 + 4 işlevi kullanılır. Figür 1 de gösterilen değerlerde, fonksiyonun değerleri x2+4, zihinsel aritmetik veya elle (5,8,13,20) hesaplanan ilk dört değeri ikinci sütunda gösterir.

                Bir sonraki adım, birinci ve ikinci farkları hesaplamaktır. İlk farklar üçüncü sütunda gösterilir ve soldan sağa doğru akan (oklarla gösterildiği gibi) önceki sütundan art arda gelen değerleri çıkartarak hesaplanır (8-5=3, 13-8=5 vs.). İkinci fark, ilk farktaki çiftleri çıkartarak hesaplanır ve son sütunda gösterilir. Hesaplanan ilk değerle, işlevin geri kalan değerleri, işlem tersine çevrilerek tekrar hesaplanır. Bu polinom için, ikinci fark sabittir. Fonksiyonun değerini x = 5 olarak hesaplamak için, ilk fark olan 7 ile sabit fark olan 2 eklenir, daha sonra son fonksiyon değerine eklenebilen bir sonraki ilk farkı 9 (kırmızı ok) elde etmek için (mavi ok) F(5) = 29'u verir. Bu çarpma gerçekleştirilmeden istenilen sonuçtur. İşlem daha sonra F (6) = 40, vb. Elde etmek için son fonksiyon değerine eklenebilecek bir sonraki ilk fark olan 11 vermek üzere tekrarlanabilir. Bu yöntemi kullanarak, herhangi bir ikinci derece polinom bu şekilde hesaplanabilir ve daha genel olarak, herhangi bir n'inci derece polinom, n'inci farkından başlayarak, yalnızca ekleme kullanılarak hesaplanabilir.

Figür 2 - Fark Motoru

        Figür 2 deki Babbage'in Fark Motoru, tablodaki sütunların her birinde bir sayı tutar (örneğin, 20, 7, 2). Birinciye ikinci farkı ekler, ardından bu sonucu tablodaki bir sonraki girişi hesaplamak için işlev değerine ekler. Yedi fark için yeterli sayı sütunu vardır ve polinomlar için x7'ye kadar olan 31 basamaklı değerleri hesaplanabilinir.

                Fark Makinesinin ilk hali 2.5 metre yüksekliğinde yaklaşık 15 ton ağırlığında ve 25.000 parçadan oluşacaktı fakat o günün teknolojisine göre küçük ve ince çarkları yapmak neredeyse imkansız olup dönemin gerektirdiği teknoloji sadece dökme kalıplar üzerineydi. Babbage, Fark Makinesini hiçbir zaman tamamlayamadı ve hükümet de verdiği desteği çekti. Babbage, Fark Makinesi (Difference Engine No.1)'den hemen sonra daha yeni makinesi olan Fark Makinesi No.2(Difference Engine No.2)'yi tasarlamaya başladı. İlk'inden daha kapsamlı, sonuçları çıktı olarak verebilen, İlk tasarımına göre daha hafif ve daha az parça ile daha çok işlem yapabilen Fark Makinesi No.2, 5 ton ağırlığında, 8000 parçadan oluşan ve uzunluğu 3,35 metre (11 feet)dir. Babbage, bu makinesini tasarladıktan sonra tamamlayamadan 18 Ekim 1871 günü 80 yaşında yaşamını kaybetti. 


Figür 3 - Babbage'in Analitik Makinesi Şeması


              1980 de, Sydney Üniversitesi'nde doçent olan Allan G. Bromley, Londra'daki Bilim Müzesi kütüphanesinde Babbage'in Farklar ve Analitik Motorlar üzerine yaptığı orjinal çizimleri inceledi. Bu çalışma sonucunda, Bilim Müzesinin müdürü olan Doron Swade'i Fark Makinesi No.2'nin yapımına teşvik etti. Bunu 1999 da Babbage'in ölüm yıl dönümünü kutlamak için yapacaklar ve Babbage'i bu vasıtayla anmış olacaklardı. 2002'de Babbage'in Fark Makinesi yazıcısıyla birlikte tamamlandı. Özgün çizimleri 20. yüz yıl mühendisliğine adapte edecek şekilde bazı oynamalar yapmak mecburiyetinde kalsalar da Babbage'in Fark Motoru çalışıyor ve çizimlerinin 20. yüzyılda gerçekten işe yarayıp yaramadığını tartışanlar için de bir cevap niteliği taşıyordu.


Figüre 4 - Fark Makinesi No.2 British Museum