From: Chad Perrin Date: 2011-06-02T01:39:07+09:00 Subject: Re: What editor or IDE do you use? --KsGdsel6WgEHnImy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable (In the following, I will use "vi" to refer to vi-like editors in general, including Vim. I will also use "Emacs" to refer to EMACS-like editors, including GNU Emacs.) Interesting . . . right away, when the question was first asked, several vi users responded. A day later, I find that several Emacs users finally responded as well. I can only surmise that the vi users responded more quickly because vi helps people get things done more quickly. No, no, I'm kidding. It was probably actually a result of Emacs' slow startup time. No, wait, I'm kidding about that too. The truth of the matter is that both of these editors have some serious learning curves associated with them. See the image illustrating those learning curves on this page: Vim for New Users http://sob.apotheon.org/?p=3D981 In terms of what they provide to the person who scales that learning curve, becoming an adept user of either one of these editors, the return on investment is incredible. Each has its advantages over the other, of course, and which you will prefer is a matter of preference more than anything else, it seems -- though of course we (heavy vi and Emacs users) are probably all afflicted by the sincere belief that one of them is objectively superior to the other. It is taking a powerful act of will to avoid turning this email into a platform for extolling the virtues of the vi way of doing things. I really do not want to be accused of starting a flamewar with a partisan attack in this email. Ultimately, however, my thought is that if you are already comfortable with either vi or Emacs, you should use it anywhere that it is at all reasonable to do so. While other editors may provide some handy features that make them particularly useful in certain contexts, such as Redcar[0] for Ruby development, those features' payoff is limited -- and it goes away the moment you start working on a different task. Meanwhile: * The payoff for using the vi or Emacs way of doing things applies in almost every single situation where entering or altering text is the task at hand. * The benefits of these editors are not limited to context-specific features like those of Visual Studio[0] (or whatever); they grow endlessly over time, as you learn more about how to use them, tweak them to suit your personal preferences, and acquire the knack of applying them effectively in more situations. * They are *everywhere*, while other choices like TextMate[1] are generally much more platform-dependent. * They aren't going anywhere. As long-established staples of open source software culture used by more people than almost any other piece of open source software, their durability in the face of developers and vendors getting hit by buses, going out of business, suffering crippling RSI that prevents them from coding[2], or just getting bored with them and ceasing to perform needed maintenance on them is nearly unmatched in the world of software development. The same cannot be said of UltraEdit's[1] futureproofing. Ultimately, there probably isn't much reason to switch editors if you are already comfortable, and gaining increasing proficiency, with vi or Emacs. If you have never used either, though, and do a lot of coding, you should probably give each of them enough of a try to get past the point where you feel completely helpless, then pick the one whose "philosophy" best suits your taste and stick with it long enough to start feeling its benefits. At that point, give it up if you don't like it, but if you do a lot of coding (especially in high-level dynamic languages like Ruby) you will probably get to love one of these editors -- especially if you spend a lot of time in a Unix-like environment. ## NOTES: [0]: The editor or IDE mentioned in this case is basically just a placeholder for "pretty much every editor in the world that is not vi-like or Emacs-like". [1]: The editor or IDE mentioned in this case is a basically just a placeholder for a sizable subset of the applications from note [0]. TextMate users in particular should not take it personally; I'm sure it is a wonderful editor, despite its platform snobbery. [2]: I hear this happened to Richard Stallman, famous for his involvement in the early development of the original EMACS and for his ongoing maintenance of GNU Emacs (when he wasn't suffering crippling RSI). --=20 Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ] PS: I should probably polish this lengthy ramble into an article for TechRepublic at some point. --KsGdsel6WgEHnImy Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (FreeBSD) iEYEARECAAYFAk3mZ8AACgkQ9mn/Pj01uKXmiQCg0wznEIkBji2mVYB0hPDpDMqp ihYAn167Cv5RCIYnUrWT4Imne23rf40Q =4Bka -----END PGP SIGNATURE----- --KsGdsel6WgEHnImy--