Jump to content
Nytro

Google Engineering: Why does Google prefer the Java stack for its products instead of

Recommended Posts

Posted

[h=1]Google Engineering: Why does Google prefer the Java stack for its products instead of Python?[/h]

Robert Love, Google Software Engineer and Manager on Web Search.

Man, I cannot imagine writing let alone maintaining a large software stack in Python. We use C++, Go, and Java for production software systems, with Python employed for scripting, testing, and tooling.

There are a bunch of reasons for the primacy of C++ and Java:

  • Familiarity. Early Googlers were well-versed in C++.
  • Performance. Java can be faster than Python; C++ can be faster than Java.
  • Tooling. Tools for debugging, profiling, and so on are significantly better for Java than Python. Even C++ is easier to debug and understand in large systems.
  • Concurrency. As you can imagine, Google systems are highly parallelized and many are highly threaded. Threading in Python is an unmitigated disaster. The global interpreter lock (GIL) is a giant pain in the ass.
  • Lack of need for the prototyping prowess of Python. One commonly-cited strength of Python is that it is easier to rapidly prototype small systems in Python than Java and (to an even greater extent) C++. At Google, however, this benefit isn't all that appealing: We have a lot of powerful frameworks that make prototyping or extending existing systems easy. Folks tend to prototype by gluing a hack into an existing server rather than build an entirely new distributed system.

Don't get me wrong, in the war of Perl versus Python, I come down on the side of Python. But I would never use it to build a production, scalable, mission critical, performant system—particularly one someone else may need to understand some day long in the future.

Sursa: Robert Love's answer to Google Engineering: Why does Google prefer the Java stack for its products instead of Python? - Quora

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...