Yukihiro Matsumoto ‘nun (Matz’ın) ismini ilk kez duymuşsanız, bu yazının ardından Ruby’nin babasına dönüşeceği yolculuğa davetlisiniz. Ruby hakkında detaylı bilgi almak isteyenler ‘Ruby Nedir?‘ başlıklı yazımıza göz atabilirler.
Şimdi, birlikte Japonya’ya yolculuğa çıkıyoruz.
İçindekiler
Yukihiro Matsumoto Kimdir?
14 Nisan 1965 tarihinde dünyaya gelen Matz, programlamaya daha lise çağlarında ilgi göstermeye başlamıştır. Ardından Tsukuba Üniversitesi’nde Information Science (Bilgi Bilimi) okumaya başlayan Matz, özellikle programlama dillerine ağırlık vermiştir. Tsukuba Tokyo’nun kuzey doğusunda yer alan bir kasaba olup bilimsel araştırma ve teknoloji ile adından söz ettirmektedir. Böyle bir yerde üniversiteyi okumuş olmasının, ileride yapacağı işleri tetiklediğini varsayabiliriz.
Yukihiro Matsumoto’nun Gözünden:
Yukihiro Matsumoto ile gerçekleşen bir podcast’de gençlik yılları hakkında sorulan sorulara verdiği cevaplardan kişiliği hakkında çıkarımlar yapabiliriz. Kendisi programlama ile tanışmasından itibaren, bu alana gönül vermişti. Başka bir mesleği düşünmüyordu bile. O zamanlar sahip olduğu bilgisayar iyi olmamakla beraber, kendisinin programlamayı kitaplardan öğrendiğini biliyor muydunuz? Şaşırtıcı, fakat bir dilin doğuş hikayesi böyle başlamış.
Hatta kendisi 17 yaşında ilk programlama dilini kaleme alıyor! Çoğu konuda deneyimi olmadan, güçlü bir bilgisayar sahibi bile değilken hevesiyle deftere yazıyor. Ne yazık ki o defterini kaybetmiş.
Ruby’nin Kuluçka Dönemi:
Matsumoto, 1990 yılında mezun olduktan birkaç yıl sonra Ruby üzerine çalışmaya başlamıştır. O zamanlar betik Perl dilini kullanmakta olan Matz, bu dilin isteklerini karşılamak konusunda yetersizliğini dile getirmiştir. Herhangi bir betik dili onun isteklerini karşılayamıyordu. Bu onun yeni bir dil hazırlığına önayak olmuştu. Betik dilinden kastımız; insan eliyle yapılacak işlerin otomatik bir hale dönüştürülmesi, bilgisayar tarafından yazılmasıdır. Şıklı olan bir sınavın sonuçlarını bir öğretmenin değil de bilgisayarın okuduğunu varsayabilirsiniz.
O zamanlar Python da kullanmakta olan Matz, Python hakkındaki düşüncelerini şu şekilde dile getirmiştir.
Python’ı biliyordum. Fakat sevemedim. Benim için gerçek bir nesne yönelimli programlama dili değildi. Kullanmak istediğim dilin tamamıyla nesne yönelimli olmasını istiyordum. Böyle bir dil aradım fakat bulamadım.”
Alıntıda geçen nesne yönelimli programlama dilinden de bahsedelim kısaca. Bir not sistemi ele alalım. Her öğrencinin bilgileri ve notları tutulacak bu sistemin içinde. Her öğrenci için kod yazılması mı, yoksa tek bir temsili öğrenci sınıfı ile kod yazmak mı daha iyi fikir? Elbette, ikincisi. Böylece dilediğimiz kadar öğrenci, bir başka deyişle “nesne” yaratabiliriz.
Matsumoto’nun bu sözlerinden bir çıkarım yaparsak tamamıyla nesne yönelimli bir programlama dili istiyordu.
Aklına şöyle bir soru gelmiş olabilir; “Perl’den daha güçlü ve Python’dan daha nesne yönelimine ağırlık veren bir dil olsa?”. Aynı çatı altında birleştirdiği birbirinden zıt kavramların güçlü birlikteliği ile dilediği gerçekleşmişti. Ruby bu şekilde hayat bulmuştu.
Matz Ruby’i yaratırken her açıdan güçlü bir dil olmasının yanında, bu dilin kendisini ve diğerlerini mutlu etmesini de istiyordu. Bazılarınıza bencilce gelebilir, zamanında bu şekilde algılandığı olmuştu. Fakat kendisi Ruby’i makineler için değil insanlar için yaptığının altını çizerek savunmasını dile getirmişti.
Ruby’nin amacı onu kullanan kişiyi mutlu etmeli, kullanırken eğlenmesini sağlamalıydı.
Ruby İsmi Nereden Çıktı?
Matsumoto yarattığı programlama dilinin ismine karar verirken mücevher ile ilişkisi olmasını istiyordu. Bu fikri arkadaşlarıyla paylaştığında birkaç öneri gelmişti. “Diamonds, Sapphire” gibi olan önerileri ise fazla uzun bulmuştu. Daha detaylı bir araştırmaya yöneldiğinde isim için, iki seçenek ile baş başa kalmıştı: Ruby ve Coral. Arkadaşlarıyla yeniden konuştuğunda Ruby ismini daha uygun gördüler. Hem kısa hem de mücevher olarak güzel olmasıyla Ruby seçilen isim oldu!
Ruby’nin Babasının İlham Kaynakları Kimlerdi?
Programlamaya, teknolojiye gönül vererek büyüyen Matsumoto ilham kaynağı olan iki ismi bizlerle paylaşıyor: Larry Wall ve Alan Kay.
Larry Wall Perl’ü yaratan isim olarak Matsumoto’nun kalbinde yer edinmiş bulunmakta. Lider vasfı, kişiliği ve de programlamadaki yeteneğiyle Matz’in onu neden bu kadar çok sevdiğini anlayabiliyoruz.
Diğer bir isim, nesne yönelimli programlamayı geliştiren Alan Kay olarak karşımıza çıkıyor. Matz’in nesne yönelimli dillere olan sevgisi ve Ruby’nin tamamının bu şekilde olması için gösterdiği çabayı düşünürsek Alan Kay’e bir teşekkür borçlu!
Yukihiro Matsumoto Ve Ruby Topluluğu
“Ruby, topluluk olmadan Ruby olamazdı.” diyerek onu ve Ruby’i destekleyen herkese minnettarlığını gösteren Matz şu şekilde devam ediyor:
“İnsanlar Ruby benim dilimmiş gibi düşünüyor. Evet benim tarafımdan yaratıldı fakat gelişim sürecini topluluk sayesinde kazandı. Onlara yol göstersem de çoğu fikir ve gelişmenin ilk adımı onlardan geldi. Bu nedenle Ruby bizim dilimiz. Ruby, topluluk olmadan Ruby olamazdı.”
Yukihiro Matsumoto Ve Yeni Yıl Geleneği
Ruby’nin tatil zamanlarına gelen yeni versiyon güncellemelerinin de bir hikayesi var elbette. İlk başta sadece kendisine ait sıradan bir proje olarak gördüğü Ruby’i ancak hafta sonları geliştirebiliyordu. Bir de tatil zamanlarında. Bu nedenle yeni versiyonlar, güncellenme anları tatil anına denk geliyordu. Bu bir gelenek olarak devam etti ve de Matz’in topluluğa yeni yıl hediyesi olarak akıllarda kaldı. Kalmaya da devam ediyor!
Yazıda yer verilen podcast’in tamamına ulaşmak isteyenler adına linki buraya bırakıyorum.
https://changelog.com/podcast/202
Yukihiro Matsumoto’nun hayatı beklediğiniz gibi miydi? Sizin de programlama dili yaratma hevesiniz varsa ilham kaynağı oldu mu? Yorumlarınızı bizimle paylaşmayı unutmayın!
Kaynakça