DEV Community

Discussion on: Getting started with Java

Collapse
iameugn profile image
imeugn

My question is deep:
Why Java?
Do you have some special tasks, or just hobby/fun?

Collapse
valxntine profile image
Val

Java is still a highly sought after skill.

In both small and large companies, and the likes of Android.

Collapse
kritner profile image
Russ Hammett Author

Inheriting (at least tangentially) a code base that's built in java/spring. I'm a .net core guy myself, and dabble a bit in python.

Java just feels super gross to me, all the ceremony around it related to maven, project setup, project structure. I wanted to explore it, so I could hopefully have a better understanding of it, rather than keep referring to it as "gross". .net core has really made me appreciate all the updates from even the .net OG framework, and made me get all the more frustrated with Java. It could very well be because I just don't yet know the "ceremony/boilerplate" of Java.

Collapse
lilianaziolek profile image
Lili Z

Ha, as a Java dev I used to have a feeling of "gross" when it comes to other languages (mostly Python and Javascript), but in time I came to conclusion that it has more to do with familiarity than objective reasons on either side. A project is only as gross as maintaining people make it. I've seen gross in all languages, and I've seen clean in all languages too. The key is to stop trying to shoehorn expectations from our usual way of working onto another ecosystem, as this always ends in grief and frustration. Try to understand and embrace, and things become much more pleasant.

A good IDE fit-for-purpose really helps to get on board with each language/ecosystem's "standard practice". For .NET it might be VSCode. For Java it's IntelliJ or Eclipse - go with the standard and you'll save yourself a world of pain. You absolutely can read / navigate through a Java project in VSCode, but you'll be 10 times more productive and less frustrated if you use a more common Java IDE - because the IDE will work with the project, and default to what is most-commonly-done, rather than try to hack-around-the-standards and try and adopt a Java project into how things are normally done in a .NET project.

BTW, does .NET not have any command-line, independent-from-IDE system for managing dependencies and building? If not: do you copy-paste this stuff across all projects, and/or are forced to use MS IDEs? If yes: well hello, maven/gradle equivalent. ;)

Thread Thread
kritner profile image
Russ Hammett Author

Oh yeah for sure, I know a fair amount of my current feelings are just my bias. And yeah, I definitely feel more comfortable with jetbrains products over eclipse, but that is likely just a matter of keybinds that I'm more used to.

I do love me some VScode, even for .net core, but I use it more for code navigation (at least when it comes to c# and java, that doesn't really hold true for front end based stuff, which I'm even still I'm not strong with). I will likely be playing around in intellij when it gets down to the nitty gritty, but wanted to get my feet wet in a tool I'm more used to.

Thread Thread
lilianaziolek profile image
Lili Z

I know we all sometimes have to go on a rant ;) It's now been long enough for me to not do it so much for front-end stuff, and when I had the daily cursing sessions I didn't have a blog so it helped not to do it publicly ;) but... yeah, I feel ya.
If you come across anything super frustrating / just not bending to your will - just shout. There aren't many things in the Java/Spring world that hold secrets from me :)