Edsger Wybe Dijkstra bilgisayar biliminin multidisipliner bir dala dönüşmesine en çok katkı sağlayanlardan birisi olmakla birlikte, 1972 yılında bilgisayar biliminin Nobel’i olarak sayılan Turing Ödülü’nü almaya hak kazanmıştır. Edsger Dijkstra 1950’lerde ALGOL adlı yüksek düzey programlama dilini ekibi ile birlikte geliştirmiştir. Programlama dillerine genel anlamda katkı sunmuş olan ilk bilim insanları arasındadır ve bunların yapısı, tanımı ve uygulaması konusundaki çalışmalarıyla bilinir. Dijkstra’nın on beş yılı bulan çalışma geçmişi çizge teorisine ilişkin teorik makalelerden el kitaplarına, açıklayıcı metinlerden programlama dilleri konulu felsefi gözlemlere uzanmaktadır.
11 Mayıs 1930’da Rotterdam/Hollanda’da doğan Edsger Dijkstra, bilgisayar biliminin önde gelen kişilerinden birisi olmayı başarmıştır. Dijkstra matematikçi bir anne ve kimyager bir babanın dört çocuğundan üçüncüsüydü. Üstün zekalılar lisesi olan Gymnasium Erasminium’da öğrenim gördü. Lisenin son yılında hukuk okumayı düşünmesine rağmen; matematik, fizik, kimya ve biyolojide alınabilecek en yüksek puanla mezun olması sonucunda, ailesinin ve öğretmenlerinin yönlendirmesiyle matematik ve fizik okumaya karar verdi. 1956’da Leiden Üniversitesi teori fizikten mezun olduktan sonra Amsterdam Üniversitesi’nde doktorasını yaptı.
Leiden Üniversitesi’nde teorik fizik okumasına rağmen, kısa sürede asıl ilgi alanının bilgisayar bilimi olduğunu keşfetti. 1955’te bilgisayar dünyasına adım attı ve bilişim alanının teorik öncülerden birisi hâline geldi.
Koşut işlemlerde kilitlenmelerin önüne geçmek için kullanılabilen “kilitlenmelerden sakınma yöntemi” için 1965 yılında bir kaynağın bir göreve tahsisi istemi geldiğinde, istemin potansiyel bir kilitlenmeye neden olup olmayacağını belirleyebilen bir algoritmayı tanımladı.
Bulduğu Dijkstra Algoritması ( Shortest Path Algorithm) olarak da bilinen, bağlı bir grafikte iki nokta arasındaki en kısa yolu bulan algoritma günümüzde birçok alanda kullanılan Routing (yönlendirme) Algoritmalarının atası olarak kabul edilir. Aynı zamanda programlamada tek giriş ve tek çıkışa sahip olan döngülerin (for, while, if…) yaratılmasında öncü olmuştur.
1952- 1962 yılları arasında Matematisch Centrium’da, (daha sonra adı Ulusal Matematik ve Bilgisayar Bilimi Araştırma Enstitüsü olarak değiştirilmiştir) çalışan Dijkstra, Eylül 1962’de Eidhoven Teknik Üniversitesi Matematik Bölümü’nde profesör oldu. 1973’te raporlarını “Burroughs Araştırma Merkezi” imzasıyla ve Nuenen’deki evinin adresiyle dağıtmaya başladı. Üniversitedeki görevini haftada bir güne indirdi. O gün salıydı ve “Tuesday Afternoon Club” olarak bilinen, iş arkadaşıyla makaleleri bütün yönleriyle -imla, düzen, dil, içerik…- tartıştığı salı seminerlerine dönüştü. 1984’te Austin Üniversitesi’ne, gitmesiyle bu salı toplantılarına Austin’de de devam etti. 1999’da fahri profesör unvanıyla emekli olana kadar Austin’de çalıştı.
- 1959’da kendi adıyla da anılan ‘shortest path algorithm’i (en kısa yol algoritmasını) tasarladı.
- Hollanda’nın ilk bilgisayarının, Avrupa’nın ise kesme (interrupt) özelliğine sahip ilk bilgisayarının programlanmasında görev aldı.
- Ağustos 1960’ta Zonneveld’le ALGOL–60 için ilk derleyiciyi yayınladılar. Dijkstra ALGOL–60 raporunun yayınlanmasını “Bilgisayar Bilimi”nin disiplin olarak doğuşu olduğuna inanmıştır.
- Dijkstra bilgisayar bilimine ‘yığın’ (stack), ‘vektör’ (vektör) ve ‘işaret flaması’ (semaphores) terimlerini kazandırdı.
- Ligtmans, Voorhoeve, Habermann ve Hendriks’le birlikte “The Multiprogramming System” isimli işletim sistemini geliştirdi.
İyi bir yazar olan Dijkstra, 1300’ün üzerinde bilimsel yazı bıraktı. Düzenli olarak yüzlerce arkadaşı ve iş arkadaşıyla e-posta yerine mektupla haberleşti. Bilimsel yazıları ve mektupları içinse ilk dönemlerde daktilo, daha sonraları dolma kalem kullandı. Dijkstra’nın el yazısı mükemmeldi. Öyle ki, 1980’lerde DEC Sistem Araştırma Merkezi, Macintosh için ‘Dijkstra’ yazı tipi geliştirdi.
İş arkadaşlarına karşı soğuk ve sert, nadiren de kaba davranmasıyla tanınırdı. Ama kendi ofisindeki kişisel toplantılarda cana yakın olur, öğrencilerine kahve servis eder ve orijinal şakalarını yapardı. Kendine özgü mizah anlayışı vardı. Bir gün kaç doktora öğrencisinin olduğu sorulduğunda “İki. Einstein’nın hiç yok.” cevabını verir. Araştırma için konu arayan birine de “Sadece senin yapabileceklerini yap.” demiştir.
Bilgisayar Bilimi Bölüm Başkanı J. Strother Moore, Dijkstra’nın cenazesinde “O, karanlıkta ışığı olan bir adam gibiydi. Ele aldığı konuların hemen hemen hepsini aydınlatmıştır.” sözlerini sarf etti. Bilgisayar Biliminin dahisi olan Edsger Wybe Dijkstra 72 yıllık hayatına birçok başarıyı sığdırmıştır.
- Hollanda Bilim ve Sanat Akademisi üyeliği (1971)
- İngiliz Bilgisayar Cemiyeti üyeliği (1971)
- ACM Turing Ödülü (1972)
- AFIPS Harry Goode Anma Ödülü (1974)
- Amerikan Bilim ve Sanat Akademisi yabancı onur üyeliği (1975)
- Queen’s University Belfast fahri doktora unvanı (1976)
- IEEE Bilgisayar Bilimi Cemiyeti ödülü (1982)
- ACM SIGCSE ödülü (1989)
- Atina Üniversitesi fahri doktora unvanı (2001)
- C&C ödülü (2002)
- ACM PODC Makale Ödülü (2002)
Dijkstra’nın Yayımlanan Kitapları
- ‘A Discipline of Programming ‘ (1976)
- ‘A Method of Programming’ (1988)
- Carel Scholten’le bilikte ‘Predicate Calculus and Program Semantics’ (1990)
Dijkstra’nın keskin dili ve kelimeleri kullanmaktaki ustalığı birçok kişinin dikkatini çekmiştir. Dikkat çeken bazı sözleri:
- “Eskiden fizikçiler birbirlerinin deneylerini -emin olmak için- tekrar ederlerdi, bugün FORTRAN* kullanıyor, birbirlerine buglarıyla* beraber yazdıkları programları veriyorlar.”
- “Bilgisayarların düşünebildiğini sorgulamak, denizaltıların yüzebildiğini sorgulamakla aynı şeydir.”
- “Bilişimin bilgisayarlarla bağlantısı, astronominin teleskoplarla bağlantısından fazla değildir.”
- “Bir programı test etmek ancak bugların varlığını gösterebilir, yokluğunu değil.”
- “Sadece senin yapabileceklerini yap.”
- “Bir formül bin tablodan değerlidir.”
- “APL (programlama dili)*, bizim düşünce alışkanlıklarımıza derin etkisi olan bir araçtır.”
- “Ancak programları çalıştırılabilir kod parçası olarak düşünmemeyi öğrenebildiğimiz zaman, ilerleme mümkündür.”
*APL: 1960’larda Kenneth E. Iverson tarafından geliştirilmiş bir programlama dilidir. Adını A Programming Language adlı kitaptan almıştır. Çok boyutlu dizilerin ana ekseni oluşturduğu dilde çoğu işlev ve işleç belirli simgelerle tanımlanmaktadır. Hesap çizelgeleri ve işlevsel programlamayı etkilemiştir.
*Bug: Genel olarak bilgisayar programlarındaki ve sistemlerindeki hataları, beklenmeyen sonuçları veya sistemin alışılmadık biçimlerde çalışmasına neden olan oluşumları tanımlamak için kullanılır. Bugların büyük bir kısmı program geliştiricilerin dizayn veya kaynak koddaki hatalarından geri kalan kısmı da derleyicilerin hatalı kod üretmesinden kaynaklanır.
*Fortran: Özellikle sayısal hesaplama ve bilimsel hesaplama için uygun olan genel amaçlı, yordamsal, zorunlu programlama dilidir.
Matematik, fizik ve bilişim alanında birçok teori ve yönlendirmede imzası olan, özgün kişiliği ve öğretme kabiliyetindeki üstünlükle bir çok kişiye rol-model olan Dijkstra, sayısız ödül ve ünvanla anılmaya devam ediyor.
Kaynaklar: https://e-bergi.com/y/edsger-dijkstra/
https://en.wikipedia.org/wiki/Edsger_W._Dijkstra