John Backus, ilk üst düzey programlama dili olarak kayıtlara geçen Fortran’ın mucidi, Amerikalı bilgisayar bilimci.
Günümüz dijital dünyasının temelinin bilgisayar programlama üzerine kurulduğunu söylemek oldukça mümkün görünüyor. Bugün, sosyal medyaya bir gönderi yüklemesinden tutun da e-posta alışverişine kadar arka planda bir programlama dilinin çalıştığını rahatlıkla söyleyebiliriz.
İşte, programlama dilinin hikayesinin çok eskilere dayandığı bilinse de 1943 yılında Ada Lovelace‘ın geliştirdiği algoritma, bilgisayar programlarının temeli olarak kabul edilir. Ada Lovelace’in geliştirdiği algoritma dili, analitik motorlar için kullanılıyor. O geliştirdiği bu dil ile Charles Baggage’e, Bernoulli sayı hesaplamalarında yardımcı olmayı amaçladı.
Lovelace, bilgisayar programlarının temelinin atılmasına büyük katkı sağladı. Onun hemen ardından Konrad Zuse, 1944 yılında Plan Calculus adında bir program geliştirdi. Bugün anladığımız haliyle Plan Calculus, ilk programlama olarak kayıtlarda yer aldı.
1949 yılında ise düşük seviyeli bilgisayarlara ne yapmaları gerektiğini söyleyen Assembly dili geliştirildi. 1952’de Alick Glennie tarafından geliştirilen Autocode ise bilişim dünyası tarafından ilk programlama dili olarak kayıtlarda yer alıyor.
Geçmişten günümüze süregelen ve hâlâ kullanılmakta olan Fortran’ın tarihi ise 1954 yılına dayanıyor. Fortran, 1954’te John Backus ve ekibinin hazırladığı “The IBM Mathematical FORmula TRANslating System: Fortran” isimli raporu yayımlamalarının hemen üzerine piyasaya sürülüyor.
Bu yazılımın en çok kullanıldığı alanlar ise mühendislik ve fizik oluyor. Diğer pek çok programlama diline öncülük eden Fortran, sayısal hava tahmini, jeofizik ve kristalografi vb. gibi alanlarda kullanılıyor.
Dünden bugüne Fortran’ın piyasada yer alan sürümleri şöyle: Fortran 0, Fortran I, Fortran II, Fortran III, Fortran IV, Fortran 77, Fortran 90, Fortran 95, Fortran 2000, Fortran 2003, Fortran 2008.
Gelin, bugün hâlâ aktif olarak kullanılan ilk üst düzey programlama dili olan Fortran’ı yaratan kişinin yaşamına hep beraber göz atalım.
İçindekiler
Yaşamı
John Backus, 1927 yılında Philadelphia’da dünyaya geldi. Backus, annesini 8.5 yaşındayken kaybetti. Backus’un babasının kimyager olduğu biliniyor. Fakat I. Dünya Savaşı’nın ardından babası borsacı oluyor. Backus’un babası, bu işten oldukça iyi paralar kazandı.
Backus bundan dolayı varlıklı bir ailenin ortanca çocuğu olarak dünyaya geldi. Backus, annesini kaybetmesinin ardından içine kapanık bir çocukluk geçirdi.
Başarılı programcı, liseyi doğduğu eyaletin prestijli okullarından biri olarak bilinen Hill School’da tamamladı. Ancak Backus’un öğrencilik yaşamının başarı anılarıyla dolu olmadığını söylemek mümkün.
Derslerle arası pek iyi olmadığı bilinen John, bir şekilde 1942 yılında liseden mezun olmayı başardı. Üniversite çağına gelen Backus’un üniversitede okuyacağı bölüme dair herhangi bir fikri yoktu. Bu nedenle, kimyager olan babasının isteği üzerinde Virginia Üniversitesi Kimya bölümüne kayıt oldu.
Kimya okumaya pek hevesli olmayan genç adam, bir süre sonra teorik derslere karşı bir yakınlık duydu. Backus, teorik derslere karşı duyduğu hissi ne yazık ki pratik derslerle kuramadı. Hatta onun laboratuvar derslerine karşı oldukça mesafeli olduğunu söylemek mümkün.
Bu nedenle onun bölümüyle kurduğu ilişki oldukça kısa süreli oluyor. Üniversitenin ikinci döneminde bölümle git gide arası açılan John, derslere gitmemeye başladı. Bu durum onun üniversitenin yönetimi tarafından üniversiteden atılmasıyla sonuçlandı.
Bunun üzerine Backus, II. Dünya Savaşı nedeniyle ABD ordusuna katıldı. Orduda onbaşı olarak görevlendirildi. Bu sırada o, pek çok yetenek sınavına tabi tutuldu. Bu sınavlardan birinde üstün başarı gösterince, ordu tarafından Pittsburg Üniversitesi ön mühendislik programına kayıt oldu.
Backus, ardından ise Haverford Tıp programına geçiş yaptı. Bu esnada John Backus’a tümör teşhisi konuldu. Onun kafasına metal bir plaka yerleştirildi. Kendisi bu plakadan rahatsızlık duyunca kendi tasarladığı bir plakanın yerleştirilmesi için tekrar ameliyat oldu.
Bu arada Baakus, tıp eğitimindeki kaydını başka bir üniversiteye aldırdı. Ancak geçen 9 ayın ardından tıp alanın kendisine uygun olmadığı gerekçesiyle üniversiteyi terk etti.
IBM Kariyeri
John Backus, 1946 yılında ordudaki görevinden çıktı. Bu ayrılığın ardından o, New York’a taşınmaya karar verdi. Daha sonra Backus, buradaki bir radyo teknisyenliği okuluna kaydoldu. Ders aldığı sırada, matematiğe olan ilgisini fark etti. Bu nedenle Backus, daha sonra Columbia Üniversitesi Matematik bölümüne kayıt oluyor.
1949 yılında yapacağı bir gezi onun hayatında dönüm noktası oldu. Şöyle ki: Backus IBM Bilgisayar Merkezi’ni ziyaret etmeye karar veriyor. Backus, merkeze gittiğinde ortamdan oldukça etkilendi. Daha sonra Backus, kendisine merkezi gezdirmek için eşlik eden rehbere iş aradığından söz ediyor.
Rehber merkezin yönetici ile bir görüşme yapabileceği konusunda onu cesaretlendiriyor. Böylelikle Backus, IBM’nin ilk bilgisayarlarından Selective Sequence Calculator (SSEC) üzerinde çalışması için işe kabul ediliyor.
İlk etapta Backus’un görevi bu ağır işleyen makineyi durduğunda çalışır hale getirmek olmuştu. Çünkü SSEC, modern anlamda bir bilgisayar değil. Ayrıca bilgisayarın, yazılım depolama hafızası da yok. İşte Backus, IMB’de geçirdiği üç yılın ardından ilk olarak Speedcoding adlı yazılım diline imza attı.
Backus bir röportajda, onun başarısının arkasında yatan sırrın IBM’nin ona tanımış olduğu özgürlük olduğundan söz etti. Kendisinin oldukça tembel ve üşengeç bir yapıya sahip olduğundan söz eden bu adam, IBM’deki çalışma ortamının onu motive ettiğinin altını çiziyor:
GB: Ve IBM size bu şeylerin peşinden gitme özgürlüğü verdi.
JB: Evet, beni kendi suyumda haşlamaya bıraktılar.
Fortran
Speedcoding adlı yazılım dilini uygulama esnasında bazı sorunlar ortaya çıkıyordu. Bu nedenle, John Backus, IBM yönetimine yeni bir teklifle gitti. O, bu teklifiyle IBM’nin yeni bilgisayarı, 704’ün kullanımını hızlandıracak olan bir dil tasarlama önerisinde bulundu.
İşte, 1953 yılında o, yeni dilin taslağını sundu. IBM bu teklife kayıtsız kalamadı ve teklifi kabul etti. Aynı zamanda Backus’a, bu çalışmasında yardımcı olmaları için programcı ve matematikçilerden oluşan bir ekip ayarladılar.
Backus’un amacı, yetersiz bilgisayar programlarının 704’ün performansını düşürmesini önlemekti. Bu nedenle o, geliştireceği dilin hem basit hem de hızlı olması için elinden geleni yaptı.
O kendisine programlama alanına girmeye nasıl karar verdiği sorulduğunda şöyle cevap verdi:
Bunu söylemesi zor. Ben sadece gerçekten daha yüksek bir seviye düşünmeye çalışıyordum. Fortran kadar zor olmayan programlama. Sorun şuydu ki, işlevsellik fikri, “formları birleştirme” ve bunun gibi şeyler oldukça kolay geldi. Ama yapmaya çalışmak çözemediğiniz tüm diğer sorunlarla başa çıkabileceğiniz gerçek bir tam sistem haline getiren bu dilde ifade etmek çok kafa karıştırıcı ve dağınık hale geldi.
Anlaşılıyor ki, ilk başta John Backus için yapacağı iş ona kolay görünmekteydi. Ama iş, Backus’un sandığı kadar kolay değildi. Bunun üzerine ekip, dili makinenin anlayacağı bir dile çevirecek bir alet tasarlamaya yöneldi. Öyle ki bu alet, hand-coding’leri ortadan kaldıracak, programın çeşitli bileşenlerini iki rakamlı bilgisayar diline çevirecekti.
Bu dil FORTRAN’dı. Bu yeni programlama dili, adını FORmula TRANslation’dan alıyordu.
Backus liderliğinde ekip, 1954 yılında FORTRAN’ın teknik özellikleri hakkında bir bildiri yayımladı: Preliminary Report, Specifications for the IBM Mathematical FORmula TRANslating System: FORTRAN.
Nihayetinde ekip, çalışmayı başarıyla sonuçlandırdı. Onlar 704 müşterileriyle bir araya gelip geri dönüşler aldılar. Her ne kadar programın ilk sürümü buggy olsa da geliştirilen sürümlerde sorunlar ortadan kalktı.
Bir devrime imza atan Backus, yeni dili geliştirmek için başta altı ay ön görmüştü. Fakat çalışmanın bitmesi yaklaşık iki yıl sürmüştü.
Fortran Sürümleri
Fortran 0: Ekip üyeleri, ilk sürümde hız nedeniyle esneklikten vageçtiler. Bu nedenle söz konusu sürüme program içindeki tüm değişkenlerin önceden tanımlanması gerekiyordu.
Fortran I: 1957 yılında tanıtılıyor. İlkinden farklı olarak yeni sürümde, değişken isimleri 6 karaktere kadar çıkarılmaktaydı. Aynı zamanda veri giriş çıkış sisteminin düzeni değiştirildi.
Fortran II: Ekip, Forton I’deki hataları 1958 yılında tanıtılan Forton II ile giderdi. En önemli yenilik ise alt programların ayrı ayrı derlenebilmesiydi. Böylece alt programda yapılan değişim nedeniyle tüm programı yeniden derlemeye gerek kalmamıştı.
Fortran III: Forton II’ye eklemlenen bazı özellikler mevcut olmakla beraber, yaygın olarak kullanılmamıştır.
Fortran IV: 1960’lı yıllarda gelişmiştir. En önemli özelliği en geniş alanda kullanılmış olan programlama dili olması oluyor. Sürüm, 1966’da Fortran 66 olarak standart bir isim haline geldi.
Fortran 77: Fortan 77, Fortan IV’e göre daha gelişmişti diyebiliriz. Çünkü Fortan 77’de string işleme, mantıksal döngüler ve if ifadesine else ifadesi vardır.
Fortran 90: Fortran 77 ‘den pek çok noktada ayrılır. Örneğin, diziler için dinamik olarak yer ayrımının yapılabiliyor. Bununla beraber Case, Exit, Cycle, gibi yeni ifadeler mevcuttur. Ayrıca Fortran 90 ile birlikte daha önce FORTRAN olan yazım şekli Fortran olarak değiştiriliyor.
Fortran 95: Ekip, Fortran 90’a bazı özellikler ekledi.
Bugün ise yaygın olarak Fortran 77 ve ondan sonraki sürümler kullanılmaktadır. 90 sonrası sürümler kayıtlarda çağdaş Fortran sürümleri olarak kayıtlarda yer alıyor.
Fortran Dili ve Özellikleri
Üst düzey program dili olan Fortran;
- İngilizce sözcüklerden oluşuyor.
- Zorunlu bir programlama dilidir.
- Sayısal analiz ve bilimsel hesaplamanın yanı sıra; yapısal programlama, dizisel programlama, modüler programlama, genel programlama, süper bilgisayarlar için yüksek performanslı programlama, nesne tabanlı programlama ve eş zamanlı programlama için uygundur.
- Programlamaya giriş için uygun bir dil özelliği taşır.
- Bilimsel hesaplamalarda C, C++ gibi dillerden hem daha güçlü hem de daha hızlıdır.
- Taşınabilirliği yüksek bir dil olmasının yanı sıra, birçok platform için derleyicileri mevcuttur.
- Standart olarak grafik yetenekleri özelliği yoktur. Fortran ile çoğunlukla metin tabanlı programlar yazılıyor.
Ödüller
- John Backus, 1967 yılında Elektrik-Elektronik Mühendisleri Enstitüsü tarafından the W.W. McDowell Ödülü ile onurlandırıldı.
- 1976 yılında ise Backus, Ulusal Bilim Madalyası (National Medal of Science) kazandı.
- O, 1977 yılında the ACM Turing Award Lecture ile onurlandırıldı.
- 1993 yılında üst düzey program dili çalışması nedeniyle Charles Stark Draper Para Ödülü’nü kazandı.
- Takvimle 1998’i gösterdiğinde, o; bilgisayar sistemleri teorisi ve yazılım proje yönetimi alanındaki katkılarından dolayı Bilgisayar Tarihi Müzesi’nden Ortaklık Ödülü aldı.
Günümüzde Fortran’ın Kullanım Alanları
Fortran, bugün kırk yaşın üzerinde olup bilimsel ve endüstriyel programlama alanlarında en iyi dil olma özelliğini korumaktadır.
Bu nedenle, kayıtlarda “günümüzde kullanılan en eski programlama dili” olarak yerini almaktadır.
Fortran dili, üst düzey bilimsel, matematiksel ve istatistiksel hesaplamalar için oluşturulmuş olsa da video oyunları, hava trafik kontrol sistemleri, maaş bordrosu hesaplamaları, çok sayıda bilimsel ve askeri uygulama alanlarında da kullanılmaktadır.