I think vscode is very popular because it’s free, cross platform, and is improving at an insane pace. It’s the #1 most active project on github right now, if I remember right. That might be terrible except the project is extremely well managed and the improvements are actually improvements.
I too was very skeptical at first, but I used it for a terraform project and now it’s my go to editor for anything I’m not doing in VS.
anyone who is using Xcode is using it because it’s necessary for whatever they’re making. you can’t make macOS or iOS apps without touching that toolchain, and if you work with that toolchain through the CLI instead of through the GUI, you’re going to encounter the same bugs in even less scrutable forms.
emacs and vim poked my aspergers in a not-fun, unproductive way. i used TextMate from like 2008-2011, then switched to Sublime Text from 2011-2017, then switched to VSCode. i experimented with atom and it’s a nice editor but its input lag bothered me. (check out the benchmarks online – it’s pretty bad, adding around 200ms last i checked.)
in terms of light(er)weight editors that aren’t emacs or vim, vscode is really the jam. sane defaults, extremely customizable, great plugin ecosystem, etc. i’m not a web guy so i’ll take busted’s word that sublime still rules at that.
I mean a ton of apps these days are all electron based, it sucks that there isn’t yet a more native way of integrating “browser GUI framework” other than on mobile platforms because you can see why it’s appealing to people who are already doing all of their GUI logic in js/CSS, but if I look at tweeten, spotify, slack, signal, and mailspring that I’m also already running, atom is hardly unique, it’s just that a pure js GUI is a particularly bad choice for something that’s constantly evaluating and formatting text input
the sublime maintainer, bless them, doesn’t actually use any GUI middleware, they maintain a from-scratch cross-platform app singlehandedly
slack is particularly egregious, it’s like impossible for it to not use 2GB of swap after being open for an hour
which puts it firmly into the top contender list for the “go and fxxx off” category for software, if you ask me. And i’ve used ffox + tabmix plus for years, with up to 70ish open tabs at once yet topping 1.2ish GB of ram at best.
tl;dr embedded programming would probably feel like torture-camp for its devs, huh.
I’m not a free memory diehard nor do I get upset about looking and seeing the swap being used in the first place as though it’s a non-renewable resource and I know it’ll gladly release the memory if it needs to but like … even within that, most Linux desktops’ swappiness isn’t well-tuned out of the box to apps that will gladly use as much memory as they can until they’re told to stop. but most of these concerns don’t really register unless you’re trying to apply low-level UX to Linux desktops, which no one is
granted, even in my phenom 965 quad i had more than enough RAM with 4GB…
As a programmer myself, that figure is just unacceptable™ - or rather like, just feels unehtical to waste resources like that for no valid reason*.
I used the slack app a few times, and didn’t really notice since i tended to close it after checking a few channels, so it’s not like i was a victim of the OoM going berserk… but still… just… no.
*: of course, the devs - benefit of doubt! - must have a reason why they are using that kind of amount of memory. Again, i am a programmer and know how ugly and dreary it gets to valgrind a puny application to find out why it sloooooowly starts eating up byte after byte, until it starts to hog a few KB after a long weekend chomping away at it, so i want to be the last to go to war here - but, jesus christ and stallman, gigs?!
May the OoM have mercy with our souls if that trend continues....
I think it just runs a fresh chromium electron instance per slack you’re connected to, and those will tend to get up to ~300M trivially with any electron app if you aren’t actively concerned about memory management, so if you’re in five different slacks (which the app is designed to let you do)…