Jump to content

Why is Java so much harder to learn?

legend8887

I'm definitely here to help. I actually enjoy looking over Java code. Moreso than any low level language. 

 

 

Link to comment
Share on other sites

Link to post
Share on other sites

Lol at people not being able to point out any good points of Java. It is a rather good language actually, but I would not write same things with it that I would on C# and of course it has some silly things code wise, but it's getting better all the time. The reason a lot of Java developers bash on it is because they are working with ancient legacy code, with enterprise stuff that by today's standards suck badly. Thing is the "new" Java and friends (frameworks and libraries lol) is pretty damn good, but I would not write a desktop application with it, naturally, even if I can, it does not mean it always makes sense, it's not what it's good for. But it is my #1 choice for back-end software.

Link to comment
Share on other sites

Link to post
Share on other sites

Java's object oriented style and strong types are what make it different from newer languages. No, it is not the most efficient out there. But it will teach you a lot and if you just bear with it learning other languages in the future will be easier. 

And I wouldn't call java "shit". That's just plain rude to the people who spent a lot of time making it. It can do a lot of powerful things and is a jack of all trades. Not the best for basically everything now a days, but definitely not "shit". 

It is annoying for me too. People bash on it without actually knowing what it's good for. And even staying stuck on misconceptions that were around since before I was born lol. Maybe if they tried they could see, but they won't, and even if they did, they won't see, because they are ignorant assholes.

Link to comment
Share on other sites

Link to post
Share on other sites

About the only feature that Java has that no (almost no?) language has is checked exceptions, every other concept is in other popular languages. Considering the majority of the today's internet runs off it and its the most popular language in the world there are good reasons to know it.

Link to comment
Share on other sites

Link to post
Share on other sites

Why on earth would you start with java.

 

You should have taken a c# class first, it helps to lay out the fundamentals far better, and gets you into thinking in that same logical progression way you need to for coding.

 

And the reason java is hard, is cuz java is shit. It's one of the most haphazard coding languages out there.

C# is just C++ and Java's bastard child. How is it any better to learn with?

Link to comment
Share on other sites

Link to post
Share on other sites

Why on earth would you start with java.

 

You should have taken a c# class first, it helps to lay out the fundamentals far better, and gets you into thinking in that same logical progression way you need to for coding.

 

And the reason java is hard, is cuz java is shit. It's one of the most haphazard coding languages out there.

Actually C/C++ rather than C#.

 

I won't go into why I don't like C# that much , but the thing about programming is that in any language you might be working in , they all feature the same fundamental principles, and C is a very simple language in which you can learn them (and C++ for the Object-oriented stuff , but that is more advanced to a beginner) . And you can use C with C++ anyway , so I'd say C++ is better for learning.

 

After you learn the fundamental principles (most of them) , it really comes down to language-specific stuff , like syntax , for example.

 

Java is pretty simple. It's just that a lot of people don't like it, me included. That's because of having to work with older legacy code and of course the security concerns. At least it's better than PHP...?

i5 4670k @ 4.2GHz (Coolermaster Hyper 212 Evo); ASrock Z87 EXTREME4; 8GB Kingston HyperX Beast DDR3 RAM @ 2133MHz; Asus DirectCU GTX 560; Super Flower Golden King 550 Platinum PSU;1TB Seagate Barracuda;Corsair 200r case. 

Link to comment
Share on other sites

Link to post
Share on other sites

Actually C/C++ rather than C#.

 

I won't go into why I don't like C# that much , but the thing about programming is that in any language you might be working in , they all feature the same fundamental principles, and C is a very simple language in which you can learn them (and C++ for the Object-oriented stuff , but that is more advanced to a beginner) . And you can use C with C++ anyway , so I'd say C++ is better for learning.

 

After you learn the fundamental principles (most of them) , it really comes down to language-specific stuff , like syntax , for example.

 

Java is pretty simple. It's just that a lot of people don't like it, me included. That's because of having to work with older legacy code and of course the security concerns. At least it's better than PHP...?

One thing I don't like about introducing programming with Java and C# is that they are both so heavily object oriented. You can't even write a single program without defining an object.

I feel that's a little too abstracted from what's actually going on, and distracts from the core principles which should be learnt first before building upon them with OOP.

Link to comment
Share on other sites

Link to post
Share on other sites

For starting a programming language, I'm not sure how much experience you have prior, but things like Visual Basic usually tend to be a good place to start and either c++ or C# as I'm told (I don't do C languages anymore so I can't give good advice there) but Java is a real core language that gives the programmer to really build in detail and structure, but of course as most people know, Java has been known to have security issues, in Java as far as I have experienced, you really do start from the ground and work up 

 

correct me if I'm wrong

Link to comment
Share on other sites

Link to post
Share on other sites

You're letting your rage towards Java cloud your readability. 

He said that Java is NOT resource friendly. 

 

I personally like Java. 

 

 

Throw some examples down here. Maybe we can help you out.

rofl, could have sworn it said "at least its resource efficient"

i re-read that post like three times too to see if they were trolling xD

Updated 2021 Desktop || 3700x || Asus x570 Tuf Gaming || 32gb Predator 3200mhz || 2080s XC Ultra || MSI 1440p144hz || DT990 + HD660 || GoXLR + ifi Zen Can || Avermedia Livestreamer 513 ||

New Home Dedicated Game Server || Xeon E5 2630Lv3 || 16gb 2333mhz ddr4 ECC || 2tb Sata SSD || 8tb Nas HDD || Radeon 6450 1g display adapter ||

Link to comment
Share on other sites

Link to post
Share on other sites

Why. My prog teacher, who is a proffesional, he does all kinds of programs ays Java is the best and all.

i would say that c# is the best of all.

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to comment
Share on other sites

Link to post
Share on other sites

but Java is a real core language that gives the programmer to really build in detail and structure, but of course as most people know, Java has been known to have security issues, in Java as far as I have experienced, you really do start from the ground and work up 

 

correct me if I'm wrong

I'd say mostly yes. I'll add something to that statement.

 

Thing is Java does not have an 'intimate' relationship with any framework unlike how C# and .NET are so closely coupled together. You can of course choose a framework and skip building from the ground up, or you can make your own infrastructure for an application, which is actually a good thing in some cases. As I've noticed applications that have security issues are the legacy ones, with extremely old infrastructure, those are often encountered in the enterprise unfortunately. I guess some of the companies their 'logical' solution was to rewrite everything on .NET and stop complaining. As we know it is far more recent and not as riddled with misconceptions as Java is. This is what happened in some cases IMO :D

Link to comment
Share on other sites

Link to post
Share on other sites

Java isn't the hardest language to learn, not by a long way! Try taking a look on WIkipedia at "whitespace" or "Ook!" & you'll see what I mean! :cP

 

In my own advice of a ~20 year career in software engineering, I'd say you're doing the best possible approach right now to study computer science as a whole. Try to understand the basic fundamentals of programming - the ideas of binary & numbers (unsigned or signed), conditionals (decision making and branching) statements, loops, variable usage are all commonplace over all(?)/most languages & are what you should be concentrating on right now. Also, what's really happening "under the hood" in terms of code compilation, the RAM allocation & de-allocation, the CPU cycling & queuing.

 

These fundamentals haven't really changed drastically in 40 years. Later on once you're comfortable with low level RAM usage, the idea of pointers, variants and garbage collection available in some languages & not others, will be a breeze. Once you're familiar with the CPU handling & communication & queuing, the idea of different languages using virtual machines, or being compiled or interpreted will all be much simpler & quick to understand & use etc. Also code optimisation too. The only real headaches you might then find is remembering where to put a semicolon or end statement, which configuration or permissions settings to use and whether to declare and section things in the same file, in header files, to use namespaces etc..

 

Java will be nice as it will introduce you to Object Oriented Programming concepts & ways of thinking too. I'd say stick with it - it could be tricky to get your head around a different way of interpreting problems (a bit like learning a speaking language) but it will all become clear. I'm not an academic person myself. I'd be bored to tears in lectures and don't much like reading, however 2 resources I can heavily recommend which I found basic, clear & actually funny enough for me to learn fantastically from, were books "but how do it know" and "head first Java". Good luck!

Link to comment
Share on other sites

Link to post
Share on other sites

There are some very good points made above - not starting out with an OOP language possibly, not bashing Java completely and that there's tons of people willing, wanting and able to help in this & other forums for any questions or problems you might have.

 

Then there are some points made which... well either the poster is misinformed or tired maybe.

 

"Why on earth would you start with java. You should have taken a c# class first"
C# and the .net framework were written with the direct aim to be able to compete with Java historically. The design and syntax all took heavy leads from the Java implementation and both Oracle and Microsoft are constantly looking at new inclusions made to each other's releases and attempting to implement a similar thing later.

 

"because its coded like crap. ask any professional programmer"
Whilst there are A LOT of security holes, Java has been on the top 10 programming languages for as long as I can remember. The job advertisements in all contries I've lived are full of Java positions. Many "professional programmers" might take offence that their entire life's study & work in that language is apparently futile & worthless....

 

"ABC teachersaid language XYZ is the best"
I'm sorry, but your teacher is a fool who has let his personal opinions conflict too much with his duty & telling you the real world. The truth is that certain languages are each best for certain tasks. Want text parsing? PERL is optimised for that, want client-side website code? Javascript is the most currently used and widely supported, want low-level automated machine conveyor belt code? C or Assembly are your best bets. There is not 1 perfect language to fit all solutions.

 

"Thing is Java does not have an 'intimate' relationship with any framework unlike how C# and .NET are so closely coupled together"
The JDK has most libraries that you'll find in the .Net framework. It's maybe not clear as it doesn't have an obvious name unless you've used it, but remoting, generics, UI, FileIO - all the namespaces are there for the taking...

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×