Yep, PHP is turning 30 this year! Wondering if “PHP is still relevant?” Ever since we have been hearing that PHP is dead. It was “dead” 10 years ago, 5 years ago, and “is dead” today. But somehow - it isn’t. Anyway… happy birthday!
Yep, PHP is turning 30 this year! Wondering if “PHP is still relevant?” Ever since we have been hearing that PHP is dead. It was “dead” 10 years ago, 5 years ago, and “is dead” today. But somehow - it isn’t. Anyway… happy birthday!
Java is a better fit. It hasn’t fallen in popularity the way PHP has. But, I’m not convinced that serious backend services mostly use Java. It’s one of the languages used, sure. But, I don’t know if it beats C/C++ or Go. Apache’s C. Nginx is C. Kubernetes is Go. Docker is Go.
I think Java has a niche with certain kinds of business logic applications, and those are pretty common. I would guess that in a typical set of interactions with a Google product, or a Meta product, or an AWS product, some parts of the traffic will be handled by services written in Java. But, others will be C/C++ or Go. There will probably also be some parts of the process that are PHP or Ruby or Python, and a lot of Javascript.
I can only speak for what I see in the central European market, big banks like Unicredit (literally primefaces frontend), Erste group is running Java, basically all government services are Java.
Java is by far the dominant language on the job market in terms of number of open positions and salary.
Most developers are not going to create the next kubernetes. For me it is usually down to earth integrations. Take this file from s3, send as email and sftp here. Create API to proxy another API. Take messages from Kafka, put on rabbitMQ. Save messages from rabbitMQ to database.
I think Java is very strong with libraries. Especially with Spring Boot and camel. I don’t really see it as niche but more of a plain boring peanut butter sandwich. Boring. Unexciting. But works.
I am however trying to convince my boss to allow kotlin. Which has access to all the java libraries
Most developers are also not going to create a “serious backend service”. Most are making a random website, or chaining together a few “business logic” items. I think we’re just talking about different levels of “serious backend service”. Like, if you mean someone making a website for the biggest industrial machinery company in the fortune 500, but it’s all B2B stuff and so it handles at most hundreds of QPS, then I think you’ll find a lot of Java there. I just think that for the biggest B2C companies in the world that handle hundreds of thousands of QPS, it’s not exclusively Java.
I’m not trying to say Java is bad or anything. It’s just that it has a few quirks (like garbage collection) that start to matter when you’re getting eye-watering levels of traffic. So, for the most serious of the “serious backend services” I think you see Java, but you also sometimes see C/C++ and Go.
What if those chains handle thousands of massages per second?
Serious backend is indeed a stretchy term. And I agree with that point b2b java is common. But our b2b backend handles multiple thousands of massages per second. I find the bottleneck to be MySQL and RabbitMQ.
I think it makes sense for a serious backend to have load balancing and nginx cache and horizontal scaling. I reckon QPS doesn’t matter as much as you think it does.
I still don’t think that java would be considered niche. I rather think that C or C++ would be considered niche. It takes longer to develop, and is not memory safe so I don’t think that most backend systems should consider it.