6 ms·
Yes when people talk about "languages" they really mean ecosystem.
by grumpyprole 5y ago
Yes when people talk about "languages" they really mean ecosystem.
- ecf 5y agoAn example of this for me is Kotlin and the JVM. 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.
- prepend 5y agoYou’re the first person I’ve ever heard to hate IntelliJ. I really like it as an editor and would use it if it was free (instead I use VSCode). What do you dislike about IntelliJ?
- clearcoat 5y agoIntelliJ Community Edition is free. I don't use the paid version so I'm not sure what I'm missing.
- eddieh 5y agoI hate IntelliJ too. I don’t like any IDE for that matter. Emacs is muscle memory and nothing can emulate how it works properly. Emacs is so much more than it’s keybinding, yet that’s the only thing IDE/text editors attempt to emulate—and they never even get that right.
- DonHopkins 5y agoEmacs was originally designed to work perfectly well with type-ahead over 300 baud modems and slow ARPANET connections, so it doesn't fuck you when you type ahead, while so many IDEs love to pop up menus that gobble and drop keystrokes and then insert random crap you didn't want (like fuzzy matched symbols and multi-line boilerplate) unless you stop typing and patiently wait for it to finish thrashing the disk and painting the screen with animated menus, and then after it finally comes to a complete stop, you have to focus your attention on the screen and visually scan through the menu and hit the arrow keys repeatedly to re-select what you already typed, or hit escape to get rid of the menu and finish typing what you really meant (while slowly popping up even more menus with pointless animation every few keystrokes). And of course escape does something completely different if there isn't already a menu popped up, usually quite disruptive, so don't ever type ahead any escapes! 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.
- ecf 5y agoExample: It took me two hours today to figure out why “Format on Save” wasn’t working. 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.
- anothernewdude 5y agoIntellij refuses to use my working maven config, and requires horrible plugins to work with some things like javax.
- watwut 5y ago> What do you dislike about IntelliJ? 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.
- vrnvu 5y agoOver the years the performance has decreased... exponentially. It is pure craziness that indexing a project takes almost a minute or even more. It's full of env bugs and configuration issues that the developer team seems to not care about. Features > Usability from the marketing point of view :P 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.
- azth 5y agoNothing else comes close to the Java ecosystem, it's one of its great advantages.
- grumpyprole 5y agoIn terms of a culture of over-engineering, yes, it is second to none. In Java land, even a logging library can be a serious security vulnerability. A typical Java project pulls in half the internet for dependencies, including multiple logging libraries. 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.
- hkt 5y ago> A typical Java project pulls in half the internet for dependencies, including multiple logging libraries. Rationalising a language's ecosystem is harder than building one. I suspect that this drives at least some new language adoption.
- azth 5y agoSounds like FUD
- grumpyprole 5y agoI've done years of Java dev at many large corporates, so there's no uncertainty. Plenty of fear and doubt though. The language is getting much better, let's hope the ecosystem does too.
- azth 5y agoAny language at a large corporation (without proper software engineering practices) would end up that way. My current employer uses golang, and you wouldn't believe the @)%(* they came up with. Such as an entire framework that spits out 80+ line stack traces for errors and panics.
- heresie-dabord 5y ago> language versus ecosystem 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.
- ZYinMD 5y agohold my js
- kjeetgill 5y ago> A good programmer uses the right language for the task. 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.
- grumpyprole 5y agoI think the parent was referring to the fact that e.g Java really needs an IDE, so one can generate all the boilerplate. In Haskell, I can e.g create a new type (with equality, hashing etc) in one line. Of course, a capable IDE would be extremely useful for Haskell and there are efforts to build such a thing with refactoring and navigation/search tools, but the language isn't unusable without one.
- heresie-dabord 5y agoYes, this is what is meant by the expression, "IDE Smell". 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.