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.
Back in my day when you wanted a computer to do something, you just asked her to do it and then underpaid her because women can't hold real jobs.
Gates and inverters!!?
Luxury!
In my day we had to use transitors and resistors and, if we were lucky, maybe capacitors.
Back in my dsy we only had non programmable computers. Wanted to make the computer do something? You had to specifically build in the function. And that worked JUST FINE
Back in my day we had an abacus and if you wanted it to do something you had to do it your damn self. And that worked JUST FINE.
Oh hello mister fancy pants with your abacus. We carved notches in rocks and we were happy with that.
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
Those who say such things are straight ignorant
They’re basically fashion victims.
I wouldn't say so. They are inexperienced. They don't know where the bottleneck of most of the modern software is (it's io in 80-90% of cases) and how to optimize software without rewriting it to C++
How are they ignorant? It’s a known fact that java is slow, at least slower than some others. Sure, it’s still fast enough for 95% of use cases, but most code will run faster if written in, say, C. Will have 10x the amount of code and twice as many bugs though.
Java is indeed slower than C, Rust, in some cases than Go.
But that doesn't mean that
code will run faster if written in, say, C
Again, like 80-90% of production code are bounded by disk/network io operations. You will gain performance from using C in embedded systems and in heavy calculations (games, trading, simulations) only.
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.
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.
I don't really see how that is bad..? Java wants to be widely applicable and taking the best features from other languages helps that goal, right?
C++ fanboys will talk a bunch of shit about Java for this, but c++ has been doing this same shit (and more poorly) pretty much since its inception.
And most of the newer Java stuff is syntactic sugar, so I’m not sure why that commenter is calling out JVM implementations. I’m guessing they don’t know much about the JVM, since you can compile these higher level syntax tricks down into bytecode just like you might compile more verbose source code.
Static analysis of compiled code with javap might be more difficult, but I’m betting the commenter doesn’t know what that is either.
True, but functional languages are great if you want to live comfortably.
https://survey.stackoverflow.co/2023/#section-salary-salary-and-experience-by-language
Write your business critical process in brainfuck and have job security for life.
Sprinkle in some whitespace code...
Java is a great language. But programming languages are tools - not every tool is the right tool for every job
And one of them is Java?
Yes Java, Scala, Kotlin, Jython and Perl
Of course Perl is in there lol
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?
PHP5 was basically the Adolf Hitler of programming languages
You know how something can be so terrible it ruins something forever? Like the hitler stache
5.3 was a big leap for PHP. It became actually very good at that point.
I learned it when it was on 4 and boy oh boy was that something.
But nowadays, with 8, it works great, tooling is fantastic. I just kinda wish the documentation, which is absolutely top notch for 90% of the language, was this good for the rest 10%.
I want to play around with Fibers, but I just don't get the info I want to.
pthreads were so out of date in docs it was shameful.
But the language is good, typing is coming along nicely, and basically the only thing I want PHP to do is to call Postgres and encode the output to json. Works like a charm.
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.
Sounds like you're making progress, your devs are slowly learning a better language that will let them work faster and will soon be able to help port the rest of the codebase and then you can really accelerate when no one needs to touch or know Java.
we should use only the best language for everything.
This is super easy, you just fire all the Java devs and hire real engineers.
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.
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.
Java is great, the way its (ab)used is terrible.
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics