Kotlin is great! I enjoy it a lot and am having a fun time ramping up for my new role. But the entire Java ecosystem is a dumpster fire, and I abhor Gradle/Maven/Intellij.
It would take me an entire weekend to try to configure Sublime Text or another lightweight plain-text editor to work with Gradle to even build the project, let alone any language server features like code suggestions and debugging.
What do you dislike about IntelliJ?
IDEs should not punish you for knowing what you want to say and typing it quickly. They should be DETERMINISTIC, and you should get the EXACT same results no matter how many milliseconds of delay you wait between each keystroke, and you should always be able to insert something by typing it literally at any speed, without pausing and waiting then focusing your visual attention on the screen and then finally pressing other buttons to use the menus.
Turns out, Intellij’s “Actions on Save” are only triggered when a “Save All” (option-command-s) is issued, and ignores any other type of save like good-ole command-s.
Nowadays, given the state of LSP implementations and editors being as flexible as VSCode i.e it's hard to justify the need for an IDE... In general.
I usually use nvim or VSCode (if I collaborate with someone) for other languages. Every time I have to work on a Java project, and I have to open IntelliJ... I know it's going to be a nightmare.
It is weaker IDE in terms of what it does. Eclipse is older, look uglier and strictly superior unless you work on some kind of super large project where it is breaking.
Java is therefore somewhat a victim of its own success. There is no absolute "best" as you seem to suggest. Every ecosystem has pros and cons.
Rationalising a language's ecosystem is harder than building one. I suspect that this drives at least some new language adoption.
A good programmer uses the right language for the task. A good language is one that doesn't need a community and a beast of an editor just to code something that compiles and runs.
An "ecosystem" is usually a sign of costly entropy.
Agreed!
> A good language is one that doesn't need a community and a beast of an editor just to code something that compiles and runs.
Hmm. [citation needed]. I'd argue the exact opposite. A robust ecosystem and community around a language are a substantial part of its value proposition. Naturally, the language's PL details are what seed and fuel its ecosystem, so I'm not claiming semantics, syntax, and zeitgeist are irrelevant.
See every "worse is better language": C, Python, Java, Javascript, English against whatever ML, Haskell, Esperanto, Lojban, etc.
It's a measure of a language's usability if a programmer can't use the simplest possible tools to be productive.
Education and documentation is necessary. But if you have to have an entire support channel for a technology, it isn't necessarily a positive reflection on the technology.
Which languages don't need a community?