Doğru cevap " çünkü farklı dillerin farklı güçlü yönleri var " zaten belirtildi. Ama neden hakkında daha fazla ayrıntı vereyim:
C ++
C ++, en hızlı olmanın ana avantajına sahiptir. Gerekli değil Java ve Python yavaş olduğu için, ancak C ++ Eğer var çünkü daha fazla kontrol hakkında nasıl işler idam.
Örneğin, 30 ms'den az gecikme gerektiren bir web servisleri ön yüzü yazarsanız, bu performansı elde etmek için C ++ kodunu ayarlayabilirsiniz. Java gibi yönetilen bir dilde, GC'nin mükemmel bir şekilde işbirliği yapması biraz zor.
C ++, BigTable, MapReduce ve goo gibi pek çok Google büyüsü için kullanılır.
Java
Çoğu standart uygulama için, Java mükemmel bir dildir. Harika araçlar, birçok mevcut kitaplık ve hata ayıklama için çok fazla zaman harcamaz.
Java, C veya C ++ gibi daha düşük bir dilde bakımı çok daha zor olacak birçok büyük web sitesi için kullanılır. Örneğin, benim anladığım kadarıyla GMail Java ile yazılmış.
Ayrıca, Java kodunu JavaScript'te derlemek için Google'ın Web Araç Seti'ni kullanabileceğinizi unutmayın. Böylece gördüğünüz harika web sayfası veya widget bir Java sınıfı olarak hayata başlamış olabilir.
piton
Python fantastik bir genel amaç dilidir, ancak Java kadar ince taneli kontrol sunmaz. (Örneğin, her şey için çılgınca JVM argümanları var - python benzer bir yapılandırma sunuyor mu?)
Ancak, Python ile basit web siteleri ve aksi takdirde korkunç kabuk betikleri olacak uygulamalar için mükemmel bir şekilde uygundur. Örneğin, bazı kaynaklardan veri toplamak için basit bir test çantası yazmak, bunları işlemek ve App Engine Python'a yüklemek istemeniz iyi bir seçim olacaktır. (Bu işlemi 1000 makineye dağıtmanız gerekirse, belki de farklı bir dil kullanabilirsiniz ...)
JavaScript
Açıkçası Google çok fazla JavaScript kullanıyor. Ancak, Google’da yazılmış olan JavaScript türü, vahşi doğada gördüğünüzden farklıdır. Google, daha iyi optimizasyon ve statik kontrol karşılığında yorumlarda açıklama ekleyebilmenizi sağlayan optimize edici bir JavaScript derleyici geliştirmiştir. Google Kapatma bölümüne bakın .
Dil Önemli değil (birlikte çalışma)
Google’ın yalnızca bir dili kullanmamasının bir başka nedeni de gerek duymamasıdır. Hemen hemen her modern programlama dilinde dış kütüphanelere, farklı bir dilde yazılmış kütüphanelere çağrı yapma imkânları var. ( Swig'e bakınız .)
Ayrıca, App Engine JVM'yi çalıştırdığından, Java bayt koduna uyan herhangi bir dili çalıştırabilirsiniz. (Google’da öncelikle burada belirtilen dillere bağlıyız, ancak bu zor bir gereklilik değil.) Eğer her şeyin çalışması gereken doğru JAR dosyalarını eklerseniz, App Engine'de Closure, Groovy veya Scala kullanmak istiyorsanız.
Açık kaynak
Ayrıca, Google mümkün olan yerlerde bir sürü Açık Kaynak kullanıyor ve katkıda bulunuyor. Bu projeler genellikle yukarıdaki dillerden birinde yazılmıştır ve Google'da 'kullanılmasını' gerektirir.
Alt satırda iki şey var:
- Her programlama dilinin kendine göre güçlü yönleri vardır. Durumsal olarak faydalanmamak, bu güçlü yönlerden yararlanmak bir utanç olacaktır.
- Birlikte çalışma araç takımları ve uyumlu çalışma zamanları mevcut olması, aynı çalışma ortamı ortamında birden fazla dil kullanmanın daha az acı verici olduğu anlamına gelir.