Well a modern IDE does way more than an IDE 10 years ago. E.g. I expect full text search that is pretty much instant. I remember times when a full search took multiple seconds to complete. Compilers for heavily typed languages are constantly re-compiling my code while I'm typing. Decent autocompletion has to perform tasks that are usually only required of a compiler. Code comments are converted into formatted documentation instantly, always available when I look for it. Device and build processes are monitored, git status is kept up to date, etc etc
I don’t see what you’re talking about. A bunch claim to be performance improvements - there are some additional features for language plugins that are similar to those that have already exist for other languages such as better completion (a language plugin completion/refactoring features shouldn’t be eating much CPU if that’s not the active file one is working with). A few more Java inspections, some Spring and Kotlin niceties, etc. All incremental. Most of these should not be terribly CPU eating with the existing infrastructure.
Search Everywhere and Find Usages at their core have been there far longer than a decade.
Seriously what is this major new infrastructural component in the past 10 years? One could argue these AI code things, but they’re mostly cloud.
I never wrote about new infrastructural components, you argued yourself into that corner. I wanted to express that IDEs have grown way more complex and capable, and that this added capability might explain why modern systems are needed to get a snappy experience out of them.
I’m saying the complexity of IDEs such as IntelliJ is concentrated in their base infrastructure of indexing and refactoring engine and that hasn’t changed all that much in the past decade. That there are more and more new language plugins and some nice UX features built on this core do not reflect some major new complexity in the past decade.
New language plugins and some incremental features that usually only cost when you use them have been added continuously for years.
IntelliJ was already capable in 2010. Your initial example was about fast global search - a feature available for more than 10 years.
If you are vaguely familiar with big software cores like the Linux kernel, you‘ll realize that extensions are often not „clean“ and need changes in the core, too. Yes, the Linux kernel is still super performant and runs on very old hardware, but you wouldn’t be able to run all those new features on old hardware that the kernel has accommodated since.
Entertaining, because I still run IntelliJ and CLion on a decade old Lenovo T430 running Linux with nothing more than a RAM upgrade and overall it works more smoothly now than it did 10 years ago.
This is due as much due to massive. improvements in the JRE itself over that time period in addition to IntelliJ itself.
I’m vaguely familiar with the Linux kernel enough to write drivers and contribute the odd mm or vfs patch over the years. But more pertinent - I develop an IntelliJ plugin.
I was asking for something specific and the response just gets more vague.
The best answer to this is look at the VS Code ecosystem (as Intellij is niche by a small number of developers). In that ecosystem you will have all kinds of plugins from things watching and notifiying you about pipeline status to things like DVC, etc that allow things that you couldn't do, at least not without severe side effects back in 2013.
The best thing to do is not look to the people reinventing the wheel. There are tons of new features in IntelliJ since 2013 including support for things like Go and Rust.
A modern IDE does nearly all the ai hype hopes to achieve, minus code completion. It reviews code, auto completes, hints good practice, searched code real fast, etc.