DEV Community

Cover image for Why You Should Use IntelliJ IDEA!
Ganesh Samarthyam
Ganesh Samarthyam

Posted on

Why You Should Use IntelliJ IDEA!

An Uncomfortable Confession!

I’ll start with a confession – I was a Vim (text editor) lover and disliked IDEs. As a power-user I loved the power & magic that powerful text editors like Vim and did not like the IDEs that made developers lazy!

Perhaps that started with the buggy and pathetic Turbo C/C++ IDEs in the college days. I was surprised how most of my classmates were using them and (god-forbid!) even loved it. What bothered me was they didn’t even know how to invoke it from command-line (forget about using the powerful command-line options we can pass to control it). That’s how I also started using command-line tools and loved the power & magic of Unix command-line.

20 years fast-forward, and I can see how much I have missed the power of developer friendly IDEs. Of course, I am talking about ergonomic IDEs like IntelliJ IDEA. The main reason where the power of text editors stop is that they are generic (max they understand is syntax highlighting, code completion, etc.) – not language-specific capabilities and in-depth ones that require deep understanding of language and semantics (like the deep static analysis and refactoring transformations that IDEs do).

In this blog post, I am going to cover five reasons why you should consider using IntelliJ IDEA.

It’s not either powerful text editor or IDE – it’s BOTH!

What I found interesting is we can have the power of text editors plus the power of IDEs. And IDEs can be super high-quality (and not like those buggy Borland/Turbo C/C++ IDEs). For example, I can use IdeaVim as a plugin and have the comfort of using my short keys. At the same time, I can do things like Alt + Enter and invoke powerful and convenient quick fixes, transformations and refactorings!

IntelliJ IDEA = Productivity

What I love about IntelliJ is its keyboard shortcuts and features that boost our productivity. My five most favorite shortcuts (in Mac): quick-fixes (Alt + Enter), refactoring (Ctrl + T), search everywhere (Shift + Shift aka double Shift), generate code (Cmd + N), insert live template (Cmd + J). This is just a sampling of what you can do with this powerful editor. You can do many things “auto”-magically - automatically find potential bugs, fix them, transform code, generate code, reformat & rearrange, improve, …

Polyglot Language Support

IntelliJ IDEA is synonymous with Java – but it is not the only language it supports: It has superb support for programming in Kotlin, Scala and Groovy. Wait, not just that, it also supports JavaScript, TypeScript, and SQL! This is possible mainly because of the rich plugins it supports.

Rich Set of Built-in Tools

Want to dig deeper and debug or performance tune applications? Decompiler, disassembler, and profilers are integrated. Want to pull changes or commit changes all from without leaving your IDE? Version control is integrated and supports Git, SVN and Mercurial. Using Spring, Java EE, Micronaut, Quarkus, Helidon? That’s tiny list, please add more including Grails, Play2 & Hibernate. Using SQL? Got you covered with the power of DataGrip integrated.

Cloud, Mobile and Web Development

IntelliJ IDEA is not just for developing desktop applications. You can use it for cloud (esp. with Azure and AWS plugins), mobile (with support for React Native, Cordova, and Ionic frameworks) and web development (supports JavaScript, TypeScript, HTML and CSS, Node.js, Angular), ...

IntelliJ IDEA is for Learners, Professionals, and Students

Community Edition

This is the free and open source version, and yes it can be used for commercial development. It has all the important features required for regular development including code completion, static analysis and auto/quick-fixes, refactorings, and more. It also has support for multiple languages, mobile development (on Android), version control integration, profiling, and more.

Ultimate Edition

The main reason for switching to Ultimate Edition is development for web and enterprise environment. It has powerful support for developing in different languages (through plugins for PHP, Go, SQL, Web – JavaScript and TypeScript), support for frameworks (Spring, Hibernate, React, Angular, Node, …), build tools (npm, grunt, gulp, …) and more. There is a 30 day free trial for you to give it a try. Interested in purchasing licenses/renewing for yourself or your company? Contact reachus@codeops.tech (CodeOps is an Authorized Reseller of JetBrains Tools for India & US).

Edu Version

If you are a student, you can use the IntelliJ DEA Edu version (free). What I love about Edu is the helpful learning support provided for learning both Java in the form of assignments, programming tests – all that help learn programming in a fun and interactive way.

Give it a try now!

If you are a LOTR (Lord Of The Rings) fan, you’ll relate to “one ring to rule them all” for IDE – and yes, “72% of Java developers choose IntelliJ IDEA”! No matter if you develop occasionally in Java (Community), professional developer using the IDE most of the day (Ultimate), or learning Java (Edu) – you can use IntelliJ IDEA. Give it a try and have fun coding! Download here.

Oldest comments (2)

Collapse
 
darijus profile image
Darijus

Great article!

Although I don't use IntelliJ as I write in another language, I always choose an IDE over a text editor when I have to deal with the backend. Having everything in one place makes life so much easier and allows me more time to spend focusing on solving problems.

Collapse
 
siy profile image
Sergiy Yevtushenko

The key difference between editor and IDE is the ability of IDE to 'understand' code. Everything else is derived from it: smart navigation, refactoring, code generation, etc.