Bjarne Stroustrup: Zarafeti hızla birleştirmek
Bjarne Stroustrup, kağıt üzerinde bir çelişki gibi görünen bir şey istiyordu: "Simula programları kadar zarif, ancak C programları kadar verimli" programlar yazabileceği bir dil. Simula yavaş ve akademikti; C ise hızlı ve acımasızdı. Stroustrup sonraki kırk yılını bu çelişkinin sadece görünürde olduğunu kanıtlamaya adadı ve bu süreçte dünyanın işletim sistemlerini, tarayıcılarını, oyun motorlarını ve ticaret platformlarını hala çalıştıran dili inşa etti.
Aarhus'ta işçi sınıfı bir başlangıç
Stroustrup, 30 Aralık 1950'de Danimarka'nın Aarhus kentinde işçi sınıfı bir ailede doğdu ve 1969'dan 1975'e kadar Aarhus Üniversitesi'nde bilgisayar bilimi odaklı matematik okudu. Daha sonra bilgisayar bilimi alanında doktora yapmak için Cambridge Üniversitesi'ne gitti ve 1979'da David Wheeler yönetiminde dağıtık hesaplama üzerine odaklanarak tamamladı. Cambridge'de ve Simula'nın iki mucidinden biri ve nesne yönelimli programlamanın kendisinin mucidi olan Kristen Nygaard'ın etkisiyle, Stroustrup hayatının çalışmasını tanımlayacak sınıflar, kalıtım ve soyutlama hakkındaki fikirleri özümsedi. Simula'nın ifade gücüne maruz kalmasının, çalıştırılmasının pratik olmayacak kadar yavaş olmasıyla birleşen hayal kırıklığının, C++'ın çözmek için inşa edildiği özel sorunu diktiğini söyledi.
Bell Labs ve "C with Classes"ın doğuşu
1979'da Stroustrup, Murray Hill, New Jersey'deki AT&T Bell Labs'in Bilgisayar Bilimleri Araştırma Merkezi'ne katıldı — Unix'i ve C dilinin kendisini üreten aynı araştırma kültürü. Orada C'yi Simula tarzı sınıflarla genişletmeye başladı ve başlangıçta sonuca "C with Classes" adını verdi. C++ olarak yeniden adlandırılacak olan dilin dahili referans kılavuzu 1984'te ortaya çıktı ve dil 1985'te ticari sürüme ulaştı; aynı yıl Stroustrup, dört baskıya ulaşacak ve yirmi bir dile çevrilecek olan "The C++ Programming Language" kitabının ilk baskısını yayınladı. C++'ı sıfırdan bir dil yerine C'nin bir uzantısı olarak kasıtlı olarak inşa etti; bu karar ona biraz teorik saflığa mal oldu ancak devasa bir mevcut kod tabanı ve araç zinciriyle anında uyumluluk sağladı — dilin ne kadar hızlı yayıldığını belirlemek için başka her şeyden daha fazlasını yapan pragmatik bir takas. AT&T Bell Labs'in Büyük Ölçekli Programlama Araştırma departmanını kuruluşundan 2002 sonuna kadar yönetmeye devam etti ve 1993'te Bell Labs Fellow, 1996'da AT&T Fellow seçildi.
C++ aslında ne ekledi
C++ C'ye, kullanıcı tanımlı türleri yerleşik türlerle aynı ciddiyetle ele alan statik bir tür sistemi, Simula'nın sınıflarına ve kalıtımına dayalı nesne yönelimli programlama ve — daha sonra ve tartışmasız daha etkili bir hamlede — şablonlar aracılığıyla genel programlama ekledi, böylece kodun bir kez yazılıp hızdan ödün vermeden birçok tür için özelleştirilmesine izin verdi. Kaynak yönetimi deyimi olan RAII (Kaynak Edinimi Başlatmadır), bir kaynağın ömrünü oluşturucular ve yıkıcılar aracılığıyla bir nesnenin ömrüne bağladı; bu, C programcılarını yıllardır rahatsız eden bir bellek ve kaynak sızıntısı hatası sınıfını çözen ve daha sonra çöp toplama özellikli dillerin kendi kaynak işleme tasarımlarını etkileyen bir kalıptı. Kritik olarak, bunların hiçbiri C'nin donanım ve işletim sistemi kaynaklarına doğrudan erişiminin maliyetiyle gelmedi — Stroustrup'un orijinal hırsının verimlilik yarısı, zarafet yarısı için asla tehlikeye atılmadı.
Bir dili standardizasyon yoluyla yönetmek
Stroustrup sadece C++'ı icat edip gitmedi. 1989'daki ANSI standardizasyon çabasının ve 1991'deki sonraki ISO komitesinin kurucu üyesiydi ve komitenin Evrim Çalışma Grubu'na — dile önerilen her eklemeyi inceleyen organ — yirmi dört yıl boyunca başkanlık etti. Bu, herhangi bir programlama dilinin yaratıcısı için alışılmadık derecede uzun bir yönetim süresidir ve Stroustrup'un, eşzamanlılık desteğinden derleme zamanı metaprogramlamasına kadar onlarca yıllık yeni talepleri, üretimde zaten çalışan devasa mevcut C++ kodu gövdesini bozmadan nasıl emdiğini kişisel olarak şekillendirdiği anlamına geliyordu.
Bell Labs sonrası akademik ve endüstriyel kariyer
Bell Labs'ten sonra Stroustrup, 2002'de Texas A&M Üniversitesi'ne Mühendislik Fakültesi Kürsü Profesörü olarak geçti ve 2011'de Üniversite Seçkin Profesörü oldu. 2014'te Morgan Stanley'e teknik üye ve genel müdür olarak katılırken aynı zamanda Columbia Üniversitesi'nde misafir profesörlük yaptı ve 2022'den beri Columbia'da bilgisayar bilimleri profesörüdür — bir sistem dili mucidini bir Wall Street ticaret firmasının teknolojisinin merkezine yerleştiren alışılmadık bir geç kariyer yayı.
Ödüller ve tanınma
Stroustrup'un onurları, tek bir ünlü atılımdan ziyade devasa etkisini takip eder: 1993'te ACM Grace Murray Hopper Ödülü, 1994'te ACM Fellow ve IEEE Fellow seçilmesi, 2005'te Bilimsel Başarı için William Procter Ödülü (bunu alan ilk bilgisayar bilimcisi), 2017'de IET Faraday Madalyası ve 2018'de "C++ programlama dilini kavramsallaştırdığı ve geliştirdiği için" Charles Stark Draper Ödülü. Bilgisayar Tarihi Müzesi onu 2015'te Fellow olarak tanıdı ve "nesne yönelimli programlamayı ve genel programlamayı ana akıma getirdiği" için ona kredi verdi. ACM Turing Ödülü'nü almadı.
Bjarne neden dahi olarak adlandırılır
Stroustrup'u dahi olarak adlandırma davası, tek bir teorik özgünlük vuruşuna dayanmaz — nesne yönelimi Nygaard ve Dahl'dan geldi, genel programlamanın öncülleri vardı ve C zaten mevcuttu. Bunun yerine, daha nadir bir mühendislik yargısı türüne dayanır: alanın gerilim içinde olduğunu varsaydığı fikirleri, hiçbirini bozmadan birleştirme ve hesaplama dilin altında değiştikçe çeyrek asırlık standardizasyon kararları boyunca bu takası doğru bir şekilde yapmaya devam etme yeteneği. Draper Ödülü alıntısı, onu C++'ı "kavramsallaştırdığı ve geliştirdiği" için kredilendirir; bu, saf icattan ziyade sentezi kabul eden bir dildir. Dürüst karşı dava önemlidir: C++, birikmiş karmaşıklığı, programcıları Rust gibi daha yeni dillerin açıkça ortadan kaldırmak için tasarlandığı bellek güvenliği tuzaklarına maruz bırakması ve Stroustrup'un C ile geriye dönük uyumlu kalma konusundaki kurucu kararına doğrudan dayanan tasarım ödünleşimleri nedeniyle alan içinde de dahil olmak üzere geniş çapta eleştirilmektedir. Dahiliği, eğer kelime uygulanırsa, saf soyut içgörü parlamasından ziyade, son derece yararlı ve kusurlu bir şey inşa etmek ve sonra onu kırk yıl boyunca bir arada tutmak gibi usta işçilik ve yönetime daha yakındır.
Miras
C++, işletim sistemleri, tarayıcılar, oyun motorları ve finansal ticaret sistemleri için temel olmaya devam ediyor ve etkisi Java, C# ve Rust aracılığıyla gözle görülür şekilde akıyor. Stroustrup'un kendi hayatının çalışmasına dair değerlendirmesi her zaman karakteristik olarak duygusuz olmuştur: kullanılmak üzere tasarlanmış bir araç inşa etti ve bu ölçüye göre — saf, on yıllarca süren yaygınlık — C++, tarihteki hemen hemen tüm diğer programlama dillerinden daha başarılı oldu.

