Outside of the JS/TS realm? I don't know, I can imagine Jupyter and other notebook technologies really taking off too. I don't really see those as writing programs, however, I see that more as an exercise in data preparation that can be used in some other long-running API or otherwise.
Going a little beyond too - I am seeing more and more shops (including ours) that are adopting an ALL JS/TS approach and leveraging React, GraphQL on top of Node. I think the reason is that we're collectively deciding on reducing our code knowledge footprint. Companies are favoring fewer languages because JS/TS is "good enough" now to handle the backend of something major, it begs the question on why we should use Java or something similar for our APIs. We are also finding places where we can write something on the front end, and magically also run it on the backend for doing some similar operations.
Webstorm integrates with popular build tools like Webpack and Gulp, and adds support for more tooling all of the time through plugins.
There is really no reason to use another IDE for JS/TS unless you can't afford its very reasonable price.
For me it's the text editing features that these IDEs lack. I'm definitely giving up advanced language integration, but I (and many) make the choice to do this for more powerful and/or preferred text capabilities.
Vim, Emacs, Kakoune being my main examples. Not just a "vim mode" - I've never used one of those that was even remotely useful for me, heh.
My main prob with jetbrains is project setup sucks, and the support for quick editing an arbitrary file is awkward. so for quick editing of a file I end up in atom or vim. I'm currently trying to get vs code's editor to be as similar as possible to intellij as possible. it looks like code's editor is pretty solid and full featured.
When compared to Vim, it's not about one specific "feature" that vim lacks, it's Vim, it has just about everything - it's about my editing UX, and vastly preferring how Kakoune does it.
Now would I choose IntelliJ if it could perfectly replicate how Kakoune does editing? Without a doubt I'd choose IntelliJ. Yet I massively doubt that's even possible.
Fwiw, I've been dying to use a GUI editor, but I cannot give up first class implementation of my text editing methodology of choice, be it vim, Kakoune, etc. It's not about "is it possible to do X", it's possible to do nearly everything in Notepad.
But if you are jumping into a lot of different projects that were written by a lot of different teams, and making tiny, local edits, configuring an IDE properly for each new project is a pain. Startup time on a new project is more important than advanced refactoring. It's hard to beat an editor for opening a file or directory you've never seen before and making a quick edit. You can be done before a more powerful IDE has even finished indexing the source code.
The newer editors are gradually getting more IDE features without losing fast startup, so I find them appealing even with a lot of experience with IntelliJ.
> It's hard to beat an editor for opening a file or directory you've never seen before and making a quick edit. You can be done before a more powerful IDE has even finished indexing the source code.
I can't imagine this _ever_ being the case. Setup of an IDE is trivial compared to wrapping one's head around the first time look at a new project. I mean, you're talking about cracking open a new project you've never seen, making an edit and "being done" in a matter of a few minutes !This is perhaps doable if you're talking about assembly-line-cookie-cutter projects, or maybe you're talking about super-geniuses? It takes me a minimum of hours to days before I'm ready to "make a quick edit" on a project I've never seen.
It’s a different state of mind from IDE users. Not better or worse, just different. I’d hate to be stuck in IntelliJ all day, but most of my colleagues love it. As long as we’re all productive, to each their own.
That said, I’m a polyglot, so learning specific IDEs and plugins for all of the different languages and DSLs I use throughout the week sounds miserable to me).
As far as I'm concerned, either go whole hog with an IDE or stick with lightweight editors like Sublime/Vim/Emacs and rely on CLI tools to find errors.
I feel that engineers who don't try out emacs & vi really are missing out on some amazingly powerful tooling (more so emacs than vi — but vi lives within a Unix shell in much the same way that emacs's text-editing capabilities live within emacs-the-OS).
For example, VS Code pulls TypeScript definitions of your JavaScript dependencies and thus has superior intellisense.
Also, the plugin ecosystem uses JavaScript, so it tends to be more cutting edge, especially if you're working on a JavaScript project (i.e. same language as plugins). For example, VS Code and Atom had Prettier code-formatting when IDEA didn't. And they sometimes have the best support for newer languages like Elm.
I'd be wary of painting people as junior developers just because they don't use your preferred IDE.
Also, if you have so many instances of a name in your codebase that you need automated tools to change it, and you haven’t already split that code out of the repo into a well named and stable library, I consider that a code smell. You’re building your house on jelly.
In the rare case I end up in that spot, I can use sed.
Working longer on a larger code base I would prefer a specialized IDE like WebStorm hands down but that seems not to happen so frequently.
I wish Intellij was as snappy as Sublime. I wish it was as intuitively keyboard driven as Sublime. I wish the community around Intellij was half as helpful as the Sublime one when it comes to plugins, extension, customization.
There are just too many opaque things going on, everything is slow and if you don't sick to the workflow intended by the authors of the IDE, everything is lost.
I feel like if the language has not been designed with an IDE in mind, it's hard to get the integration right.
It doesn't have as much refactoring support as eg Resharper, but it has the basics covered and honestly - even when I was using Resharper, well over 90% of the refactoring I did was renaming variables, which VS Code has covered.
I have tried all of the above 'modern' editors and almost immediately find tooling i'd assume is part of every IDE (i.e. code formatting, import organization/cleanup) but wasn't
Amongst the current crop of engineers, there seems to be a stigma against even trying Eclipse or IntelliJ. I kind of feel like junior engineers are missing out on discovering some much more powerful tooling and forming their own opinions.