5 ms·
Ken Thompson, Brian Kernighan, Bjarne Stroustrup, and Rob Pike used[1] sam. Linus Torvalds used a variant of MicroEmacs that is non-extensible and has non-sta
by nequo 3y ago
Ken Thompson, Brian Kernighan, Bjarne Stroustrup, and Rob Pike used[1] sam.
Linus Torvalds used a variant of MicroEmacs that is non-extensible and has non-standard keybindings.
Bryan Cantrill used Vim without syntax highlighting.
What this tells me is that what matters is what you write and whether you finish it, not what you write it in.
[1] Past tense because things might have changed.
- robenkleene 3y agoMy own interpretation here would be most of those programmers wrote a lot of code from scratch, without a ton of library support. When I think of most of the innovations that came later to text editors, I mainly think of features that make it easier to leverage massive amounts of code written by other people in a collaborative environment. E.g., linters, LSP, autocomplete, version control integration. Also, perhaps unintuitively, I'd also put window management in that category which is for me the most important text editor feature. I.e., reading and understanding code written by other programmers spread across many files is the most difficult part of my job, therefore window management is the most important feature. I might even put debugger integration in this category, something I always reach for the debugger for is answering "what is calling this function and with which arguments?" Just about the only feature I can think of that's not in `ed` and that's not most helpful for collaboration and using libraries is syntax highlighting.
- nequo 3y agoThose are fair points. What window management features are the most important to you on your job?
- robenkleene 3y agoI like the way Emacs/Vim handle window management which work the same in the ways that matter to me: - Tabs contain splits (as opposed to splits containing tabs like VS Code). This is important because you can "save your place" with several related places in files and be able to perform a complex subtask in a new tab, and then return to where you were in the original tab - A split can contain any file, or a directory listing (more details in on this http://vimcasts.org/blog/2013/01/oil-and-vinegar-split-windows-and-project-drawer/ http://vimcasts.org/blog/2013/01/oil-and-vinegar-split-windo...). This makes it easy and intuitive to precisely place a file in a specific split, and it also makes it easy to "jump to definition" within a split without opening a new tab/split, which is disruptive.
- karthink 3y ago> Tabs contain splits (as opposed to splits containing tabs like VS Code). Emacs allows for both (tab-bar-mode vs tab-line-mode).
- bcantrill 3y agoConsidering the code I have up in the next i3 workspace right now, I think it's safe to use the present tense for me with respect to vim -- and with respect to not using syntax highlighting.