#Java is a hard OOP and C++ isn’t bad I just don’t like not declaring variables types.
Explore tagged Tumblr posts
humormehorny · 2 years ago
Text
*looks back at a hand* “I’ll except that if you also say JavaScript needs to not exist”
Also here is the meme I’m referencing:
css is worse than html actually
24 notes · View notes
Text
If you’re learning Java as a first programming language, try learning another programming language with it
TLDR; Try your hardest to learn another language alongside Java via the internet like Python or basic C syntax, just so that way you don’t get discouraged by the initial complexity of Java or the initial learning curve associated with OOP.
Alright so as the title of the post suggests, if you’re a new CS student at whatever University or College you’re attending you’ll probably learn Java as a first language. Java’s a great language for stack developers or people that have to actively work with SQL or anything related to servers. But it’s a really piss-poor language to learn with, and here’s why.
1) It forces Object Orientation:
I myself recall my first ever CS class: AP Computer Science. I was in the class with a lot of people much smarter than me when it came to Math and Science, and who were just generally more clever than I. However, our first language was unfortunately Java. The poor kids were forced day one into trying to understand a rather complex topic of Computer Science. A few dropped out and their dreams of becoming programmers halted; all because they weren’t properly exposed to the rest of the programming industry.
2) Java is very verbose and just confuses the shit out of people:
Now this topic is a bit funny because I really like Rust and C++ as programming languages and they’re similar in this regard. But the matter still stands. A lot of people are going to find that trying to follow Java code is somewhat difficult, which is due mostly to Object Orientation. For instance, every function has to be declared within a class: if you want to group a certain type of functions together in a package, they have to be in a class file and made static. Coming from languages like Rust, C++, and Python, this is a really stupid way to behave.  
3) Java code can be pretty hard to read:
I touched on this with reason 2, but there are other reasons as well as to why. There’s an opinion among certain developers that Object Orientation is very forgiving when it comes to coding style. I happen to agree with this opinion, and I will be using it for this post. Object Orientation itself isn’t a problem if you have a well trained, motivated individual who tries to focus good programming style. Unfortunately, everyone has bad programming style at times, and you can see it in large programs or open source software. Java, which was (and still is for the most part) taught as a primary starting language for students, forces Object Orientation on students. So, many people will want to try writing programs that test their skill and ability, mixing in their terrible coding styles (after all, we all need to learn by doing, right?). This leaves a huge codebase for people to learn Java from, but at the same time most of it is illegible and just plain terrible. No language is free from the curse of spaghetti code, and it seems that many up and coming Java developers find it very, very easy to write spaghetti code
4) Java is not general purpose:
I understand full and well that Java has a lot of built in functions that allow for general purpose programming (built in JFrames, etc etc) and has all the fun bloat associated with those features. However, it isn’t a proper indicator of what the industry uses as general purpose. Something like Python is used far more for “General Purpose” programming needs. 
In summary, Java holds a close place next to my heart, as well as the hearts of many developers. However, from a pure “Just getting started” mindset, go learn another language on the side. It doesn’t do you any justice if a complex subject of programming discourages you to the point of not wanting to program anymore.
1 note · View note