4 ms·
Emacs is about muscle memory -- after a while, it just flows.
by espeed 15y ago
Emacs is about muscle memory -- after a while, it just flows.
- rdtsc 15y agoYes. If you stop to think about what the key-binding is for the command, you are not using emacs efficiently. Interestingly I would not even be able now to teach someone what the commands are without having an editor open, as I don't really remember them, only my fingers remember the sequence. It is like my brain has built a macro for the command and sent the actual code to the fingers, so I don't have to think about it.
- kamaal 15y agoHow is this any different, like using any tool used by any profession by a professional frequently. Programmers, Musicians, Carpenters, Chef's, Drivers and almost everyone in those lines use their tools frequently enough such that their usage is committed to muscle memory and not the usual think-act-think cycle. That's also because most problems are matched to solution patterns. You might have seen this while working with the programming language you have mastered. If there is syntax error, you generally don't read the entire error message. You just ideally read the template and the 'fill-ups' in the template and the line number. You go straight without bothering much and fix it. Same with an editor. There are some things that you do so frequently, its actually better and efficient if the editor enables muscle-memory use cases than Apple product's kinda UI design. Its precisely this 'problems matched to solution patterns' thing that will some day enable us to do drag and drop programming. There will ready templates for each problem each of which will match a solution pattern. We will just parameterize the templates. To an extent this is already there auto-complete, macros, template driven programming etc. But in future we may see full scale stuff like this.
- rdtsc 15y ago> How is this any different, like using any tool used by any profession by a professional frequently. It is not. However since it is an editor, it can be a tool used by a number of professions -- a writer or a programmer. What it improves is text editing capabilities. How does it improve them? It help you keep your hands on the home row. Not saying that vi doesn't do that, it does too. So they can both work. One can argue perhaps that emacs' key combinations are harder to memorize but eventually they are easier encoded into muscle memory. > To an extent this is already there auto-complete, macros, template driven programming etc. But in future we may see full scale stuff like this. Interesting point. I think there is a larger discussion point in there. In general that hasn't happened and wizards, macros and templates still haven't replaced programmers. Business, non-programmer, programming languages, built from drag-and-drop components have been dreamed about since COBOL. And it is funny, but it still hasn't happened. The idea was that instead of hiring programmers, managers would just encode business rules in an easy language or environment and bam! mix in some AI and they are done.
- kamaal 15y agoNot exactly. If all the user wants is a editor. Which generally acts as a cache for temporary text a general user wants to use somewhere else. There is always notepad or wordpad. There is also a word processor called Microsoft Word. Which generally does more than sufficient job. There are sufficient enough alternatives. Emacs can't become notepad just to become usable to general users. Emacs's design case is for programmers who need to do a lot text lifting, execute repeated patterns of complex text editing. Keeping all this in mind Emacs is designed, to facilitate use of macros and alikes. There are also key bindings to enable short cuts to do that sort of automation quickly. Also there is a huge repository of what the community considers 'common pattern of solutions' to most problems developers face while editing code. Emacs is mean't to provide large gains in productivity while coding for long hours. Notepad is designed for a few minutes of use by a user. Vim is optimized on similar line of Emacs, but in a different usability case, which is also awesome and serves some users pretty well. Also we already have drag and drop programming to a very large extent these days. Most people working on SAP, and package based solution don't see code in years. But they actually do a lot of programming. In most mega corporations there are business units, where there are consultants, who do a lot of domain logic coding by mere button clicks on GUI. You will surprised how many large number of people are actually with that sort of a thing these days. Not to mention armies of Java programmers. If auto complete weren't to be there how many Python and Java programmers and their supply in the industry will actually scale? Given the verbosity and configuration hell I doubt even half of that would be possible. Even the mere existence of those programmers is dependent on the existence of eclipse. Remove away eclipse today, and you will see the supply of Java programmers will fall by 90%. Even those 10% available programmers will suffer a massive decline in productivity. We are already in the drag and drop era. We are just not realizing it. Since we are doing it in different ways.
- crucini 15y agoWould you really group Python in with Java? I find it reasonably compact. True, there is an unfortunate tendency to drag java-style thinking into Python. I write python with vim; so do most of my co-workers. (But then I also write Java with vim (when I have to write Java))
- holri 15y agoEmacs is like piano playing, you are typing unconscious. Image playing a piano with a GUI and mouse! Unthinkable.
- abhiyerra 15y agoThe problem arises when you start making custom commands to common things. That makes it much more difficult to move to someone else's emacs instance.
- rdtsc 15y agoGood point. I have started to really prune down my .emacs simply because I had problems moving from one machine to another.
- kabdib 15y agoI swear, after 30 years my connection to Emacs is telepathic. I don't even think about it. I'm only lost in Notepad (... or Vim :) ).
- mahyarm 15y agoEmacs hotkeys are set for 1970s hotkey conventions, not todays common hotkey conventions. Several hotkey conventions, such as C-c, C-p, M-(left arrow), etc is wide spread amongst all other software packages except emacs and Vim to an extent.