unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Sean McAfee <eefacm@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Very simple IDE for programming newbie
Date: Sat, 02 Jan 2010 13:51:57 -0500	[thread overview]
Message-ID: <m2ws00gx0y.fsf@sean-mcafees-macbook-pro.local.i-did-not-set--mail-host-address--so-tickle-me> (raw)

I've started teaching my fiancée some basic C programming.  After the
first few lessons on her Windows laptop, using Notepad as the editor
and a Cygwin shell for compiling and running, I decided that a more
integrated environment was called for (not to mention a more capable
editor).

Although I use Emacs every day, I thought that it might be too
overwhelming for someone with little programming experience.  I tried
Eclipse first, but after much wrangling I just couldn't get it to work
with Cygwin's compiler tools.  Though I'm ashamed to admit it, I tried
a free version of Microsoft's Visual Studio next, but it requires a
bunch of arcane Microsoft cruft in and around main() just to compile a
simple "Hello World!" type console program, and I wasn't comfortable
telling my student to just ignore it.  So, I was finally led back to
consider Emacs again.  I've been working through the tutorial with
her, and her response has been quite gratifying.  After learning about
Emacs's cursor-motion commands, she was excited that she'd be able to
save a lot of time at work (she's a nurse and has to enter a lot of
text using a dedicated application).  I sadly had to disappoint her by
telling her that her new skills weren't widely applicable outside of
Emacs.  But it was nice to see her get excited about editing text.

So now we're just about done with the tutorial and ready to get back
into actual coding again.  I've been thinking of whipping up a very
simple development environment for her, maybe as simple as a single
command that does the following:

* Execute the compile command using "gcc this-file.c" as the command
  to run.
* If there were any errors, halt.  (Then I teach her about
  next-error).
* Otherwise, launch the terminal emulator, killing any that might
  already exist, and run the newly-compiled executable in it.

Something this simple should suffice for quite some time, I think.  My
question is, does something similar already exist, possibly with other
useful features that I haven't thought of?

If nothing like that exists, I could use some pointers about detecting
when the (asynchronous) compile command has finished running, and
whether there were any errors.  That's the one part I haven't quite
figured out how to do yet.


             reply	other threads:[~2010-01-02 18:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-02 18:51 Sean McAfee [this message]
2010-01-02 21:07 ` Very simple IDE for programming newbie Pascal J. Bourguignon
2010-01-03 16:10   ` Sean McAfee
2010-01-03 16:44     ` Pascal J. Bourguignon
2010-01-03 17:17     ` Richard Riley
2010-01-03 19:24     ` Peter Dyballa
     [not found]     ` <mailman.662.1262546694.18930.help-gnu-emacs@gnu.org>
2010-01-03 21:02       ` Sean McAfee
2010-01-03 21:49         ` despen

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=m2ws00gx0y.fsf@sean-mcafees-macbook-pro.local.i-did-not-set--mail-host-address--so-tickle-me \
    --to=eefacm@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).