Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "ohgodwhy"
-
Client: "Can you make this totally dynamic function calling system 100℅ fault-proof?"
Me: "Hell yeah, hold my coffee"4 -
Wife: What are you working on?
Me: Just adding a few things to this website. I should be done in a minute.
*two hours later*
Wife: It's late. Are you coming to bed?
Me: I'll be done in a minute...
*sigh*4 -
I'm currently rewriting perfectly clean and functioning Scala code in Java (because "Enterprise", yay). The amount of unnecessary boilerplate I have to add is insane. I'm not even talking big complicated code but two liners or the lack of simple things like a range from 5 to 10.
Why do I have to write
List<Position> occupiedPositions = placedEntities.stream()
.flatMap((pe) -> pe.occupiedPositions().stream())
.collect(Collectors.toList());
instead of simply
val occupiedPositions = placedEntities.flatMap(_.occupiedPositions)
Why on earth does `occupiedPositions.distinct` suddenly become a monstrosity like `occupiedPositions.stream().distinct().collect(Collectors.toList())` where the majority of code is pure boilerplate? And this is supposed to be the new and better Java8 api which people use as evidence that Java is now suddenly "functional" (yeah no, just no).
Why do APIs that annotate parameters with @Nullable throw NullPointerExceptions when I pass a null? Why does the compiler not help prevent such stupidity? Why do we use static typing PLUS those annotations and it still crashes at runtime like every damn dynamic, interpreted language out there? That's not unfortunate, it's a complete waste of time.
Why is a simple idea like a range from x to 10 (in scala literally `x to 10`) not by default included in Java? There's Guava's version of Range which does not have a helper for integer ranges (even though they are the most used ones). Then there's apache.commons version which _has_ a helper for integers, but is strangely not iterable (wtf I don't even...).
Speaking of Iterable: How difficult could it be to convert an abstract Iterable<T> into a concrete List<T>? In scala it's surprisingly `someIterable.toList`. I found nothing like that so I took to stackoverflow where I found a thread in which people suggested everything from writing your own ListUtils helper class, using Guava (which is a huge dependency!) to using the new Java8 features inline (which is still about three lines long). I didn't know this was such a hard problem in computer science, TIL.
How anyone can be productive in this abomination of a language is beyond me now, even though I've used it for many years while learning to code (back then I didn't know there were much better ways to do things). The only good part is that I have to endure this nonsense for only about 3 days longer then I'm free again!12 -
My friend just introduced me to devrant today, and then we decided we're going to write an OS together...10
-
So on Friday I completed my last day of full time employment to break out into the world of freelance. Sunday night my PSU decides life is too hard and cooks itself... Is this a sign of things to come?
AMAZON PRIME ALL THE THINGS! -
Old colleague reached out to me. He needed to reinstall one of my web apps (combination of python, php and Javascript (frontend)).
It was harder to do than expected and the code was not the most clever I ever saw.
Not sure what I was thinking during that time of my life 🤔 -
I learned a bit of python and started to enjoy programming. The syntax is short and beautiful but because I want to get into AR development I started C# now. The basics were ok but I am going fucking crazy looking at arrays. It's like the time I had to do stuff with Java again. I'd rather get tortured like Theon Greyjoy then writing this clunky garbage. But I really wanna get into AR 😖.
I'd appreciate if someone could give me reasons not to hate this syntax from the bottom of my 💓.
int[ ][ ] ohGodWhy = new int[ ] [ ]5 -
On my way to another day in the lpic-2. Wish me luck, I've been there for two weeks already, and every single day I got kicked in the ass...