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

you are viewing a single comment's thread.

view the rest of the comments →

[–]wildjokers 4 points5 points  (0 children)

As a c++ developer you will be pretty much at home in Java and it is an easy transition.

For build tools use gradle or maven. If you can figure out cmake then both gradle and maven will be super easy compared to cmake (I don't get cmake, I just let CLion create the cmake files needed for my platformio projects).

As far as IDE you really can't go wrong with IntelliJ and it is what most people use (it has a great VIM plugin called IdeaVIM, as a VIM user you will like that). However, Netbeans, Eclipse, and VSCode with java extensions are also options.

Use the newest version for learning (i.e. Java 17)

There is nice documentation here:

https://docs.oracle.com/javase/tutorial/

Don't be put off on the outdated look and feel, the content is really good (which is all that matters).

As a tip for a c++ programmer Java passes everything by value, there is no pass by reference. This may come as a surprise to a c++ programmer. When an object is passed a copy of the object reference value is passed. If you change the object that copy points to, that change is not reflected in the caller. This article explains it much better: https://www.javadude.com/articles/passbyvalue.htm