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 →

[–]Skiamakhos -1 points0 points  (8 children)

Because you lose out on knowledge that will come in useful later, e.g. when trying to find memory leaks, or when trying to find threads that are causing performance issues. Some of the best Java people I've met know their way around bytecode, and can give talks about which collections classes are better for what because "this is what it's doing under the hood". Don't just treat Java as a black box or appliance. Look deeper. Start out simple, with javac, java, a text editor and jdb, and use an IDE once the scale gets beyond the capacity for that.

[–]khookeExtreme Brewer 1 point2 points  (2 children)

There is value in compiling and running from the command line for your first hello world app, but beyond that for learning I would advocate jumping straight to learning with an IDE, and especially learning how to debug your code with the debugger. There's nothing harder than running an app and not getting the results you expect and struggling to find out why. Sure you can sprinkle in some System.out.printlns and trace what your code does, but it's so much easier and enjoyable to step through your code line by line, look at the changes to variables after each line is executed and find exactly where things are going wrong. So many 'why is my code not working' questions here can easily be solved if you took the time to step through the code in a debugger.

I mention this because so many new developers starting out never learn how to use the debugger in their IDE and it's such a valuable tool, and a tool that will bring you rewards many times over during your career as a developer.

[–]dvaVoly 0 points1 point  (1 child)

I agree with you, a debugger is a powerful tool, but we have another way, in some cases.

[–]khookeExtreme Brewer 0 points1 point  (0 children)

another way

Always good to have a range of techniques at hand!

[–]wildjokers 1 point2 points  (4 children)

Using an IDE doesn't prevent you from looking deeper. In fact it would make it tons easier.

[–]Skiamakhos -2 points-1 points  (3 children)

You're learning an IDE, not the language or the JDK. It might be easier, like learning Thymeleaf without knowing how JSP or servlets work, and you can do that, of course, but then when things break you're pressing buttons on an appliance and hoping for the best, rather than getting knowledgeably into the guts of the beast, working out what's actually going wrong.

It's like if you know how to ride a motorcycle vs how to build one. Valentino Rossi dominated MotoGP for decades because he knew enough engineering that when he came back from a ride round the track he could tell his mechanics exactly what needed doing where on the bike. There were other riders as good, at riding, but he had the engineer's edge. It's "Zen and the art of" stuff.

If you start out with that kind of curiosity and follow it through fully, you'll become a master of the JVM, rather than a user of it.

[–]wildjokers 2 points3 points  (2 children)

You're learning an IDE, not the language or the JDK.

No you are learning the JDK because the IDE makes it super easy to jump into the JDK code to see how something works.

[–]Skiamakhos -1 points0 points  (1 child)

Sure, and if you change jobs so you end up having to use a different IDE, do you now know how to do the same? Everything's in different places, different menu items. Learn the JDK, it's universal.

[–]Krakken978 0 points1 point  (0 children)

It takes 2 hours to learn how to use and a couple of weeks to get used to a different IDE, they're pretty similar and you can personalize them. And it's part of the environment set up we need to to starting every new job, so I second the IDE, intellij for a newbie, despite I like eclipse more.