New language
New language
New language
back in my day we only had one language. it was called ASSEMBLY. wanted to make the computer do something? you had to ask it yourself. and that worked JUST FINE
Well la-tee-da, fuck my AND gates and inverters.
Look at moneybags over here with his instruction sets.
Ok Boomer
My favorite is “Java is slow” said by someone advocating for a language that’s at least 10 times slower.
My favourite is "all the boilerplate" then they come up with go's error checking where you repeat the same three lines after every function call so that 60% of your code is the same lines orlf error checking over and over
Things like lombok make the boilerplate less of an issue in modern Java too
Those who say such things are straight ignorant
One project I worked on had 10 different languages. That was rough. But even your basic full stack web application is usually 5 languages: SQL, a backend language, HTML, CSS and JS. Usually some wheel reinventing frameworks thrown in for good measure. 5 languages is light these days.
And don't forget the CI "language" plus a bunch of bash scripts, Helm, Kubernetes, etc.
Probably a bunch of hacked together Python to copy stuff between fileshares. Bonus points if it runs with a .bat file and a Windows scheduled task.
Without Ansible or Terraform? What about SQL specific for each rdbms?
I work in Java, Golang, Python, with Helm, CircleCI, bash scripts, Makefiles, Terraform, and Terragrunt for testing and deployment. There are other teams handling the C++ and SQL (plus whatever dark magic QA uses).
Write your business critical process in brainfuck and have job security for life.
Sprinkle in some whitespace code...
Java is great if you actually want to earn a living.
You're not wrong, it's still a staple today, but it lost a lot of its shine a while ago. They are mimicking "new" features introduced in other languages, but make a point to preserve retrocompatibility.
I can't imagine how convoluted the JVM has become in the last 10 years.
True, but functional languages are great if you want to live comfortably.
https://survey.stackoverflow.co/2023/#section-salary-salary-and-experience-by-language
Difficulty of finding such a job not shown.
That one dude still using Delphi is getting screwed.
Also, these salary numbers seem... real low. I get that it's the median so maybe a huge number of overseas engineers are pulling the results down but in my neck of the woods 105K is less than what we pay juniors.
Could you have picked any creepier clown foto? Lol
That's almost comically besides the point of the comment.
Java is a great language. But programming languages are tools - not every tool is the right tool for every job
Seems reasonable to me. A scripting language, a compiled language, SQL, some CI/CD DSL, and a dealer's choice.
Java isn't bad but, I'm not a fan of how verbose and convoluted it is. That said, I'll take Java over here JS any day of the week.
I'm failing to see the problem. As long as one of the languages isn't PHP they're still probably better off 🤷
What's wrong with PHP?
If you get even 1 thing wrong, the entire program stops working and you don't get any information about it. Turns out those cryptic errors like "error: object reference not set to instance of an object at address 0x007e00" are kind of important information to have. Unless you specifically know where it's crashing, finding the source of the problem is like finding a needle in a haystack. If it's your own code it's borderline manageable but you'll regret every decision that led you up to that point. If it's someone else's code such as an old project from 9 years ago that doesn't work anymore, absolutely forget about it.
The only advantage of php is that it's incredibly lightweight. I was running an Athlon XP home server on Gentoo as late as 2022 and still had php running despite only having the SSE1 instruction set and a cpu less powerful than whats probably on a modern led lightbulb.
But ACKTCHUALLY I think django and python bottles can be run on even shittier computers than php can since they're both python programs and python has been demonstrated to be runnable on a pentium 1. So there is no reason to use php.
Just use Kotlin
This is literally how this all started for us lol. Senior wanted to try to migrate everything to Kotlin in our project. Migration never finished. Now one of our major repos is just half Kotlin half Java. Devs on our team learn Kotlin by unexpectedly encountering it when they need to touch that code.
Maybe it's because I know both languages but is that really a big issue for people? The interop is great, and kotlin is very readable, so the cost of context switching between the two is miniscule.
Some people have an extreme aversion to learning new things though. I feel that holding yourself to the standards and limits of your lowest performers isn't a great thing.
Doesn't Kotlin has interoperability with Java? I didn't used it much yet but I'm about to in a few months. Is it that difficult to just refactor things to Kotlin when you need to change something in the project? I'm asking because I just can't work with verbose languages and would prefer Kotlin to Java everyday.
Just use Scala ((objectively better language¹))
Just use Clojure
The python code we inherited had some performance issues. One of the guys was like "we should rewrite this in Java".
Luckily the boss was not an insane person and shut that down. The issue was an entirely stupid "...and then we do one query per project" behavior that worked fine when the company was small but unsurprisingly started to suck as users created more projects.
Instead of a months long complete rewrite, we had a two hour "let's add profiling... Oh wow that's a lot of queries" session.
This is super easy, you just fire all the Java devs and hire real engineers.
I would say that over a decade of my career was coming in as a freelancer to fix codebases where a couple of people tought they knew better than the previous ones and proceeded to add yet another very different block to a codebase already spaghetiffied by a couple such people.
Sometimes it was coding style, sometimes it was software design, sometimes it was even a different language.
I reckon thinking that just deploying one's EliteZ skills on top of an existing code base without actually refactoring the whole thing will make it better is a phase we all go through when we're still puppy-coders.
The majority of puppy-coders I've encountered (including myself) actually want to refactor rather than just add onto. They are fundamentally correct in this, but they don't grasp that 1) few companies want to acknowledge that the code base which is their greatest tangible "asset" is actually complete shit, and 2) that due to their inexperience, their refactored replacement is probably going to end up as bad as or worse than the original.
Java is great, the way its (ab)used is terrible.
I like typescript:)
Obligatory XKCD:
The XKCD Standards comic writ large. There are 17 competing standards. -> "Hey, we should make a standard to unite all these disparate standards." -> There are now 18 competing standards.
How to go from only being able to compile the project on a Windows machine (due to obscure dependencies that every other Java project has for some reason) to not being able to compile on anyone's machine at all in just 1 simple step.
I've worked with Java since v1. 5 and I've never seen a build system that was Windows only
Why is there always such a concerted effort to destroy the reputation of Java? It just seems so unnecessarily obsessive, and a lot of times wrong.
Don't get me wrong, I know that with time comes change, and Humanity improves on everything, including programming languages.
But at this point it seems like people want to hose Java down with holy water. It's excessive.
Yeah I kinda agree. C# might have some nice new shiny features but Java is improving all the time and has deep roots in the open source community.
Scripting languages don't really compete with Java because they are a different type of tool. Even when data engineers/scientists use pyspark in data pipelines it's just a thin wrapper around JVM scala code.