- Google'da 19 yıl çalıştıktan sonra ayrılıyor
- Go programlama dili geliştirilmesine uzun süre çekirdek düzeyde katkı sağladı
- Go yaygın biçimde kullanılarak başlıca programlama dilleri arasına yerleşti
- Projede derleyici, build sistemi, generics'in eklenmesi gibi çeşitli rollerde görev aldı
- Ortamın ve projenin değişmesi nedeniyle yeni bir yol arama kararı aldı
Google'dan ayrılış sürecine giriş
- Google'da 19 yıl çalıştıktan sonra ayrılmaya karar verdi
- Bu sürenin büyük bölümünde şans eseri Go programlama dilinin geliştirilmesine katıldı
- Go, 2007 sonbaharında Rob Pike, Ken Thompson ve Robert Griesemer tarafından başlatıldı
- Ekibe 2008 Haziran'ında katıldı ve yaklaşık aynı dönemde Russ Cox da yer aldı
- Olağanüstü insanlarla ve ilgi çekici projelerde birlikte çalışabilmiş olmayı büyük bir şans olarak görüyor
Go dilinin büyümesi ve beklentilerin ötesindeki başarı
- Go son yıllarda çok geniş bir kullanım alanına kavuştu
- Bugün, tüm programcıların ihtiyaçlarına göre seçebileceği bir 'genel amaçlı programlama dili' haline geldi
- İlk başta Go'nun yalnızca diğer dillere ve ortamlara örnek alınabilecek fikirler sunmasının bile başarı olacağını düşünüyordu
- Evrensel bir dil olarak büyümesi, ilk ekibin hiç beklemediği bir sonuç oldu
Go projesindeki başlıca roller ve katkılar
- Go projesine, GCC derleyicisine bir Go frontend'i ekleyerek başladı
- O sırada Go'nun, Inferno C derleyicisi tabanlı kendi derleyicisi vardı
- Birbirinden farklı iki derleyici, dil tanımının netleşmesini sağladı
- İç build sistemine ve SWIG aracına Go desteği ekledi, ayrıca ekip yönetimi rolü de üstlendi
- Robert Griesemer ile birlikte dil değişikliği önerilerini geliştirerek Go 1.18'de (2022) generics eklenmesine katkı sağladı
Problem çözme yaklaşımı ve sınırlar
- Bugünün ve yakın geleceğin net problemlerini hızla yakalayıp çözmeye katkıda bulundu
- Ancak insanların henüz denemediği ve bu yüzden doğrudan deneyimlemediği sorunlara, örneğin Go module proxy'si ve Go güvenlik açığı veritabanı gibi yenilikçi fikirlere, yaklaşımı daha yavaştı
- Kendi çalışma tarzının genel olarak projenin başarısına faydalı olduğunu düşünüyor
Değişim ve ayrılık kararı
- Google, Go ve genel olarak bilgisayar programlama ortamının tamamı büyük ölçüde değişti
- Son bir yılda artık Google içindeki Go projesi için uygun kişi olmadığını hissetti
- Yeni bir aşamaya geçmesi gerektiğini fark etti
Gelecek planları ve Go hakkındaki düşünceleri
- Go'ya karşı ilgisi ve sevgisi hâlâ sürüyor
- Hiçbir programlama dili tamamlanmış halde kalmaz; değişen ortama uyum sağlamak için evrilmesi gerekir
- Go gibi zengin standart kütüphaneye sahip diller bu değişime özellikle duyarlıdır
- Şimdilik biraz dinlenecek, ancak gelecekte Go'ya yeniden katkı sunmayı umuyor
1 yorum
Hacker News görüşü
golangiçin verdiği tüm emekler için teşekkürlerReadability) sürecini çok sevmiştim. Bu süreç beni çok daha iyi bir programcı yaptı. Daha önce Google'da Python kod okunabilirliği onayı da almıştım ve “bu büyük değişikliği (CL) üstlen, süreç sonunda iyileşirse geçersin” tarzı yaklaşım Go'daki kadar faydalı olmamıştı. Go'ya özgü kuralların oluşturulup uygulanması bana çok yardımcı oldu (gerçi gece yarısı çağrılıp bu kodu bir an önce check-in edip uyumak istediğimi düşündüğüm zamanlar da oldu)c++kod okunabilirliği değişikliğimde muhatap Titus Winters'tı. Onun yorumlarından birine karşı görüş bile belirtmiştim. Gerçekten, çok yetenekli birinin yaptığım işi ciddiye alması çok hoş bir histigccgo'yu değil,gold linker'ı da yazdı; derleyici araç zincirleri hakkında çok sayıda blog yazısı kaleme aldı vegcckod tabanının devasa bir kısmını yönetti. Ve muhtemelen benim bilmediğim daha pek çok katkısı da vardır. Ian'la birkaç kez e-posta alışverişi yapma şansım oldu ve bu her seferinde bana büyük ilham verdi. Google'da yoğun olmasına rağmen e-postalarıma ve yamalarıma her zaman içgörülü geri bildirimler verdi. Go dili hakkında duygularım karmaşık olsa da, Ian ayrılırsa bunun dil üzerinde de olumsuz etkisi olacağına eminim. İlk Go ekibinde Bell Labs havası vardı — bilgisayarı en ince ayrıntısına kadar anlayan birkaç kişi assembler, linker, iki derleyici, dil tanımı, belge üreticisi, build sistemi ve devasa bir standart kütüphane yaptı. Şimdiyse Google'ın ağırlığı arttıkça daha sönük ve kurumsal bir hava baskın hale geldi. Ian'ın ayrılık mesajında bu kültürel değişimi hissettim ve buna neyin yol açtığını merak ediyorum. Umarım bolca dinlenir; sonrasında hangi projeye yönelirse onu takip edeceğimgcc-go'yu belli amaçlar için kullanıyor mu?oharfinin bir yazım hatasından çok, eski Google arama sonuç sayfalarındaki çokluo'lu sayfalama düzenine kasıtlı bir gönderme olabileceğini düşündümFatFIREhedefine ulaşıp ayrılmıştırgolangkullanıyordu. İlk projem sırasında Ian'dan birkaç kez kod okunabilirliği onayı aldım. Bir gün onayla birlikte birkaç ek düzeltme de istemişti ama ben bunu fark etmeden değişiklikleri gönderdim. Ian tekrar mesaj atıp düzeltmeleri yapmam gerektiğini söyledi. Ancak daha sonra onun çekirdek Golang geliştiricilerinden biri olduğunu öğrendim. Bunu yapmak zorunda değildi ama yine de nazik davranmıştı; bu yüzden çok aklımda kaldı. Gerçek kullanım şeklini bizzat görmeye ve temel sorunları bulmaya bu kadar zaman ayırması gerçekten takdire şayanSearch) gibi vazgeçilmez bir araç sağlayan bir şirketi tahmin etmeye çalışıyorsunuzresource) gibi görüp, ekip üyelerinin ne istediğini umursamadan yeteneklerine uygun olmayan yerlere yerleştiriyor. Sadece o da değil. Başka bir yönetici de çekirdek Python ekibinin tamamını işten çıkarıp yerine daha düşük ücretli bir TypeScript ekibi getirdi; sonra onu da daha ucuz bölgelerdeki yeni çalışanlarla yeniden doldurdu