From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Sean McAfee Newsgroups: gmane.emacs.help Subject: Very simple IDE for programming newbie Date: Sat, 02 Jan 2010 13:51:57 -0500 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1262529081 6292 80.91.229.12 (3 Jan 2010 14:31:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 3 Jan 2010 14:31:21 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Sun Jan 03 15:31:14 2010 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1NRRU9-0007ug-LW for geh-help-gnu-emacs@m.gmane.org; Sun, 03 Jan 2010 15:31:13 +0100 Original-Received: from localhost ([127.0.0.1]:34036 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NRRUA-0000UV-21 for geh-help-gnu-emacs@m.gmane.org; Sun, 03 Jan 2010 09:31:14 -0500 Original-Path: news.stanford.edu!usenet.stanford.edu!postnews.google.com!news1.google.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!nntp.supernews.com!news.supernews.com.POSTED!not-for-mail Original-NNTP-Posting-Date: Sat, 02 Jan 2010 12:52:09 -0600 Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (darwin) Cancel-Lock: sha1:o2Q/FgXwclBhqu8pfDZVZj+I9eY= Original-Lines: 42 Original-X-Trace: sv3-Ak1SAg6CfbT/GPXwSeeg1hNuAElgMkK3lmqxIHcDo8Q09hzrX6+cGe1Gk9bb0E9B6bfaPPIzjHCUESD!EONpgyq5LTzzCv65483XgSFFqaame+tBvihxAm80tcvM2JIonk53FXte06wudC8rFhSpFaP2eMvZ!vYcql9YEpLLQbYzy6YbkN4943eFxNsugI9WaD/Rlt75JA2mlhzwkWssABcNkVwJNu6te82g= Original-X-Complaints-To: www.supernews.com/docs/abuse.html X-DMCA-Complaints-To: www.supernews.com/docs/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 Original-Xref: news.stanford.edu gnu.emacs.help:175950 X-Mailman-Approved-At: Sun, 03 Jan 2010 09:27:36 -0500 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:71028 Archived-At: 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.