help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Beginning Hobbyist Programmer Question


From: Bob McCormick
Subject: Re: Beginning Hobbyist Programmer Question
Date: Tue, 22 Jan 2008 23:02:57 -0700

First, you should realize that the single most important tool for a programmer, is a good text editor.  The majority of the time you'll spend programming is comprised of two activities:  thinking, and text editing.  Anything you can do to make either of those activities more productive and more comfortable is a big win.   I see that someone else has already linked to Steve Yegge's article on Effective Emacs.   I highly recommend reading it to get an idea of what a productive text editing environment can do for you.  Another similar article advocating the "other" major editor (VIM) is The Seven Habit of Effective Text Editing ( http://www.moolenaar.net/habits.html).   The book "The Pragmatic Programmer", which I highly recommend, also has a section of the importance of having a good text editor and learning it well.

Those are all reasons to pick *a* powerful text editor, but why Emacs in particular? I'm sure there are a wide variety of reasons people use a particular editor or IDE, some may apply to you, some may not.   I certainly can't tell you what editor is right for you, nor can I (or anyone else) give you a comprehensive list of *every* reason you might use one editor or another.    However, I can tell you why *I've* recently switched to emacs, and you're certainly free to evaluate whether those reasons are relevant to you.

For me, the reasons I've picked Emacs as my editor are:
* Available on almost every system.
I don't want to be locked into just one platform (that eliminates TextMate for me)
* Has modes for almost every language and file format
That's important for me, because I'm a dabbler.  Emacs generally has support for even the most obscure little programming language.
* It's highly extensible and customizable.  This is more than just the usual examples of pointing at all the modes and utilities you can download from the net, and the various tweaks you can put in your .emacs files.   Although I've never tried to write a language mode for any text editor, the impression I've got is that it's a much less massive undertaking in emacs than it is in most editors.  I'll admit that I certainly could be incorrect about this one.  Although I'm pretty inspired by this post ( http://bc.tech.coop/blog/071015.html) from Bill Clementson's blog where he describes a highly specialized emacs mode he created for working with JD. Edwards ERP software. 

Emacs has a reputation for having a high learning curve, but honestly it's really not that bad.  I'd suggest starting with reading Steve Yegge's Effective Emacs essay as a start to get inspiration and to pick up the right mindset for *what* you're trying to learn and accomplish.  The tutorial include in Emacs (mentioned elsewhere in this thread) is good for the basics, I also recommend browsing through the Emacs Wiki ( http://www.emacswiki.org/cgi-bin/wiki).  Printing out the emacs quickreference card is also very useful.   I'm sure it takes a long time to learn all of the in's and out's of emacs, but picking up enough of the basics to be reasonably productive isn't really that tough.

Hope that helps.




On Jan 17, 2008 3:04 PM, <signups17@gmail.com> wrote:
Ok, I'm beginning to teach myself the art of computer programming. I'm
starting with Python and I've built a few scripts that have increased
my productivity tremendously at work, doing a lot of data crunching,
etc.

As I get more and more into programming, I get the sense that "real"
programmers use emacs or vi, or some other editor that from my
perspective, seems arcane and impenetrable compared to something
simple like IDLE that comes with Python, or Scite, for example.

Can anyone provide a cogent explanation for why I should take the time
to climb that learning curve? What are the benefits, as you see them?

Also, assuming I'm convinced, can you point me in the direction of a
good tutorial?

Thanks in advance.
_______________________________________________
help-gnu-emacs mailing list
help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs


reply via email to

[Prev in Thread] Current Thread [Next in Thread]