For me it should be JavaScript. With myriads of IDEs, editors, plugins etc it has to be the language with the best IDE support and overall DX.
It's easier to answer which IDEs are the best. IDEs with commercial support tend to have a better experience. In my opinion that is Visual Studio (which is now available on Mac!) followed closely by any editor by Jetbrains.
So that means any of the .NET languages plus JavaScript for Visual Studio and most popular languages for Jetbrains.
As much as I don't like either of them, I think Java and C# win in the IDE department.
JetBrains's IDEs are great, but Eclipse and Visual Studio have more features and are more widely used.
What's your criteria for "best"? Speed? Reliability? Code refactoring smarts? Code intelligence/autocomplete? Biggest community? Largest number of options? Largest collection of extensions? Cross-platform support? Ease to learn vs long term ease of use?
JavaScript is probably the most broad in terms of options - you can use anything that edits text. The problem is you can use anything that edits text, so people use anything... ;) But the focus then is the code itself and often the smarts like code quality have been pushed into generic build tools (eg. at work we autorun ESLint and Flow in terminal, not in the editor/IDE).
Languages like Java and .NET tend to have fewer serious options, but generally you end up with everyone on a team using the same thing. Shared knowledge is pretty useful. Of course that also means your team tends to get really stuck on the paradigms of that tool rather than the code. Also the more closed the ecosystem, the more chance the tools cost a LOT of money (.NET can get shockingly expensive, depending on the extensions you need).
DX is about a lot more than the editor/IDE, probably a whole other question really.
Another vote for Jetbrains' products, IntelliJ is just fantastic for Java! Kotlin support is getting there and almost as great as the Java support, but with every new version, that gap is closing more and more. IntelliJ also has framework support for Java which means that it can understand when you're writing Angular syntax, or hibernate queries in a String or mustache templates, etc - you can even mark Strings in your Java code as // language=HTML and all of a sudden you get HTML syntax highlighting and autocomplete inside your Java code. Same with CSS, JS, etc, al can be written in Java code and just marked with a language= comment
Dart in IntelliJ is also rapidly getting better, especially when using Strong Mode.
JavaScript in IntelliJ Ultimate is much better than in most other IDEs, but due to its dynamic nature, it doesn't come close to the statically typed languages. The big difference comes in when refactoring or on autocomplete, you just don't have the same power as with Java / Kotlin and often break code when doing large refactors whereas with Java / Kotlin, you change a class and it is changed everywhere where it's referenced, automatically.
Many people rave about C# and Resharper (also from Jetbrains), it looks very similar to IntelliJ and C# is also strongly typed like Java, so I would imagine the support would be just as great.
Ben Buchanan (200ok)
I make some bits of the web.
Marco Alka
Software Engineer, Technical Consultant & Mentor
While I think, that you might be right and JS really has a ton of support, imho, the DX is not that good, because of the dynamic nature of JS. Static analysis fails me all the time. That's why we have TypeScript, which takes away a lot of the problems and risks and makes working with JS safe. I use WebStorm and IntelliJ IDEA for working on web projects, and I love them!
As for system languages, C and C++ should have the best support overall. Most important software is written in C or C++. You are most probably sitting in front of an OS, which was written in C/C++. There are CLion, Visual Studio and XCode, to name a few.
As a new-comer, though, I'd say Rust should have an even better experience. It's compiler does a lot for you and outputs really helpful errors and guides how to fix them. The only downside is that it has rather bad IDE support, because a lot of important features are not yet implemented (lifetime visualization, borrow highlighting, wide-spread debugging support, etc.). Good IDEs which support Rust include CLion and VSCode.
To put it in a nutshell, I love the JetBrains products. That's why I would say, if you use any of their products, you will have an awesome IDE and really good DX. That includes Java, Python, JS, PHP, C/C++, C#/VB.NET, SQL, Ruby and soon Go.
EDIT April 2020: I improved the text and updated the content a bit, without changing it too much. Also, I added Rust to the languages.
Unbezahlte Werbung durch Nennung und Verlinkung von Personen, Organisationen oder Unternehmen.