all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Bob McCormick" <mccormick.bob@gmail.com>
To: signups17@gmail.com
Cc: help-gnu-emacs@gnu.org
Subject: Re: Beginning Hobbyist Programmer Question
Date: Tue, 22 Jan 2008 23:02:57 -0700	[thread overview]
Message-ID: <5bbec2c0801222202l7cae79a6rd4b46d38ab8e44db@mail.gmail.com> (raw)
In-Reply-To: <44129c70-807a-4ef0-bc4f-e299caf5e334@k39g2000hsf.googlegroups.com>


[-- Attachment #1.1: Type: text/plain, Size: 4078 bytes --]

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
>

[-- Attachment #1.2: Type: text/html, Size: 4958 bytes --]

[-- Attachment #2: Type: text/plain, Size: 152 bytes --]

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

      parent reply	other threads:[~2008-01-23  6:02 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-17 22:04 Beginning Hobbyist Programmer Question signups17
2008-01-17 22:47 ` Rupert Swarbrick
2008-01-18  0:26 ` reader
2008-01-18  1:44 ` Nick Roberts
2008-01-18  9:02 ` Andreas Röhler
2008-01-18  9:04 ` Thien-Thi Nguyen
2008-01-18 10:05 ` Stefan Kamphausen
2008-01-18 11:11 ` Daniel Pittman
2008-01-18 23:22 ` Alan Mackenzie
2008-01-19  0:19 ` Mike Treseler
2008-01-21 16:33   ` rustom
2008-01-22 17:24 ` Sebastian Tennant
2008-01-22 18:10   ` Mike Mattie
2008-01-23  6:02 ` Bob McCormick [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5bbec2c0801222202l7cae79a6rd4b46d38ab8e44db@mail.gmail.com \
    --to=mccormick.bob@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=signups17@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.