4 ms·
I am being pushed to use vs code right now by my team, but we already have a fully programmable and scriptable editor called emacs that is 100000x better. I don
by anon291 1mo ago
I am being pushed to use vs code right now by my team, but we already have a fully programmable and scriptable editor called emacs that is 100000x better. I don't understand why everyone just switches to these random tools. Text editing is a solved problem. Most of the supposed advantages of these tools is just a configuration of vim or emacs.
- xedrac 1mo agoI use emacs daily (with vim keybindings of course), but I completely understand why vscode is so popular. It's extremely easy to get started with, has features galore, and sane defaults. Emacs takes much more effort to get productive with, although this is improving with each release.
- cosmic_cheese 1mo agoIn general, I find that good defaults are rather undervalued and downplayed in the FOSS world. Configurability is great but without good defaults it can also be a liability. Would-be users will bounce off long before they like the software enough to pore through pages of options.
- Mashimo 1mo agoYou speak from my heart. How many years did it take Debian to activate syntax highlighting for nano? Is the bash history still very short? So many low hanging fruits. Same with no screenshots on github projects (For GUI projects)
- kodoman 1mo agoThe terribleness of emacs defaults is over done. I still use p n postfix key combinations to go to previous and next and f b postfix for forwards and backwards, it's just what you get used to, C-w to c-y to kill and yank are also fine and it's not that much to ask the user to change things if they don't like them. Not to mention all the emacs distros that now exist for people who do want a very different configuration. I maintain that default emacs is fine though and if the user wishes to get really in tune with emacs, emacs is one of the most pleasant environments to learn thanks to help pages and how flexible elisp is to evaluate and poke and prod around with and how easy it is to debug. I think most modern editors will try and introduce mutlithreading and other features that emacs did not do due to it's age and is better for it as it means elisp code just works together and less worry about synchronization and other bits that would exist with more modern ways of approaching the problem (not saying the approach it's self is bad, but for an editor emacs and the decisions around it are largely very good and surprisingly so)
- anon291 1mo agoExactly, this my point. If you want to make a great editor, the proper thing to do is start from a good base. Start from emacs and make something like doom emacs or spacemacs, etc. Or start from vim or whatever. Text editing at speed is a solved problem. It's just 'not-invented-here' syndrome. I admit that base emacs may not be everyone's cup of tea... that's fine. Just download one of the many pre-configurations.
- iso1631 1mo agoDefaults really shouldn't change. Each time I upgrade my OS, I get a new version of vim, and have to add more Until about 2022 this was fine, then they introduced things like shifting the scrolling window, breaking mouse support, I think changing search to highlight text etc. That's fine, but that means everytime I run it on any machine I have to now deploy a vimrc to fix it. (I think I noticed the regressions starting in vim 8)
- nxc18 1mo agoIf you work on web tech (and who doesn’t these days?) VS Code has the advantage of using the same tech stack you’re already familiar with. If you need to debug a problem, just open devtools. If you want to run a performance profile, do the same. If you want to fix a bug in the extension you’re using, just open a PR and fix it. It is a very flexible system and still quite fast and easy to configure. I’ve been trying Zed and WebStorm looking for better alternatives, but it turns out they have their own problems. Zed isn’t nearly as configurable, WebStorm’s config system is an absolute nightmare (xml for days - and constantly changing, mingling actual config with transient state). People complain that VS Code is slow; perhaps on some metrics and perhaps it is slower than a much less featured system like sublime. But I don’t think it is meaningfully slower in practice than Zed, and they make a lot of compromises to get that edge.
- jotato 1mo agoI’m trying to phrase this to not be “that guy” but have you used Code on large code bases? Vscode on my m2 Mac routinely crashed when doing file search. That is why I switched to zed. I do miss the configurablity though
- nxc18 1mo agoWhat counts as large? There can be some perf issues if you don’t exclude node_modules and build outputs from search, but I’ve never seen it crash.
- jotato 1mo agoIt was a mono repo with 30+ projects Most were react apps. I’m going to guess at least 5000 files in the repo. And yes, node_modules was excluded.
- nxc18 1mo agoI’m sorry you had a bad experience. The monorepo I work in has 2-5x as large (depending on how you count) and I don’t see crashes or major performance issues. Even when bloated with plugins (testing, GitHub PRs, formatters, copilot, vim emulation, codelens turned on, etc). And I have an older presumably slower Mac. I wonder what the difference is.
- muppetman 1mo agoThat’s easy. Because if they accept that emacs is good enough, they have to then accept that probably whatever thing they’re building is almost certainly worthless. 26 different browsers all based on Chromium, 127 different “observability platforms” etc. So so much redundant rehashed stuff. We can’t accept that though, THIS TIME it’s going to be great and amazing and we’ll get a huge investment and sold to a huge company for millions. I’m not suggesting that it hasn’t been a huge leap in computing and software in the last 40 years. But we need to have faith in new being better to keep going. That’s why the new hotness is always so popular.
- 01100011 1mo ago90% of software is just new people not learning from the past and making/using some new thing. Get off my lawn.
- kstenerud 1mo agoBecause very few people actually care about the things that emacs has to offer. Tools like VS Code do the job well enough for the majority of people, with just enough configurability and much greater ease-of-use. Emacs has a similar problem to Lisp: Infinite configurability and expandability (plus the lack of a "blessed set" standard that people actually like enough to use out-of-the-box) means that everyone's environment and tooling ends up becoming incompatible with each other.
- __patchbit__ 1mo agoEmacs and AI go hand in glove.
- kodoman 1mo agowork amazingly well, almost perfect. I have not see anything come close to what you can do with emacs and the easy to which ai can be integrated and slotted into emacs.
- iLemming 1mo agoBecause Emacs is not a text editor, it's rather a text orchestrator. And Emacs Lisp is specifically text-oriented, unlike most other Lisps that are data-oriented. It fits incredibly well for LLM-flows. I'm surprised how it remains enormously flexible even though my workflows change every day. The way how I used LLMs last year vastly differs from a few months ago and totally unlike of today, yet bending Emacs never hits the ceiling. If I had a way to send a message to my younger self, it would've been: "drop whatever you're doing, start grokking Linux, learn Emacs, and maybe Vim...". I never had any regrets about my career choices of the past, yet "fuck Microsoft!" I spent years digging dotnet, sqlserver, etc. I invested heavily into WPF and Silverlight, I believed their propaganda. I don't feel even a half-pint of value from the experiences I gained, it all turned out to be useless crap - none of it squeezed even a drop for becoming a hacker out of me. Learning FP, Lisp and Emacs brought me closer to that goal.
- anon291 1mo agoIt's just easy to install on Windows. Base emacs does exactly what you want it to do. And my emacs v vscode comparison was specifically because of infinite configurability and expandability. VSCode has the same thing with its myriad javascript extensions.
- zelphirkalt 1mo agoThey jump to such tools, because they are not that invested in making and having the optimal tool for their job, and don't want to spend time setting things up. Especially, not in their own time, if they even do any projects in their own time at all. Lots and lots of people in IT are not that dedicated or passionate about the work.
- Mashimo 1mo agoAlso another reason for having a single tool for a whole team: I can go to my coworkers desk for pair programming and have the same setup. I know the shortcuts, everyone has the same "run configurations" (start app, remote debug etc.), starting gradle tasks from UI, git comment style.
- NetMageSCW 1mo agoCounterpoint: when you go to a coworker’s desk you shouldn’t be touching the keyboard or the mouse otherwise they are just watching you do their work. You should have them come to your desk if you want to be the one running the show. Everyone can have their own environment and they translate what you say to their own methods and it helps them learn. This isn’t an episode of NCIS.
- Mashimo 1mo agoIf they ask me for help, why should I not give a quick example? On some hard tasks we sometimes switch to codes. Must be a cultural thing, I never heard about not touching a coworkers keyboard when working together.
- eviks 1mo ago> just a configuration of vim or emacs. So which one?
- anon291 1mo agoWhichever you want. There's a million text editors today because people have different approaches. I'm not criticizing having different approaches. I'm criticizing people who start writing their own text editor instead of just building off of established platforms.
- eviks 1mo agoYou're just avoding the same question - why not build off the established platforM - which one, though? Why not VSCode, which is also an established platform?
- 1718627440 1mo agoI always wanted to learn emacs, but I never do, because while I don't know it using it doesn't pay off. I did the tutorial at some point (I mean great that it exists) and now I can move around and close the editor, but that's the same I can do in nano, so I keep using nano.
- NetMageSCW 1mo agoThat’s how you start with emacs but as you need to do more complex actions emacs will be able to support you so your skills will grow if you keep using it.
- 1718627440 1mo agoYeah, but before I am proficient in the more elaborate stuff, there is no reason to use emacs, so I never do it. And there is no tutorial for this.
- not-so-darkstar 1mo ago>Text editing is a solved problem. I have this sentence so much. Ken Thompson wrote UNIX using a line-editor (QED), judging by his work does it mean text editing was already solved in the 60s?
- anon291 1mo agoThe interface of text editors has not substantially changed since the time of interactive editors like VIM and emacs. Line editing is an entirely different paradigm. If you are actually going to change the paradigm with which we edit text away from the grid of characters and cursor approach, then by all means, go ahead and write your own. But if you're just making yet another text input pane, then vim and emacs have that problem solved.
- not-so-darkstar 1mo agoYou are talking about vim AND emacs but they have completely different approaches, I wouldn't call that solved? If instead of general text editing we talk about specialized editors (for example emacs for lisp or powerful IDES) they're gonna beat vim or emacs any day (vim is never going to be better than emacs at writing lisp).
- iLemming 1mo ago> Text editing is a solved problem Text manipulation isn't just about creating content - it's also about how you consume and interact with it. Just because text appears in a different app, with a different format, or different fonts and colors doesn't mean your editor shouldn't be easily grab it. While typing text in my editor, I can: - Read the list of urls on a webpage in my browser - Check if any links lead to HN discussions - Search for text on a page, switch tabs, or list urls of open tabs - Search across all open tabs for a pattern - Control YT vids - rewind, change speed, pause, mute, transcript, etc. - handy when watching and taking notes. I can capture any area of my screen and have the text OCR'd directly into a buffer. Even grabbing a code snippet from a Slack thread only takes a single keystroke. None of these apps have "compatibility layer" or RPCs or designed to talk-to-one-another. The only shared property they have is text. Vendors are designed to keep your text a hostage, that's why whatever text-editing system you choose, it should have means for reaching out and extracting text from anything you want. And that is not a "solved problem", not for everyone.