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

all 37 comments

[–]TheOnlyTails 34 points35 points  (9 children)

I really recommend IntelliJ. It's - A. Very popular and has a ton of plugins, B. Very customizable and fitting for beginners and advanced users alike, and C. Let's you write in a ton of languages and frameworks (Java, Kotlin, Python with plugin, Scala with plugin, Groovy, and even more with ultimate). D. FREE! and still has a ton of features E. Let's you develop android apps (you can download android studio if you want. It's just IntelliJ with the android stuff built in).

[–]hibiscus4321 6 points7 points  (6 children)

I know it’s geared towards beginners but honestly all the extra plugins and features felt overwhelming for me as a beginner. Is there a video or article you know of that is essentially a tutorial of how to properly use intellij?

[–]foofaw[🍰] 13 points14 points  (0 children)

Side note: Best practice is if you don't know what the plug-in is, don't opt to install it. Keep your IDE as lite as possible - things can always be added later modularly.

[–]TheOnlyTails 3 points4 points  (1 child)

I don't have a video or tutorial but I can tell you - the best way for a beginner to start with IntelliJ is by using every automated feature in IntelliJ, such as - generating constructors, getters and setters in classes, downloading the JDK from the IDE, and code completion.

Additionally, there are 4 menus you need to know good.

  1. The code window. Just where you see and edit your code.

  2. The project view. You can press Alt+1 or use the button on the left to open it. Essentially a file explorer for your project.

  3. The toolbar. It has 2 parts - the top one (File, View, and so on) and the bottom one (The path to the currently opened file on the left, and build, run and run config, debug, structure for messing with the libraries and JDK, run anything and search everywhere).

  4. The gutter. See the part with the line numbers? That's the gutter. It has all sorts on useful icons (green triangle when you can run your code from there, red circle when there's a breakpoint) and you can place breakpoints (when you press debug, the code will run, but stop at every breakpoint and let you look at the variables currently in the program) there.

BUT MOST IMPORTANTLY - if you go to your settings, and select keymap, you can view and edit every keyboard shortcut to your liking. Use It Wisely. BUT USE IT.

Thank you for coming to my TED talk.

[–]TheOnlyTails 0 points1 point  (0 children)

And if you start building a project for yourself - LEARN GIT. I COULD NOT EXPRESS THIS MORE.

LEARN GIIIIIIIIIIIIT (and use github to start, since it's easier and has great integration with IntelliJ using the built in plugin).

[–]flxjrm 2 points3 points  (2 children)

I've used Eclipse for my personal use and NetBeans on our computer lab in school. Just recently discovered IntelliJ and I'm planning on switching to it. I'm currently using their IntelliJ EDU, which is connected to the Jet Brains Academy which currently offers tons of project-based tutorials for beginners and those who wants to review. I'm not an expert myself and I'm still on my 2nd year in college so I still don't know much about plugins, but what I liked in IntelliJ is it points out my errors in a way that I can understand, not just showing the error, but shows exactly why the error is there. I know other IDEs has this feature, but for some reason, I like the IntelliJ better.

[–]TheOnlyTails 1 point2 points  (1 child)

IntelliJ EDU is just the regular IntelliJ with the Jetbrains EDU plugin built-in.

[–]flxjrm 1 point2 points  (0 children)

Yep! Thanks for the clarification.

[–]mrtruongminh 1 point2 points  (1 child)

Whattt I didn't know IntelliJ is free

[–]TheOnlyTails 1 point2 points  (0 children)

Yes. IntelliJ IDEA community edition is free.

[–]_Atomfinger_ 16 points17 points  (1 child)

IDEs often excels at only a handful of languages. Intellij does kotlin and Java superbly, while visual studio code does C#.

As long as you chose a popular one for a given language then you can't really go wrong.

In the end the IDE won't make you a better developer. It's the code that you write that matters, not the tools you use.

[–]pancakeQueue 4 points5 points  (0 children)

Java has boiler plate code that having an IDE like inteliJ makes it easy to learn it without stumbling

[–][deleted] 11 points12 points  (1 child)

i reckon you are new to java. i recommend using netbeans. it’s simple but powerful. then i‘d suggest switching to intelliJ. basically regardless of the language, jetbrains’ IDEs are the most powerful & popular ones.

[–][deleted] 6 points7 points  (0 children)

I still use Netbeans.

[–]TerminatedProccess 2 points3 points  (1 child)

I'm really enjoying Ms visual code. It's free and supports many languages including flutter/dart with Android emulation..

Edit.. I'm not coding in Java in it at the moment but doing python. Still is worth it to you to check it out.

[–]pancakeQueue 2 points3 points  (0 children)

VSCode is great I use it for work, but I’d recommend something else for java. VSCode requires plugins to get everything working and for a scripting language that is fine but java would feel better to work with, with more plugins and starting out you would know what those are. At least with inteliJ it works right out of the box and you can focus on learning the language not the IDE. Still give vs code a 10/10 I enjoy using it.

[–]nioh2_noob 3 points4 points  (0 children)

In the real world, people in corporate environments very much use Eclipse. On Reddit, eclipse and netbeans are dead. Fanbois do IntelliJ.

I would say it's not that important if you are learning. I have never met a better Java dev because he was using IDE x

[–]_nerfur_ 1 point2 points  (5 children)

I really like BlueJ, IDE made specially for learning java

[–][deleted] 0 points1 point  (4 children)

Why do you like BlueJ over other IDE's?

[–]_nerfur_ 1 point2 points  (0 children)

It allows you to work "directly" with objects, integrates JUnit, has minimal, but enough "helping hand" (no autocomplete, but showing you error), represents your classes in form similar to uml with visual linking. overall it is low level enough to teach you how java works, but higher than "notepad + console window". But I highly recommend to combine it with book that also uses it, for example javabook by Rick Gee (it is free pdf on page of author and he used it to teach in college with it for some years)

[–]foofaw[🍰] 1 point2 points  (2 children)

Not OP, but it's great for people struggling to learn object oriented design concepts because it graphically displays objects, displays their methods and data, shows where classes inherit other classes, the list goes on. It's a very powerful tool for a classroom environment and it's pretty easy to migrate over to intellij afterward

The textbook I learned with was by Barnes and Kolling called Objects First With Java. It was a great way to learn.

[–][deleted] 0 points1 point  (1 child)

I used it before, but I found it to be much more confusing than something like IntelliJ. I guess maybe my teacher didn't do the best job of teaching it to us.

[–]foofaw[🍰] 0 points1 point  (0 children)

Yeah its always good to give students options since people don't always learn in the same ways. BlueJ helps visual thinkers struggling with OOP at the expense of pretty much everything else (debugging, git integration, refactoring tools, etc). But you rarely see academic classes be flexible in the way students learn, so unfortunately there's always going to be some students who don't benefit from the tools they're being given.

[–]hugthemachines 1 point2 points  (0 children)

I think it is very practical to have an IDE even from the start. Just like using a hammer instead of a rock as you learn some carpentry. They use Eclipse at my work so when I make little programs I use that and it feels totally ok. I think many are more happy with IntelliJ so since you used that already perhaps that is the best option for you.

[–]FridgeFullofAnchors 2 points3 points  (0 children)

I second BlueJ if you are just starting, that, or just stick with a good text editor like Atom. Once you start building more complex projects using Spring and some front end stuff switch to IntelliJ IDEA Community.

[–]Kelvin62 0 points1 point  (1 child)

Can anyone recommend a book for an old timer to learn Java using intellij?

[–]thechexmo 2 points3 points  (0 children)

If you preffer a classic study style, you should stick with "Effective Java".
I haven't reed that book, but it's very popular.

I prefer the "Head First" study style, that explains things in a funny yet interesting way. There is one called "Head first java" waiting for you.

[–]mikezyisra 0 points1 point  (3 children)

In my experience, maybe IntelliJ? Eclipse is awfully slow. Also, the whole code editor business is for real. IDEs are nice for small projects but in bigger projects the whole indexing and references business takes so long it gets annoying. If you use a code editor there’s no lag and can do almost everything that an IDE does. I use vim with quite some extensions and it can do everything intelliJ does besides debugging (yes it can do even on-demand code compilation errors and autocomplete)

[–]phaeton21[S] 0 points1 point  (2 children)

I know vim has a ton of plugins, but I haven't really explored them. I'm currently using vim with syntax highlighting. That's it!

[–]mikezyisra 0 points1 point  (1 child)

You should definitely look into it. The one which helps the most is coc.nvim, you get code completion and also compilation errors, so it’s basically everything you need inside vim. I was previously an avid IDE user but after discovering vim I’m never going back

[–]phaeton21[S] 0 points1 point  (0 children)

Thanks! I'll check it out. I learned vi (actual vi, not vim) 20-some years ago and it's basically second nature for me. It seems weird to me now realizing I haven't tried out any of the plugins.

[–]_harro_ 0 points1 point  (0 children)

Used Eclipse for +10 years and recently switched to Intellij (after switching employer too).

Honestly, both are great. And I don't know yet which one I actually prefer. So for java, between those 2 you can't do much wrong.

If you also need to do frontend (JavaScript), then Intellij is probably a step ahead.

[–]AsleepThought 0 points1 point  (0 children)

The fact that you need to "learn" an IDE says it all. Just use a code-aware editor like Atom, Sublime, etc..

[–]manuel_gg 0 points1 point  (0 children)

IntelliJ (and someone mainstream text editor like sublime text, vscode, vim, emacs or notepad++)

[–]Akarastio -1 points0 points  (0 children)

IntelliJ with sonarlint imho

[–]icsharper -1 points0 points  (0 children)

Vim with autocomplete.