5 ms·
Outside of the ML groups, Google really doesn't like Python and there's very little of it in the codebase. This move isn't surprising in that light. Also, Goog
by pclmulqdq 3y ago
Outside of the ML groups, Google really doesn't like Python and there's very little of it in the codebase. This move isn't surprising in that light.
Also, Google is IBM at this point, so I would expect a lot of IBM-like moves.
- hehdhdjehehegwv 3y agoThere’s a ton of python all over the place. You don’t know what you’re talking about.
- beanjuiceII 3y agomaybe they plan to adopt mojo
- melodyogonna 3y agoMojo developers will not be different from Python developers, also Mojo is still very unstable. Chris Lattner said last May that he expected Mojo to be usable in 18 months, so within the next 7 - 8 months
- martius 3y agoVery little at the scale of this codebase is still a lot. From where I sit (SRE), I see a lot of Python which is very much mission critical.
- ddalex 3y agois it really Python though ?
- bananapub 3y agoyes, SRE uses loads of python, despite a decade+ pseudo-mandate to encourage Go
- pclmulqdq 3y agoI have heard that SRE teams can get away with this on the idea that SREs usually are not as good at software engineering as SWEs, so some bad engineering practices can fly. I never saw Python actually get used, though, in the projects I worked on.
- martius 3y agoThat's not my experience. First, there are two SRE ladders: SRE-SWE and SRE-SysEng. SRE-SWE have the same interviews and hiring bar as SWEs. SysEng have less coding interviews but I think the interview questions are more practical and less algorithm oriented. Still, SREs are subject to the same rules and policies as SWEs when it comes to submitting code. And in the end, I don't see why using python on some projects would be a bad engineering practice
- isatty 3y agoThis is blatantly false, along with the idea that there’s only very little python.
- pclmulqdq 3y agoOn the scale of the company, Python is a very small language, and the very important stuff is 100% not in Python. However, 100,000 people work at Google, and probably over a million have it on their resume, so "small" at Google is "big" for a lot of people. Google can definitely afford (in technical terms) to be a follower rather than a leader when it comes to Python.
- filoleg 3y agoCorrection, outside of the ML groups and anything related to CI/infra. Especially if you remember that Starlark[0] is a dialect of Python. And that’s without going into all the outside-of-g3 code (of which there is a metric ton, especially if you worked with any teams that deal with hardware or third-party/acquisition stuff). 0. https://github.com/bazelbuild/starlark https://github.com/bazelbuild/starlark
- pclmulqdq 3y agoStarlark is not Python. It feels like Python when you write it, but it's very different in a lot of ways that really matter. A lot of people don't realize that the issues that python haters (myself included) have aren't generally about the look and feel of the language, but about how many sharp edges the language has for maintenance and scaling. Python 4 could fix all of these things if they ever did it.
- filoleg 3y agoI agree with you on this, but just saying, there is plenty of actual python (not starlark) at Google, all over the most crucial places (which a lot of people who haven’t touched those don’t even realize exist). Personal example - the fleet of hardware prototypes (that I used to work on) used for hardware-in-the-loop testing (basically the hardware version of CI/CD) was pretty much reliant on python. Anything that was compact enough to be accomplished by a script and generic enough (open this serial connection, write to that memory address, etc.), the de-facto default choice was almost always python. But I fully agree with you otherwise, in a sense that I haven’t seen much of a gigantic python codebase consisting of a bunch of interconnected python modules, like you would see with other popular languages at Google (e.g., C++/Java/JS).
- htrp 3y ago>Outside of the ML groups Google is also going all in on ML (or AI if you prefer).
- elintknower 3y agoWhich languages would you say google prefers these days? But also in light of what an early SWE might want to focus on to maximize career options?
- karolist 3y agoHonest answer, only C++.
- pclmulqdq 3y agoC++, Java, and Go are the languages for backends IIRC. I think Typescript is the frontend language of choice.
- deleted 3y ago[deleted]
- throwawayVDJDJD 3y agoKotlin has been seeing more and more usage as well, even outside of Android: https://youtu.be/hXfGybzWaiA?t=972&si=1Wsgb0wOmXOi3_hC https://youtu.be/hXfGybzWaiA?t=972&si=1Wsgb0wOmXOi3_hC
- gpshead 3y agoWell over 100m lines of Python as has been publicly stated several times over the years is not "very little".
- rrdharan 3y agoIn a codebase of 13+ trillion lines it's very little.
- pclmulqdq 3y agoGoogle has published that it is at about 2 billion LoC not including experiments and scratch use. I don't know if the 100 million lines of Python includes experiments. Also, if the number is old, there is a chance that the number of lines of Python has actually gone down over the years due to the (soft) mandate to stop using it.
- sour-taste 3y agoFormer googler. It's very team dependent. My first team was 100% c++, I moved to a sub team that was 100% python. There's a lot of it around
- kamaal 3y agoPython is mostly the Perl of the current day. And it attracts tons of beginners, that also means nearly equivalent amount of bad code(Just like in the Perl days). These days if you are doing serious work, you simply use Java. Especially if you want something running for years. Java is really the only option you have. A decade back I interviewed at a major telecommunications firm. Python was the new fashion then, they were trying to rewrite a fairly big Java code base to Python. Anyway I didn't get the job. My friend did. After a few years of this they realised, Python was not a serious alternative for an application of that nature. And abandoned it midway. I know several other banks that have had a similar arc. Python is an amazing glue language and perfect for lots of automation and adhoc glue work. Its just not meant to be a serious alternative for long term, stable applications which are typically written in Java/C++. Other languages like golang have come up in the past. While they are really good for smaller applications. They are just not there for something serious. 'Simplicity' has different meanings in different contexts. Either way, I think both Python and Java are here to stay and will be used for tasks where they are good at. But we are now past the 'Python for everything' days.
- polotics 3y agoDo you realise how your comment sounds? No actual reason for any of the opinions, just "this happened" and words like "serious". What does serious means, is it type safe or something? Can you try again with substance?
- bitcharmer 3y agoI think it's a copy pasta.
- elnr 3y agoSomeone should rewrite this but Rust instead of Java; it would be a perfect meme.
- paganel 3y agoUsing Python for a serious backend thing at a telecom firm is a big no-no, and I say that as a guy who has been paid to write Python code for almost 20 years now.
- collyw 3y agoThey seem to support Python quite widely. There are a handful of languages that have an API for google cloud and the likes, Python is one of them
- mgraczyk 3y agoThis is not true, for example the entire mobile test infrastructure is written in python.
- nvgrw 3y agoGetting a python readability review seems downright impossible in my org.