Hacker News new | ask | show | jobs
by bberrry 271 days ago
Those of you surprised to see Java so prominent, where have you been all your careers? 10 people startups with nodejs backends? You must have been entirely shielded from enterprise software companies.
3 comments

It's a weird one - I've been at Google for more than 5 years. I know from the stats that we have a zillion lines of actively developed Java, there must be huge swathes of the company that you could even call a "Java shop". I dig into random bits of code all the time. And yet I've looked at Java maybe three times in my tenure. And if I needed to submit Java code, I would not have a single contact to ping for readability review.

Java was the first language I learned in my CS degree, I still think this was a sensible choice by the CS department, but I don't think I've written a single piece of Java since I left 10 years ago!

It seems like a lot of Java usecases may be big and important but kinda isolated! Something about where they sit in the economic value chain perhaps?

Most people work for companies that use tech, not that create tech.

There the world is not like at Google. Sap, Java and .net are what people work with.

I am saying Google is an extremely heavy user of Java.

In terms of programming languages, Google is very much a microcosm of the industry.

(.net is the exception though. Not much of that at Google).

So what are the main languages there? Go? Python?
I've read that C++, Java, Python, JavaScript, and recently Golang are the main languages used at Google.

Edit: And maybe some Dart and Kotlin too.

And later, I thought I'd check, you know, what Google itself has to say on this: ;)

what are the main programming languages used at Google

Result (unformatted):

AI Overview Google utilizes a diverse set of programming languages across its various products and services. The main programming languages used at Google include:

C++: Widely used for performance-critical applications and system-level programming, such as in the core search engine, Google Chrome, and other backend infrastructure. Java: Essential for Android app development and significant portions of Google's backend systems. Python: Employed for a wide range of tasks including scripting, data analysis, machine learning, and web development (e.g., YouTube). JavaScript: Fundamental for web application development and frontend interactions across Google's web-based services. Go (Golang): Google's own open-source language, increasingly used for cloud-based projects, microservices, and network programming due to its efficiency and concurrency features.

    SQL:
    Crucial for managing and interacting with databases, which are integral to almost all data-driven applications at Google. 
While these are the primary languages, Google also utilizes other languages such as Rust (for projects like Fuchsia OS), Kotlin (for Android development), and Dart (for Flutter framework development) for specific use cases and projects. The choice of language often depends on the project's requirements for performance, scalability, development time, and existing infrastructure. Dive deeper in AI Mode AI responses may include mistakes. Learn more

So it looks like the main ones I missed were Rust and SQL.

Dang! I should have thought of SQL, at least for their IT ops, but I was thinking only about their customer-facing apps.

Anyway ...

C++ is my guess
What products do you work on and what language?
I work on stuff that's adjacent to system software (I'm actually mostly a kernel engineer). But I've touched code in all the major languages at Google: loads of C++ and Go, much less of Python and Typescript. But Java/Kotlin is the only one I've never touched at all.
Java is the new COBOL.

The financial sector, insurance sector, healthcare sector all jumped on Java a couple of decades ago, and they have massive repositories of Java code, and are actively migrating their COBOL code to Java.

> Java is the new COBOL.

What do you mean by this? To me it sounds like people are saying they are both "old" languages, but I don't know what you mean.

I work in a shop that has lots of both Java and COBOL. We are not "actively migrating" COBOL code to Java. It looks like mainframes will continue to exist for decades to come (i.e. >20 more years). Obviously, brand new applications here are not written in COBOL.

They mean that Java is being used by enterprise now as COBOL was back then
I've said this myself as Java's reification of mid 90s OO and poor interop via JNI are not to my taste. But I've spent 25yrs in banking with JPMC, BoA, Barclays et al. Done lots of interop with Cobol on S/390, AS/400 and VME. Never heard of any of those systems being rewritten in Java. Have encountered key mainframe prod systems for which source is lost.
I know of one investment bank (a former employer) that rewrote its mainframe-based settlement system in Java (on Linux). Front office systems were often Java (replacing Obj-C in some cases).

That was two decades ago – almost a generation! Interesting to think that some of those systems would now be considered “legacy”.

I'm guessing Swiss Bank/UBS as a mate used to trade there and had a NeXT workstation and loved Wingz. Later I heard they were doing server side pricing work on Apple servers. I stand corrected; thanks!
There are even whole companies specialized in semi-automatic migration of cobol to java.
I might be mistaken but as I understand it COBOL never had the reach that Java does. It's everywhere, from embedded systems to massive clusters, as bulky VM, slimmed down VM or native. Business, science, recreation, the sector almost doesn't matter, it's going to have Java somewhere in there.
Yeah, isn't SAP built with Java? Stodgy old big bloated. The new COBOL. Oracle/Java/SAP. Some kind of trinity of evil.
So is Netflix. Silly take
So is most every corporation? What is point? Have you had to implement SAP? Nobody is happy.
You seem to be saying that SAP sucks because of how enterprise java is.

That would make OPs counter re netflix relevant. I don't understand your point

Wasn't this whole thread about joking that Java is the new COBOL? And a lot of enterprises use Java and that is becoming the new entrenched/old/stodgy language that the hot new kids don't want to use?

In its day, a lot of 'cool' companies used COBOL, back then. Because it was an ok solution, back then. So to say, today, Netflix is cool and uses Java, thus Java is different and still cool, is not valid. Does not invalidate the point. It is the same situation, just decades later.

Maybe shouldn't have conflated SAP, but they seem to be just all part of the same giant ecosystem of 'current/entrenched' solution that 'we use because we have to, not because it is better'. Not unlike COBOL.

Anyone who is surprised is not from Finance sector. I wouldn't just say enterprise though because there could be non-finance enterprises where Microsoft and .NET/C# rule.
Also in telecom and largeISP, Java is everywhere.