4 ms·
Regarding Google my understanding is that Java is only used in a few areas, and is far from the majority of their portfolio. Most their production systems are C
by rayval 14y ago
Regarding Google my understanding is that Java is only used in a few areas, and is far from the majority of their portfolio. Most their production systems are C++, while a lot of offline processing is Python. There is even a smattering of .NET (in Orkut). I think Java was used in Wave, but that is now defunct. Likely a few of these systems are being migrated to Go.
Likewise with Amazon. My understanding, from chatting with some Amazon engineers at a conference, is that they have a pretty heterogeneous portfolio, even including some Perl and Oracle PL/SQL.
Others who are better informed, please correct.
- edwinnathaniel 14y agoGMail, Google Calendar, AdSense, AdWords, Android to name a few of the _actual_ heavy hitters from Google. Sure, not the majority, but they are all the bigger ones. http://google-opensource.blogspot.ca/2009/01/opengse-released.html http://google-opensource.blogspot.ca/2009/01/opengse-release... (I think Google Sites is also written in Java). Amazon is pretty much a big Java shop (don't forget the companies they acquired as well). Check out their jobs site.
- lchengify 14y agoJava is pervasive at Google. Check out the Guava library and Google Guice for examples of how they adapted it for high-scalability web services. On top off edwinnathaniel's list, add Google Sites, Google Docs, and Mapreduce frameworks such as Flume Java.
- swah 14y agoTranscript from Coders at Work interview with Joshua Block: Seibel: As a Java guy at Google, do you think it could be used more? Leaving aside the force of history and historical choices, if somehow you could wave a magic wand and replace all of C++ with Java, could that work? Bloch: Up to a point. Large parts of the system could be written that way, and over time, things are moving in that direction. But for the absolute core of the system - the inner loops of the index servers, for instance - very small gains in performance are worth an awful lot. When you have that many machines running the same piece of code, if you can make it even a few percent faster, then you've done something that has real benefits, financially and enviromentally. So there is some code that you want to write in assembly language, and what is C but glorified assembly language?