Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> * Google is resistant to any change that might improve engineer productivity beyond the rather plodding rate it has now. C++ and Java are the real house languages; Scala's not even on the table. Python is listed as a house language so Google can still hire people but it's rarely used and nearly deprecated in production.

Google is developing Go precisely to improve engineer productivity, so this claim is rather suspect.



And, there are plenty of languages that are first-class citizens with respect to tool support. The reality is that most engineers and teams are happy with Java and C++, and only those that really want to do something different do something different. It's decided at the team level what language to use; if everyone wants to write Haskell, congratulations, you're now on a Haskell project.

Java is unproductive when you are a startup with one developer, but it works rather well at Google. Each change has to be manually code reviewed before submission anyway, so you aren't saving much time by using Python instead of Java. Agreeing on one language means that it's easy to switch teams; if you did Haskell and another team used OCaml, it would be hard to switch. If you both use Java, though, the barrier to moving is smaller and that means you can switch projects without losing productivity. And that's a good thing.

(Remember: Java at Google is not the same as Java at Bank of America. The toolchain is better, the libraries are better, the culture is better, and the codebase is better. There's really very little I hate about Google-style Java, and that's after hating Java with a passion for about 10 years.)


Google developing Go as a research project, and Google using Go in a non-trivial number of production systems, are two very different scenarios.


Serving billion youtube requests per day is a trivial production system?


Vitess https://code.google.com/p/vitess/ ?

That's 1. A trivial number, if not a trivial system.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: