Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "fuck these guys in particular"
Holy fucking shit. I just went to my first Java class at uni (3 1/2 hour long one at that) and I havent felt so damn irritated in a while.
So first, I only had about an hour of sleep last night and a full day of work before this class so I was more cranky than normal.
Theres only 7 students in the class, 6 others plus me. I am the only one with any resemblence of programming experience. The teacher also claims to be a linux developer.
This is a three part course series. Java 1, 2, and 3. All taught by the same teacher.
-teacher spends 48 minutes talking about text editors. Not even IDEs. Just talking in depth as fuck about notepad (notepad. Not notepad++ )and atom and textpad. Those three only though, nothing on vim or emacs or ACTUAL IDEs. 48 minutes.
-professor saw linux on laptop and asked what distro. When I said arch he said "oh no you shouldnt be using that Its not really for beginners" ... Uhh what makes you think I'm a beginner to linux? Or does he not think I should be using arch while learning java? Either way its really ridiculous and irritates me that he would discourage anyone from using any software/OS/anything, regardless of what it is or skill level.
-teacher moved a bunch of content out of the course because theyre either "concepts that are never implemented anymore" or "arent critical to know to master the language". These particular topics that were removed? Multi-dimensional arrays, scopes, and exception handling. EXCEPTION HANDLING.
-he writes a hello world program and displays it on the board, proof of it working and everything. He tells the class to write the same program, compile and run it. Never did I guess we would spend the remaining hour and ten minutes of class struggling with fucking hello world programs. Especially when the correct code is on the fucking projector.
And I get it guys, everyone starts somewhere. People have to learn from square one. But these kids have no fucking interest in this. One of them literally admitted to pursuing this degree for the "lavish life" that comes with the salary. Others just picked programming because they didnt know what else to choose to get into the school. It fucking saddens me. I hope that one or some of them end up caring and finding a passion in this field, otherwise I feel fucking sorry for them having to spaghetti code their way through life to get a paycheck cause they couldnt be bothered to put in the effort. I feel even more sorry for any devs they work with in the future too.
The other annoying bit is that I can't test out of this class!! so it looks like for either 7 hours a week ill be bored out of my fucking mind with these beginner concepts or ill be helping others fix really stupid shit in their code (like putting quotes around hello world so it would actually print the string).
Fucking hell. Waste of a semester class.49
Fake it until you make it? Nyeehh,
Fake it until everyone else gave up and you're the last man standing,
And if you didn't learn anything in the process, then you deserve the failure that comes with it,
Devs aren't solely measured by the amount of "knowledge" they has amassed over the years, it's how fast they can adapt to change, learn and devise the best solution to a certain problem,2
Hoo boy, this is a (very) long one, so read at your own risk,
I'd say, don't judge/generalize people biased by the minority that represent the larger group,
But on the other hand, it's very difficult to do so, especially when working in a group consisting of several dozens of people (devs, tech leads, testers, designers, etc), in separate sub groups
Well first, the devs aren't working with the expected atentiveness to quality & detail, I am not in any way the best developer in terms of knowledge, in fact I might be just a mediocre developer compared to the other tech leads or the other fellow developer, but one thing is that I always tried to learn and try my best to do it in the best way I can,
Quite frequently (and from several specific persons only) I had the honor to experience these farce,
Some people just don't want to admit that they are wrong, clear as day, this specific part here is not doing what it's supposed to do due to someone's negligence, and I was trying to find out how it actually works and how can we fix this, that's right, "we", I'm not even pushing anyone to clean up his mistakes alone, I'm also taking part on it because that became my responsibility when I touched that part of the code, and it's my duty to make sure the job is done, and what did they do? Long story short, somehow the guy was getting angry for an unknown reason, then speaking in high tone implying that it's not his problem anymore, passing the responsibility to someone else, and ultimately everyone said I should figure it out by myself, yeah fuck you all, in the end I was very relieved to be moved back to my original squad and not having too much interaction with their group,
Some (probably) less worse occurences are the devs who rush ahead before they code, literally, it's not the usual "code first, think later", it's way more advanced version of it, let's say some tester found a bug, then it's assigned to a developer, the developer doesn't even bother to check the ticket description, only read the vague title, and doesn't even bother to check the actual behavior on the app, suddenly, there's a Pull Request waiting to be merged, it's mind blowing to see how his PR doesn't actually solve anything, in the end, it confuses several reviewers until they actually run it on their local machine and found out that the bug is either has been fixed or not recurring anymore or the fix doesn't do shit, fucking waste of time
And what about the testers? Sure let's not forget the stereotype about devs vs testers and vice versa, but the ones I'm working with is a real piece of work,
I have no problem with the testers who put a lot of bug tickets, or the ones that is very critical in their bugfinding process, at least that means they are doing their job properly, the ones that dotheir job improperly are the ones that ends up wasting everyone's time, just like above
One time, a tester was reporting a certain UI bug, a certain text was overflowing, it's an edge case and was assigned to me since I works mostly on UI,
A day went by with no avail at my attempt to replicate the bug, turns out he was testing it with his personal phone, which was not included in the device requirement for the project nor described in the bug ticket, but since the screen resolution checks out, the bug is considered valid,
Second day went by with no avail of replicating, my time spent trying all kinds of devices, simulators, emulators, until, the 3rd day a very lucky occurence happened with one other testing device, and another tester reported duplicate bug, obviously I borrowed the phone, and inspected every inch of possibilities, until I noticed something, "the font's kinda bigger on this phone" I thought, then I checked the settings, and lo and behold, the bug is caused by the device's font settings, fuck it, and fuck you
Another time was when I'm not sure whether the testers was being lazy or just acting preoccupied with something, when we create a PR, the specific branch must be tested by tester to ensure nothing broke because of the changes, then only when the tester OK'd it, the PR will be merged,
This thing frequently happens, especially when working cross teams, it's as if that the other team's tester is not responsible for my work, eh, here's two middle finger for you, I'll include my toes also, YOU ARE THE ONE REPORTED THE BUG FOR FUCK'S SAKE, and now you act like it's none of your business?, what's so hard about testing one single branch for a single teeny weenie feature and say ok on it, it won't even take 15 minutes, because I can do it in just 10 minutes, but only the testers had the authority to say that a certain PR is good to merge, fuck it
Last, the point above, "only the testers had the authority to say that a certain PR is good to be merged", and they seem to be flaunting it and act like an important person, fuck you
That doesn't cover half of the antics I saw, but whew, it sure is refreshing to finally speak it out3
Sydochen has posted a rant where he is nt really sure why people hate Java, and I decided to publicly post my explanation of this phenomenon, please, from my point of view.
So there is this quite large domain, on which one or two academical studies are built, such as business informatics and applied system engineering which I find extremely interesting and fun, that is called, ironically, SAD. And then there are videos on youtube, by programmers who just can't settle the fuck down. Those videos I am talking about are rants about OOP in general, which, as we all know, is a huge part of studies in the aforementioned domain. What these people are even talking about?
Absolutely obvious, there is no sense in making a software in a linear pattern. Since Bikelsoft has conveniently patched consumers up with GUI based software, the core concept of which is EDP (event driven programming or alternatively, at least OS events queue-ing), the completely functional, linear approach in such environment does not make much sense in terms of the maintainability of the software. Uhm, raise your hand if you ever tried to linearly build a complex GUI system in a single function call on GTK, which does allow you to disregard any responsibility separation pattern of SAD, such as long loved MVC...
Additionally, OOP is mandatory in business because it does allow us to mount abstraction levels and encapsulate actual dataflow behind them, which, of course, lowers the costs of the development.
What happy programmers are talking about usually is the complexity of the task of doing the OOP right in the sense of an overflow of straight composition classes (that do nothing but forward data from lower to upper abstraction levels and vice versa) and the situation of responsibility chain break (this is when a class from lower level directly!! notifies a class of a higher level about something ignoring the fact that there is a chain of other classes between them). And that's it. These guys also do vouch for functional programming, and it's a completely different argument, and there is no reason not to do it in algorithmical, implementational part of the project, of course, but yeah...
So where does Java kick in you think?
Well, guess what language popularized programming in general and OOP in particular. Java is doing a lot of things in a modern way. Of course, if it's 1995 outside *lenny face*. Yeah, fuck AOT, fuck memory management responsibility, all to the maximum towards solving the real applicative tasks.
Have you ever tried to learn to apply Text Watchers in Android with Java? Then you know about inline overloading and inline abstract class implementation. This is not right. This reduces readability and reusability.
Have you ever used Volley on Android? Newbies to Android programming surely should have. Quite verbose boilerplate in google docs, huh?
Have you seen intents? The Android API is, little said, messy with all the support libs and Context class ancestors. Remember how many times the language has helped you to properly orient in all of this hierarchy, when overloading method declaration requires you to use 2 lines instead of 1. Too verbose, too hesitant, distracting - that's what the lang and the api is. Fucking toString() is hilarious. Reference comparison is unintuitive. Obviously poor practices are not banned. Ancient tools. Import hell. Slow evolution.
C# has ripped Java off like an utter cunt, yet it's a piece of cake to maintain a solid patternization and structure, and keep your code clean and readable. Yet, Cs6 already was okay featuring optionally nullable fields and safe optional dereferencing, while we get finally get lambda expressions in J8, in 20-fucking-14.
Java did good back then, but when we joke about dumb indian developers, they are coding it in Java. So yeah.
To sum up, it's easy to make code unreadable with Java, and Java is a tool with which developers usually disregard the patterns of SAD.