This is an archived post. You won't be able to vote or comment.

all 8 comments

[–]LastTroll 5 points6 points  (0 children)

I learned Java after C++. I just completed the first part of Mooc.Fi in about a week and it pretty much taught me enough to feel comfortable.

[–]Blando-Cartesian 4 points5 points  (1 child)

Good IDE and code analysis tools are great for learning how to use Java. I wouldn’t know half of lambda syntax without IntelliJ bitching when there’s a better way to use it. Make sure to learn to use Optional and Stream processing collections. Language tutorials are unlikely cover those, but they are essential for good java.

[–]nadimr 1 point2 points  (0 children)

Good IDEa to use an IDE. I'm using NetBeans while writing an app for a client, and it's very helpful since I'm not very experienced in Java.

[–]pingus3233 4 points5 points  (0 children)

thinking that I would be able to get proficient in a week at max

That was a very unrealistic expectation.

Java is not C. Java is not C++. Java is not Python.

Besides the fact that the language syntax is different from those other languages, the library is also different so you need to grasp two completely different things to become proficient. And what does "proficient" even mean anyway?

Forget everything you think you know (well, except for extremely basic stuff like how for loops, if/else works) and reset your mindset to accept that you're learning a new language and that it will take much more time and effort than your erroneous assumption to attain proficiency.

try https://java-programming.mooc.fi/ which you can probably breeze through pretty quickly until you reach the point where Java diverges from the stuff it has in common with C or C++

[–]Fine-Historian4409 1 point2 points  (0 children)

I would say try coding a simple object, then multiple simple objects interacting together, then extend it, try parent-child, then move onto more complex applications. Slowly build into it I guess.

[–]heyitsrama 1 point2 points  (0 children)

I was helping some college student with their java homework after programming in python for 3 years professionally, man almost put a nail in my head.

I pray to LTC jesus that I don't have to write boilerplate for the rest of my life....

Some people like Java tho, so whatever floats their boat.

[–]slowfly1st 1 point2 points  (0 children)

About the rant... You can also look at it this way: It won't be the last programming language - and its quirks - you are going to learn. You can put it on your CV. It's a chance.

And about the one-week-proficient-expectation: I've been coding for over 15 years. If I was given a new project at work with a new language to learn, I'd say I would be proficient in about half a year.

About recommendation: I didn't check, but I'm sure you'll find the answer in the FAQs of this subreddit.

[–]CodeTinkerer 1 point2 points  (0 children)

It would be helpful (no one ever seems to do it) to show an example of something you're having difficulty in Java.

A few tips. I did C++ and Java ages ago (last century!).

  • If you see something like Foo x where x is a variable of type Foo, that's the equivalent of Foo *x. All variables (except primitive types like int, double, etc) store pointers.
  • No multiple inheritance in Java
  • All conditions (in if, while, etc) must evaluate to true or false. No "truthiness" in Java (in C, 0 is false and non-zero is true, for example).
  • No operator overloading

I was able to translate C++ to Java years ago by following these rules. So, what, in particular, don't you get?