When I started out learning Java at Lambda, we could have used VSCode or used our student pack for a free year of IntelliJ IDEA. I gave VSCode all of one day to get it set up for Java usage but Lambdas curriculum showed examples using IntelliJ. My choice was obvious at the time as I really didn't want to be stuck behind. IntelliJ impressed me far more than I thought it would haha!
Fast forward to May of this year with the new job and here I have become comfortable with Eclipse. I have been back and forth using Eclipse and finally setting up VSCode for Java development. I like to change it up occasionally at work and get experience.
What a long round-a-bout to get to the point of this post! Now that I have experience using all three code editors for Java development, I think I can give my opinion on learning curves and etc like that!
- runs on anything that supports JVM
- very basic hardware demands
- immense ecosystem of plugins
- bigger learning curve
- commonly used IDE
- more frequent software updates
- beginner friendly
- code completion
- smaller learning curve
- preferred IDE by new and experienced Java devs
- two editions depending on your needs
- version control to manage branches, browse changes, and merge conflicts
- indexes the entire project when you start up (speeds up search process )
- good for working on single file or smaller things
- many extensions to turn it into a full fledged IDE
- not as preferred as IntelliJ
- debugger not as good as IntelliJ
- no extensions installed upon use
- live share functionality
- built on top of an Electron platform where as IntelliJ is running on an older JVM
- ease of multiple windows when coding
Obviously there are many more points to touch on with each code editor but probably would take a bit more than a post to get to every point...
All in all, my personal preference will always be IntelliJ. I encourage devs (especially newer devs) to give each a go to see what suits their needs.