Amazing support for statically typed languages, but avoid for front-end!
December 13, 2019

Amazing support for statically typed languages, but avoid for front-end!

Anonymous | TrustRadius Reviewer
Score 9 out of 10
Vetted Review
Verified User

Overall Satisfaction with IntelliJ IDEA

IntelliJ is used by the engineering team to assist in building our web service, which is primarily written in Scala and Java. Scala and Java have statically typed languages for which IntelliJ has great support. IntelliJ helps us understand the code better by giving type annotations, alerting on syntax errors, and linking the code together so that variables and functions are "clickable", meaning you can go to their definition. IntelliJ also has great support for automatically formatting our code so my fellow engineers don't have to nit-pick at my code whitespace and indentation.
  • Deep integration for most statically typed languages.
  • Always improving: new releases packed with features every few months.
  • It consumes tons of memory and battery. On my Macbook Pro, it uses 3% of my energy impact and uses 2.1 GB of RAM.
  • Way too customizable without any supporting documentation makes customizing it difficult. I pretty much have to go on Stackoverflow sometimes just to customize IntelliJ! One example is for me to do something as simple as adjusting only the editor font size, I found 3 different settings all called "editor font size" but only one of them worked. Maybe the other settings overwrote each other? I don't know!
  • Positive: IntelliJ has significantly improved developer productivity once it is properly set up.
  • Negative: Ramp up time for engineers new to IntelliJ is a bit steep: I see new people join my team and take anywhere from 4 hours to 2 days just getting their code to compile in IntelliJ!
Since we are primarily a Scala shop, I only evaluated other tools based on their support for Scala. As I hinted at before, Vim and Sublime Text 3 have practically no support for Scala as all the Scala plugins that worked were never finished and abandoned and only work for Scala 2.7 (latest Scala is 2.12). Eclipse has minimum integration but it's bloated and even more buggy than IntelliJ. Finally, VSCode could become a real contender in the future if the Metals plugin for VSCode gets better and keeps being developed.
IntelliJ has great email support. I've usually gotten replies the same day. If you file a bug through YouTrack, you can publicly track it's status here https://youtrack.jetbrains.com/oauth?state=%2Fissues%2FIDEA. IntelliJ's developers squash bugs in the code editor pretty fast but are pretty slow in their plugins. For example, I use Ideavim (the Vim plugin) and there was a huge bug with exiting insert mode that took 4 months for them to fix after I and several other people filed the bug with them.

Do you think IntelliJ IDEA delivers good value for the price?

Yes

Are you happy with IntelliJ IDEA's feature set?

Yes

Did IntelliJ IDEA live up to sales and marketing promises?

Yes

Did implementation of IntelliJ IDEA go as expected?

Yes

Would you buy IntelliJ IDEA again?

Yes

So if you are a backend developer working with statically typed JVM languages such as Scala, Java, and Clojure, IntelliJ is pretty much your only real option. Sure, there's Eclipse, but everyone who works in Java knows Eclipse is way too buggy and lacks the powerful features that make JVM developers most productive. And it's even worse for Scala, because no other editor, not even Eclipse, has deep support, so Scala programmers are pretty much stuck on IntelliJ (unless you are willing to try out VSC's new Metals extension, which my coworkers say is still too beta for them).

If you are a front end developer, there's no reason to use IntelliJ because the IDE features such as autocomplete or code navigation aren't available for them anyway. It's much better to just roll with Vim, Emacs, Sublime Text, or VSCode, which are way more intuitive to use and lightweight.