3 ms·
Well vscode is vscode, vim is vim. Don't get me wrong, I use vim a lot and I tend to use macros as a rudimentary text automation language. And I use it all the
by kamaal 3y ago
Well vscode is vscode, vim is vim. Don't get me wrong, I use vim a lot and I tend to use macros as a rudimentary text automation language. And I use it all the time on servers, because its universally installed. Mixing these things is pointless because you are fighting both and getting nowhere.
Learning vim definitely has its use.
But both vim and emacs have lost the code tooling wars long back. You can configure emacs and vim to to anything. And that is not a win vim/emacs users think it is. Nearly all the programmers out there don't want to spend time on sub projects, just to bring their tools to bare minimal working standards modern tooling provides out of the box. vscode just works, it works out of the box, for 99% of the use cases out there and it works phenomenally well.
Plus the whole idea of being able to write out code faster, or navigate faster made sense in UI paradigms of the old, where there were no windows, and a overall better UI experience. These days coding and navigation speed aren't even in the ballpark of factors that slow me down as a programmer.
And yeah, Org mode. Unfortunately Google docs do way more, and you don't have to remember dozens of commands to just make simple tables, add dates and bullet points.
In many ways Richard Stallman had an idea that emacs should have really had a WYSIWYG facilities. But Google Docs go even one step further as everything is saved on a cloud and you don't really have to worry about losing anything at all.
Emacs on the other hand is a great time pass hacking tool, if you are bored or just want to work on something cool.
- iLemming 3y ago> it works phenomenally well. I honestly can't deny or approve this message because I haven't yet used VSCode extensively. But I have used many "phenomenally good" tools in the past. Borland stuff in the 90s was fantastic, MS Visual Studio in 2010s had some awesome features, IntelliJ IDEs today are amazing. Over the years I've developed a distaste for proprietary products. Not because of money, it's rarely an issue. I happily paid for using IntelliJ products, even though I don't use them anymore, I still believe that they were worth every penny. Perhaps it's debatable but the price for using Photoshop maybe is fair. Photoshop is a truly exceptional tool in its own category. I don't know any other tool that comes close, proprietary or open-source. Photoshop is the most creative graphics tool. But that's my opinion of an occasional, amateur graphics designer. The reason for my distaste for proprietary tools for professional programmers is the lack of freedom to tweak, the right to repair, whatever you call it. I firmly believe that programmers should be able to program their tools. Again, maybe VSCode already is as darn hackable as many people claim it to be. From my limited experience, I got the feeling that today it lacks some extensibility capabilities I'd like to see. But it's evolving fast, the pace of its development is quite impressive. Maybe in a few years, it could truly be crowned as the most hackable devs tool that outshines even Emacs. For me, Emacs is like Photoshop for programmers. It's the most hackable software product that you can tweak to perform any kind of crazy shit. But again, that is my opinion and a lot of people maybe would disagree. Maybe Google Docs gives you the satisfaction and feeling that it lets you do more, not for me. - Google Docs doesn't have vim navigation and I need that in my editor. Trying to convince me otherwise is like punishing a child for being born left-handed. - Google Docs cannot handle my pdf annotations, I can't read a book while simultaneously taking notes. I mean I can, by having them in separate apps, but I won't be able to jump to the page from my notes and vice-versa. I can do that in Org-mode. - In Google Docs I can't have code snippets that perform computations. I can't send a http request, then get the results and feed them to some Python, process that data through Clojure and spit out a diagram in .png. I can do this in a single org-mode document. - I can't keep my Google Docs Zettelkasten-style, similar to Roamresearch, Obsidian or Loqseq. I can do that in Org-mode. - I can still use Google Docs and link them from my Org-mode documents, I can't do the opposite. - While typing in Emacs, I can automatically correct my previously mistyped word by tapping the comma twice. I don't think anything like this even remotely possible in Google Docs. - I can fetch a definition, list of synonyms, etymology, translation of any word with a single, simple keystroke while I'm writing text in Emacs. I don't know how to do that in Google Docs. - I can select a region of text and feed it to ChatGPT, asking it to fix mistakes, rephrase, simplify, etc. In place. No copying, switching, pasting. I simply select, press a few keys - voila. It even shows me the diff of what's changed. - I can't encrypt my documents with my GPG key in Google Docs. I can't store my docs in a git repo. Even though Docs provide a great way of restoring and tracking history, I don't think it's grepable. Org-mode and Emacs manage my documents in git with git-auto-commit-mode, without my supervision. - I can't easily export my Google Docs to Anki. My anki cards are stored within my notes - they are not separate entities that I have to manage in a different app. - Google Docs can't manage my dotfiles. All my config files for zsh, bash, command-line tools, package-managers, etc., all kept in a single Org-mode document. Literate programming allows me maintain my dotfiles in a very convenient fashion. Whenever I need to bootstrap a new machine, I only need to install Emacs, fetch my dotfile.org, and "tangle" the files - it creates all of them with their proper permissions, taking care of differences between systems - some parts are only relevant in Linux and not Mac. - Google Docs doesn't understand specific type of tokens. For example, when I type RFC-1035, I can immediately browse it in the opposite window. Emacs automatically knows that it's a document 'Domain names - implementation and specification'. In Google Docs, I have to store a direct link. Similarly, if I have a piece of text that looks like mikjagger/sweetthing#144 - Emacs automatically knows that it's a PR/Issue for some repo on GitHub. I can browse it without even opening the browser. You'd think that doesn't happen a lot, I do that almost every day when talking to my colleagues. Well, someone who knows Google Docs really well, maybe they'd say something like: "for 1, 2 and 3 there's an extension you can use, other things are just useless shit, nobody cares about it", and they'd be missing my point. The proprietary tools may be truly great for most people who might be content with their tools. But most people don't know what makes me happy. Feeling in control does it for me. When tiny things like being able to call any external tool and make Emacs do the bidding for me, is extremely liberating, empowering, and delightful. I never have to feel like "ah, everything I wanted is here, and if not, then I have to want less". > Google docs do way more It's an illusion you want to believe. I believe a different one - that whatever I want, I can make Emacs do for me.
- xk_id 3y ago> Nearly all the programmers out there Ah yes. Those very precious programmers, who can’t be expected to configure a non-proprietary tool, because they are too busy making another dopaminergic app at their corporate job. The medium is the message, I guess.
- kamaal 3y agoTwo options- 1. Solve the problem using a tool. 2. Solve problems that a tool has. It should not be a surprise people pick 1.
- iLemming 3y agoEvery single tool has problems. There's no application that has no bugs, no limitations. There's nothing wrong with wanting to use specialized tools to perform specific tasks and most people choose to do that. The main point you're missing is that at some point in your career, inevitably, you'll collect so many tools in your toolbelt that you might become overwhelmed. There are tools for debugging, searching, formatting, converting, documentation, device control, synchronization, networking, databasing, containerization, security, etc. Most tools operate with data. And most of the time that data doesn't stay in the context of the same tool - you have to pass it somewhere else. The common approach of unexperienced devs is to become "a copy-n-paste programmer". No, not someone who grabs the code from StackOverflow. I don't know if SO has much value in 2024, I stopped using it a source of valuable knowledge long ago, I do occasionally find clues there, rarely complete answers, perhaps the complexity of my questions has changed, but I'm going off the rails here... So, anyway, at some point you'd become more efficient in enabling tools to exchange data. Experienced Vimmers use terminal tools with piping, etc. Some of them develop really neat and powerful mini-automation workflows. Emacs is another amalgamating medium that can be used for the same purpose. People with shallow understanding of Emacs often get grumpy for Emacsers wanting to do "everything in Emacs". Matter of fact, it's not about doing everything in Emacs, but rather doing everything _through_ Emacs. And that can be quite effective too. So tell me, why is it so difficult for you to accept that Emacs is just another tool, not a replacement for some other specialized single-purpose tool, and that it is quite good at what it does - that is to work as a "glue" to orchestrate many other tools? Maybe VSCode is truly better in that aspect than Emacs. I don't know. I have yet to find out. So far, people have been claiming that it just works better as a code editor in specific languages, but I haven't heard it being used as a "tactical unionizer" that can talk to many other tools in a way that Emacs does.