Actually Swing is dead end in my perspective, no matter how much JetBrain tries to improve it(forget about Oracle, they don't even care about Swing), it sucks, in so many dimension. Even after investing so much money and time, they could have much better UX with other options.
I had my eye in standalone version of Eclipse Che. But VSCode with Java support is actually is so great. Smooth UI with minimum latency.
I disagree. I really like it. It compares pretty well to most GUI libraries IMHO.
Netbeans runs very nicely in Swing and it bundles the Matisse GUI builder which makes GUIs in Swing a breeze. I've also code plenty of Swing apps from first principles and found it nice to use.
Obviously, I don't get all the Swing hate (and before you ask, I have used a tonne of other GUI libraries in the past)
Is this trade-off worthy? You gain performance but you are sacrificing huge amount of features. And once you add those features performance will always suffer.
It's complete crap honestly, I've tried many time to wrangle that thing. It bombs out with any reasonably sized code base. After only a couple hundred files or so, it locks up Visual Code.
"support" in VSC is kind of a multi-tiered thing: you can have basic support with just syntax highlighting, or if you can hook it up to a server providing the appropriate language intelligence, then you can have refactoring/debugging/etc. VSC had Java syntax highlighting before, and a plugin that helped shell out to javac, but that was about it. Now it's getting the full package.
Would love to see a vim plugin that can function as a client for the server component. eclim works well but it would be great to have an alternative, or a company like redhat to help out with that effort.
Check out how neovim works with the various backends. F# has the FSAC (F# Auto Completion) that calls to a running mono process for auto-completion, syntastic/type checking, etc. It's also how the Ionide plugin for VSCode works. Really awesome work.
I do not want to crap on either RH or MS devs and the volunteers around surronding projects, but I really like the idea of building backends you can plug into various editors of your own choosing.
- Java and emacs/vi: eclim
- .Net and whatever: OmniSharp
- Haskell and whatever: scion
These are all so-so examples. But I wish we would move more towards this notion of abstracting backends out.
I am one of those jackasses who loves emacs. And I should be able to impose that on myself AND only myself. I think we are reaching a point where tool lock-in a la Visual Studio and even in the open source space with projects like neovim-spacevim and spacemacs shows we are not cool with it.
So is it possible for me to run this JS backend for Java parsing and replace eclim? Haha.
The backend that provides the language services for VSC is an HTTP server contacted over localhost, and the protocol is documented here: https://github.com/Microsoft/language-server-protocol. Sounds like it should be easy or at least possible to hook it up to a frontend of your choice.
Yes, Language Services and the language server protocol is literally exactly what you're asking for...
For example RLS (Rust Language Service) is being implemented to conform to this protocol in the hope that the same engine can be used by all IDEs/editors.
Right. IDEs and editors appear, get their hype, some stale, others get forgotten, people get attached and then whine for years about shortcomings and weak support for certain languages and complain about lack of specific features. Or fell into Stockholm syndrome without slightest realization of how miserable and inefficient their workflow has become.
Who remembers Borland C++ Builder? who uses Komodo or TextMate today? And now check the number of projects on Github written in Emacs Lisp.
No matter how popular those shiny, fast and noisy F1 supercars would be - there always will be plenty of enthusiasts who'd rather choose Nascar, with its simplicity, openness and customizability.
No IDE or editor would ever get even close to the power of Emacs. And the power of Emacs lies within its extensibility. I am not worried about other editors or IDEs getting better, faster or shinier. Because Emacs already can do same things better, or will be doing them better someday soon.
I coded in emacs for 20+ years and switched to clion last year for c++ work because of things like "good autocompletion" and "refactoring" and "warning about issues before compiling". Emacs has minimal autocompletion facilities, but for ideological reasons it does not and may never have many of the other features.
I still use emacs for non-coding text editing, and sometimes for python code and emergencies, but I've moved away from it big time.
p.s. please fix your formatting, that quote is unreadable.
31 comments
[ 5.4 ms ] story [ 89.6 ms ] threadI had my eye in standalone version of Eclipse Che. But VSCode with Java support is actually is so great. Smooth UI with minimum latency.
Can't find the source. sorry.
Netbeans runs very nicely in Swing and it bundles the Matisse GUI builder which makes GUIs in Swing a breeze. I've also code plenty of Swing apps from first principles and found it nice to use.
Obviously, I don't get all the Swing hate (and before you ask, I have used a tonne of other GUI libraries in the past)
[1]https://marketplace.visualstudio.com/items?itemName=lukasz-w...
- Java and emacs/vi: eclim - .Net and whatever: OmniSharp - Haskell and whatever: scion
These are all so-so examples. But I wish we would move more towards this notion of abstracting backends out.
I am one of those jackasses who loves emacs. And I should be able to impose that on myself AND only myself. I think we are reaching a point where tool lock-in a la Visual Studio and even in the open source space with projects like neovim-spacevim and spacemacs shows we are not cool with it.
So is it possible for me to run this JS backend for Java parsing and replace eclim? Haha.
For example RLS (Rust Language Service) is being implemented to conform to this protocol in the hope that the same engine can be used by all IDEs/editors.
I still use emacs for non-coding text editing, and sometimes for python code and emergencies, but I've moved away from it big time.
p.s. please fix your formatting, that quote is unreadable.