Ken Thompson

Kenneth Lane Thompson (doğum 4 Şubat 1943) Amerikalı bir bilgisayar bilimcisi. Thompson, kariyerinin büyük bir bölümünde orijinal Unix işletim sistemini tasarlayıp uyguladığı Bell Labs'ta çalıştı. Ayrıca C programlama dilinin doğrudan selefi olan B programlama dilini de icat etti. Bununla beraber Plan 9 işletim sisteminin yaratıcılarından ve ilk geliştiricilerinden biriydi. Thompson, 2006'dan beri Go programlama dilini birlikte icat ettiği Google'da çalışmaktadır.
Diğer dikkate değer katkıları arasında düzenli ifadeler üzerine yaptığı çalışmalar ve ilk bilgisayar metin editörleri olan QED ve ed, UTF-8 karakter kodlamasının tanımı, satrançta oyun sonu tabloları ve satranç makinesi Belle'nin de içerisinde bulunduğu satranç üzerine çalışmaları vardır.
Hayatın erken dönemi ve eğitim
Thompson, New Orleans'ta doğdu. Thompson, programlamayı nasıl öğrendiği sorulduğunda, "Mantıktan her zaman etkilenmiştim ve ilkokulda bile ikili aritmetik problemler üzerinde çalışıyordum, bunun gibi şeyler. Sadece büyülendiğim için." demiştir.
Thompson, UC Berkeley'den 1965'te Lisans ve 1966'da Yüksek Lisans derecesi aldı ve burada yüksek lisans tezi danışmanı Elwyn Berlekamp oldu.
Kariyeri ve araştırmaları
Thompson, 1966'da Bell Labs tarafından işe alındı. 1960'larda Bell Labs'ta Thompson ve Dennis Ritchie, Multics işletim sistemi üzerinde çalıştılar. Thompson, Multics'i yazarken aynı zamanda Bon programlama dilini geliştirdi ve Ayrıca Space Travel (Uzay Yolculuğu) adlı bir video oyunu da yaptı. Daha sonra Bell Labs, MULTICS projesinden çekildi. Thompson, oyunu oynamaya devam etmek için eski bir PDP-7 makinesi buldu ve bunun üzerine Space Travel'i yeniden yazdı. Sonunda, Thompson tarafından geliştirilen araçlar Unix işletim sistemi haline geldi: Thompson ve Ritchie liderliğindeki aralarında Rudd Canaday'ın da bulunduğu bir ekip hiyerarşik dosya sistemi, komut satırı yorumlayıcısı ve yardımcı küçük programlar geliştirdi. 1970 yılında Brian Kernighan, "MULTICS" kelimesi üzerinde bir kelime oyunu yaparak "Unix" adını önerdi. Unix üzerindeki ilk çalışmasının ardından Thompson, Unix'in bir sistem programlama diline ihtiyaç duyduğuna karar verdi ve Ritchie'nin C'sinin öncüsü olan B'yi geliştirdi.
1960'larda, Thompson ayrıca düzenli ifadeler üzerinde çalışmaya başladı. Thompson, QED editörünün içinde düzenli ifadeler ile metin arama özelliği de olan CTSS versiyonunu geliştirdi. QED ve Thompson'un ed'den (Unix'teki standart metin editörü) sonraki editörü, düzenli ifadelerin popülaritesine büyük katkıda bulundu ve düzenli ifadeler Unix metin işleme programlarında yaygınlaştı. Bugün düzenli ifadelerle çalışan hemen hemen tüm programlar, Thompson'un gösterimlerinin bazı varyantlarını kullanır. Ayrıca, ifade eşleşmesini daha hızlı hale getirmek için kullanılan Thompson'ın yapım algoritmasını da icat etti.
1970'ler
1970'ler boyunca, Thompson ve Ritchie, Unix işletim sistemi üzerinde birlikte çalıştı. 2011 yılında yapılan bir röportajda Thompson, Unix'in ilk sürümlerinin kendisi tarafından yazıldığını ve sonra Ritchie'nin sistemi desteklemeye başladığını ve geliştirilmesine yardımcı olduğunu belirtti.
Thompson'un Unix geliştirmesinden gelen geri bildirimler, C programlama dilinin geliştirilmesinde de etkili oldu. Thompson daha sonra C dilinin "sistemin gözden geçirme ve düzeltme işlemleriyle biriyle gelişti bu nedenle sistem programlama için mükemmel hale geldi" diyecektir.
1975'te Thompson, Bell Labs'tan maaşlı bir izin aldı ve mezun olduğu UC Berkeley'e gitti. Orada, Sürüm 6 Unix'in bir PDP-11/70 bilgisayara kurulmasına yardım etti. Berkeley'deki Unix daha sonra Berkeley Yazılım Dağıtımı (BSD) olarak bilinen Berkeley'in kendi sistemi olarak devam etti.
Ken Thompson, Unix'in (1971) ilk sürümü için "chess" adlı bir satranç oynama programı yazdı. Daha sonra Thompson, Joseph Condon ile birlikte donanım destekli dünya şampiyonu satranç bilgisayarı Belle'yi geliştirdi. Ayrıca satranç oyun sonlarının eksiksiz bir listesini oluşturmak için oyun sonu tabloları olarak da bilinen programlar yazdı ve bilgisayarın tüm 4, 5 ve 6 taşlı oyun sonları için, satranç oynayan bilgisayar programlarının içinde kayıtlı bir konuma ulaşıldığında "mükemmel" hareketler yapmasına izin verir. Daha sonra, satranç oyun sonu uzmanı John Roycroft'un yardımıyla Thompson ilk sonuçlarını CD-ROM'da dağıttı. 2001 yılında, ICGA Journal dergisi neredeyse bir sayının tamamını Ken Thompson'ın bilgisayar satrancına yaptığı çeşitli katkılara ayırdı.
1980'ler
1980'ler boyunca, Thompson ve Ritchie, Unix Araştırmaları üzerinde çalışmaya devam etti. 1980'lerin ortalarında, Bell Labs'da Unix'in yerini alacak yeni bir işletim sistemi üzerinde çalışma başladı. Thompson, Unix'in ilkelerini kullanan yeni bir işletim sistemi olan Bell Labs'ın Plan 9'un tasarımında ve uygulanmasında etkili oldu, ancak bunları daha geniş bir şekilde tüm büyük sistem tesislerine uyguladı. Araştırma Unix'in sonraki sürümlerinin parçası olan mk ve rc gibi bazı programlar da Plan 9'a dahil edildi.
Thompson, Bjarne Stroustrup için C++ programlama dilinin ilk sürümlerini içinde programlar yazarak test etti, ancak daha sonra sürümler arasındaki sık uyumsuzluklar nedeniyle C++ ile çalışmayı reddetti. Thompson, 2009 yılında yapılan bir röportajda, C++ ile ilgili olumsuz bir görüş ifade ederek, "Pek çok şeyi yarı iyi yapar ve sadece birbirini dışlayan bir fikirler yığınıdır." demiştir.
1990'lar
1992'de Thompson, Rob Pike ile birlikte UTF-8 kodlama şemasını geliştirdi. UTF-8 kodlaması, o zamandan beri World Wide Web için baskın karakter kodlaması haline geldi ve 2019'da tüm web sayfalarının %90'ından fazlasını oluşturdu. 1990'larda, taşınabilir bir sanal makineye dayanan başka bir araştırma işletim sistemi olan Inferno işletim sistemi üzerinde çalışmalar başladı. Thompson ve Ritchie, Bell Labs'taki diğer araştırmacılarla birlikte Inferno ile işbirliğine devam etti.
2000'ler
2000 yılının sonlarında, Thompson, Bell Labs'tan emekli oldu. 2006 yılına kadar Entrisphere Inc.'de üye olarak çalıştı ve şu anda Google'da Seçkin Mühendis olarak çalışıyor. Son çalışmalar, Go programlama dilinin ortak tasarımını içeriyor. Go'nun diğer orijinal yazarlarıyla birlikte kendisine atıfta bulunarak şöyle der:
2009'daki başka bir röportajına göre, Thompson artık Linux tabanlı bir işletim sistemi kullanıyor.
Ödüller
Ulusal Akademiler
1980'de Thompson, verimliliği, genişliği, gücü ve stili bir neslin mini bilgisayarlardan yararlanmasına rehberlik eden bir işletim sistemi olan UNIX'i tasarladığı için Ulusal Mühendislik Akademisi'ne seçildi.
1985'te Ulusal Bilimler Akademisi (NAS) üyeliğine seçildi.
Turing Ödülü
1983'te Thompson ve Ritchie, "genel işletim sistemleri teorisini geliştirmeleri ve özellikle UNIX işletim sisteminin uygulanması" için Turing Ödülü'nü birlikte aldı. Kabul konuşması "Reflections on Trusting Trust"(Güvene Güvenmek Üzerine Düşünceler)'idi.
IEEE Richard W. Hamming Madalyası
1990'da hem Thompson hem de Dennis Ritchie, Elektrik ve Elektronik Mühendisleri Enstitüsü'nden (IEEE) "UNIX işletim sistemi ve C programlama dilinin oluşturulması" dolayısıyla IEEE Richard W. Hamming Madalyası'nı aldı.
Bilgisayar Tarihi Müzesi Üyesi
1997'de hem Thompson hem de Ritchie, "UNIX işletim sisteminin birlikte oluşturulması ve C programlama dilinin geliştirilmesi" için Bilgisayar Tarihi Müzesi Üyesi olarak kabul edildi.
Ulusal Teknoloji Madalyası
27 Nisan 1999'da Thompson ve Ritchie, birlikte bilgisayar donanımı, yazılımı ve ağ iletişiminde muazzam ilerlemelere yol açan UNIX işletim sistemi ve C programlama dilini birlikte icat ettikleri için Başkan Bill Clinton'dan 1998 Ulusal Teknoloji Madalyası'nı birlikte aldı. sistemleri ve tüm bir endüstrinin büyümesini teşvik etti, böylece Bilgi Çağında Amerikan liderliğini güçlendirdi.
Tsutomu Kanai Ödülü
1999 yılında, Elektrik ve Elektronik Mühendisleri Enstitüsü, Thompson'ı "onlarca yıldır dağıtılmış sistemler çalışması için kilit bir platform olan UNIX işletim sistemini yaratmadaki rolü" nedeniyle ilk Tsutomu Kanai Ödülünü almaya seçti.
Japonya Ödülü
2011 yılında, Thompson, Dennis Ritchie ile birlikte, Unix işletim sisteminin geliştirilmesindeki öncü çalışmalardan dolayı Japonya Bilgi ve İletişim Ödülü'ne layık görüldü.
Kişisel hayat
Ken Thompson evli ve bir oğlu var.