<p>I'm teaching (or trying to teach) computer programming to a grad-student.  Her previous experience amounts to little more than writing spreadsheet formulae.  Which IDE or text editor should I recommend?</p>

<p>Please bear in mind that:</p>

<ul>
<li>I only meet my student about once a week.</li>
<li>She uses Windows and I use Linux.</li>
<li>She doesn't have a community of users on hand.</li>
<li>She doesn't have much money to spend.</li>
</ul>

<hr>

<p><strong>Edit:</strong> The languages she's learning at the moment are <em>Perl</em> and <em>R</em>.  (Sorry ... for forgetting to mention them earlier.)</p>

<hr>

<p><strong>Edit:</strong> Thanks for all your answers!</p>

<p>The most highly recommended editors are <em>jEdit</em> and <em>Notepad++</em>.</p>

<p>If I can find a way to give my student adequate support for <em>Notepad++</em> (e.g. by running it under <em>Wine</em>) or if I think that she can manage without support from me, then I'll recommend that.  If not, I'll go for <em>jEdit</em>.</p>

<p>Apologies, once again, to those who saw the question before I got around to listing the languages that I'm teaching.</p>

[{'answer_id': 71800, 'author': 'Jedidja', 'author_id': 9913, 'author_profile': 'https://Stackoverflow.com/users/9913', 'pm_score': 3, 'selected': False, 'text': '<p>The <a href="http://www.microsoft.com/Express/" rel="nofollow noreferrer">Visual Studio Express</a> products are all free. Unless the fact that you\'re using Linux changes things :)</p>\n'}, {'answer_id': 71803, 'author': 'Raithlin', 'author_id': 6528, 'author_profile': 'https://Stackoverflow.com/users/6528', 'pm_score': 2, 'selected': False, 'text': '<p>Eclipse might be a good option (if a little overwhelming at first).</p>\n\n<p>You obviously need to look at a cross-platform IDE. Eclipse is one of the best in this regard, as well as having support for many languages. It also comes with a good set of tutorials.</p>\n'}, {'answer_id': 71805, 'author': 'Dan Williams', 'author_id': 4230, 'author_profile': 'https://Stackoverflow.com/users/4230', 'pm_score': 0, 'selected': False, 'text': '<p>My suggestion is <a href="http://www.textpad.com/" rel="nofollow noreferrer">Textpad</a>.  You can teach her javascript, all the basic, and some advanced concepts are there.  It\'s fun for the student see the output in a browser, and you can even teach a little HTML if the mood strikes.</p>\n'}, {'answer_id': 71810, 'author': 'Simon Peverett', 'author_id': 6063, 'author_profile': 'https://Stackoverflow.com/users/6063', 'pm_score': 0, 'selected': False, 'text': '<p>Komodo Edit from active vision is free, open source, and available for Windows and Linux. Very nice features. </p>\n\n<p>Otherwise, Emacs as it is available on both platforms and can be configured for CUA controls.</p>\n\n<p>The Cream version of VIM is also a good option.</p>\n'}, {'answer_id': 71813, 'author': 'awi', 'author_id': 1835074, 'author_profile': 'https://Stackoverflow.com/users/1835074', 'pm_score': 0, 'selected': False, 'text': '<p>It really depends on the language you are teaching her.</p>\n\n<p>EditPlus is a good simple editor. Free trial version and pretty cheap license.</p>\n'}, {'answer_id': 71818, 'author': 'cschol', 'author_id': 2386, 'author_profile': 'https://Stackoverflow.com/users/2386', 'pm_score': 0, 'selected': False, 'text': '<p><a href="http://www.bloodshed.net/devcpp.html" rel="nofollow noreferrer">Dev-C++</a> as a non-MS alternative.</p>\n\n<p>Quote: "Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as it\'s compiler. Dev-C++ can also be used in combination with Cygwin or any other GCC based compiler."</p>\n'}, {'answer_id': 71824, 'author': 'Max Caceres', 'author_id': 4842, 'author_profile': 'https://Stackoverflow.com/users/4842', 'pm_score': 1, 'selected': False, 'text': '<p>Depends on the programming language. FoR C/C++ and anything .net Visual Studio is the way to go. The Express edition is free.</p>\n'}, {'answer_id': 71827, 'author': 'Cory', 'author_id': 11870, 'author_profile': 'https://Stackoverflow.com/users/11870', 'pm_score': 0, 'selected': False, 'text': '<p><a href="http://www.codeblocks.org" rel="nofollow noreferrer">Code::Blocks</a> is also another good one, free and cross platform. Unless you need something for using VB / C# or other .NET languages as it is mostly C/C++. For the .NET languages on linux I would recommed <a href="http://monodevelop.com/Main_Page" rel="nofollow noreferrer">MonoDevelop</a></p>\n'}, {'answer_id': 71828, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 0, 'selected': False, 'text': '<p>Aptana is very handy for web-oriented programming.</p>\n\n<p><a href="http://www.aptana.com" rel="nofollow noreferrer">http://www.aptana.com</a></p>\n'}, {'answer_id': 71829, 'author': 'lbz', 'author_id': 11530, 'author_profile': 'https://Stackoverflow.com/users/11530', 'pm_score': 1, 'selected': False, 'text': '<p>Eclipse or Jedit, if Eclipse is too complicated. <a href="http://www.jedit.org/" rel="nofollow noreferrer">jEdit</a> is cross platform, free and supports a number of different languages.</p>\n'}, {'answer_id': 71839, 'author': 'Lucas Oman', 'author_id': 6726, 'author_profile': 'https://Stackoverflow.com/users/6726', 'pm_score': 1, 'selected': False, 'text': "<p>Crimson Editor is also very nice; it's similar to Edit Plus. Syntax highlighting, tabs, etc.</p>\n"}, {'answer_id': 71840, 'author': 'Vinny Carpenter', 'author_id': 10511, 'author_profile': 'https://Stackoverflow.com/users/10511', 'pm_score': 2, 'selected': False, 'text': '<p>Since you didn\'t mention what programming language (guess it doesn\'t matter) you were teaching, I\'ll stick to something that supports multiple programming languages and multiple platforms.  Given your situation, I would use jEdit (<a href="http://www.jedit.org" rel="nofollow noreferrer">http://www.jedit.org</a>).</p>\n\n<p>jEdit is a programmer\'s text editor with hundreds of plugins, auto indent, and syntax highlighting for more than 130 languages and since it\'s written in Java, it runs beautifully on Linux, Windows or MAC.  Hope this helps.</p>\n'}, {'answer_id': 71847, 'author': 'Mats Wiklander', 'author_id': 5140, 'author_profile': 'https://Stackoverflow.com/users/5140', 'pm_score': 2, 'selected': False, 'text': '<p>I have used Notepad++]<a href="http://notepad-plus.sourceforge.net/uk/site.htm" rel="nofollow noreferrer">1</a> a lot for various editing tasks, and I find it quite useful and competent.</p>\n'}, {'answer_id': 71861, 'author': 'Rylee Corradini', 'author_id': 7542, 'author_profile': 'https://Stackoverflow.com/users/7542', 'pm_score': 0, 'selected': False, 'text': '<p>That depends at least in part on the programming language you intend to teach her. That said, you might want to take a look at <a href="http://www.eclipse.org/" rel="nofollow noreferrer">Eclipse</a>. Though it started primarily as a Java IDE, it\'s been extended via plugins to support many others (including C/C++, Flex, Haskell, and ColdFusion, to name a few), and can fairly easily be adapted to a new language if support isn\'t already out there.</p>\n\n<p>Add to that the fact that the IDE is cross-platform so you can both use the same tool on your platforms of choice, and it looks like this might be a good fit.</p>\n'}, {'answer_id': 71862, 'author': 'Community', 'author_id': -1, 'author_profile': 'https://Stackoverflow.com/users/-1', 'pm_score': 0, 'selected': False, 'text': '<p>I\'d recommend <a href="http://www.scintilla.org/SciTE.html" rel="nofollow noreferrer">SciTE</a>, as it\'s both available for *nix and Windows and free (as in beer). It supports pretty much anything you\'d expect from a decent editor and, if she goes on to use it, quite customizable. It also isn\'t too complex, so it should be easy for her to get going with it.</p>\n'}, {'answer_id': 71863, 'author': 'cori', 'author_id': 8151, 'author_profile': 'https://Stackoverflow.com/users/8151', 'pm_score': 0, 'selected': False, 'text': "<p>+1 to the Notepad++ suggestion - Anything I do that's not .Net-related I do in that.</p>\n"}, {'answer_id': 71868, 'author': 'Johnno Nolan', 'author_id': 1116, 'author_profile': 'https://Stackoverflow.com/users/1116', 'pm_score': 3, 'selected': True, 'text': '<p>Start off simple. Do not not scare her with an IDE! They are overwhelming at first and are not core to developing software. I learnt rudimentary Java with <a href="http://www.crimsoneditor.com/" rel="nofollow noreferrer">Crimson Editor</a>. \nIf I started again I\'d probably go for <a href="http://notepad-plus.sourceforge.net/" rel="nofollow noreferrer">Notepad++</a>.</p>\n'}, {'answer_id': 71886, 'author': 'Lewis Baumstark', 'author_id': 12000, 'author_profile': 'https://Stackoverflow.com/users/12000', 'pm_score': 0, 'selected': False, 'text': "<p>For Java, BlueJ is an excellent teaching IDE.  It doesn't confuse the new student with a lot of advanced functionality (stuff they won't use for years to come).  Eclipse is a great IDE, but there is a LOT of stuff there they could drown in.  The same is true for Visual Studio, but I don't know of a simpler IDE for .NET languages.</p>\n\n<p>You may also consider Ruby with Scite as a teaching option.  The IDE isn't that fancy, but along with the ease-of-startup of learning Ruby this could work very well.  Ruby certainly has some advantages over Java/C#/C++ for the beginning student (mostly in that you don't have to create a full class with a main method just to get a program running).</p>\n"}, {'answer_id': 71888, 'author': 'Keith Elder', 'author_id': 10624, 'author_profile': 'https://Stackoverflow.com/users/10624', 'pm_score': 2, 'selected': False, 'text': '<p>The best, most documented, IDE that is free in my opinion is Visual Studio Express. There are tons of blogs, howtos, videos, training, etc.  You can find more information about them here:</p>\n\n<p><a href="http://www.microsoft.com/Express/" rel="nofollow noreferrer">http://www.microsoft.com/Express/</a></p>\n\n<p>Also, if you are a student, Microsoft provides an entire stack of software free to students just for this purpose.  This is through a program called DreamSpark.  Included is an operating system, the professional version of the IDE, SQL Server, XNA Game studio and Expression.  Any student can get this.  More information is here:</p>\n\n<p><a href="https://downloads.channel8.msdn.com/" rel="nofollow noreferrer">https://downloads.channel8.msdn.com/</a></p>\n\n<p>Hope that helps.</p>\n'}, {'answer_id': 71901, 'author': 'tamberg', 'author_id': 3588, 'author_profile': 'https://Stackoverflow.com/users/3588', 'pm_score': 0, 'selected': False, 'text': '<p>For the easy to teach Component Pascal language (a successor to Niklaus Wirth\'s Pascal and Oberon) try the free, open source <a href="http://www.oberon.ch/blackbox.html" rel="nofollow noreferrer">BlackBox IDE</a> and the book <a href="https://rads.stackoverflow.com/amzn/click/com/3528058285" rel="nofollow noreferrer" rel="nofollow noreferrer">Computing Fundamentals</a> by Stan Warford.</p>\n\n<p>Regards,\ntamberg</p>\n'}, {'answer_id': 71905, 'author': 'rjzii', 'author_id': 1185, 'author_profile': 'https://Stackoverflow.com/users/1185', 'pm_score': 0, 'selected': False, 'text': '<p>If you are writing software targeted at a Windows platform then Visual Studio is more or less the standard IDE. Since you are teaching a graduate student I would recommend getting the academic license for the <a href="http://msdn.microsoft.com/en-us/vs2008/products/bb894671.aspx" rel="nofollow noreferrer">professional edition</a> if they are going to be writing a lot of software, otherwise the <a href="http://www.microsoft.com/express/" rel="nofollow noreferrer">express editions</a> should be enough for leaning purposes.</p>\n\n<p>In terms of text editors, the one that I currently use the most is <a href="http://notepad-plus.sourceforge.net/uk/site.htm" rel="nofollow noreferrer">Notepad++</a> which is free, open source, and support a wide variety of features that are useful to software development. There are also also a number of useful plug-ins available for it as well.</p>\n'}, {'answer_id': 71966, 'author': 'TuxmAL', 'author_id': 11594, 'author_profile': 'https://Stackoverflow.com/users/11594', 'pm_score': 1, 'selected': False, 'text': '<p><a href="http://notepad-plus.sourceforge.net/" rel="nofollow noreferrer">Notepad++</a> for editing is awesome to me: it\'s Windows only, but maybe you can use it with Wine under Linux. But if you want someting more like an IDE, then Eclipse, or <a href="http://www.netbeans.org/" rel="nofollow noreferrer">NetBean</a> (both use java) can be very useful, although they are very resource expensive on old PC.</p>\n'}, {'answer_id': 71977, 'author': 'Eric  DeLabar', 'author_id': 7556, 'author_profile': 'https://Stackoverflow.com/users/7556', 'pm_score': 0, 'selected': False, 'text': "<p>I can't believe nobody has mentioned vi.  I'll argue that the less your tool does for you in the beginning the better coder you'll be in the end.  For a newbie, give them syntax highlighting and some helpers for dealing with blocks and lines.  Something like vi is great, emacs is also fine, or if you absolutely must be on Windows, something like notepad++ or jedit will be decent.  The main point is to learn to program before you learn to let your IDE insert code that you don't understand for you.</p>\n"}, {'answer_id': 72188, 'author': 'ima', 'author_id': 5733, 'author_profile': 'https://Stackoverflow.com/users/5733', 'pm_score': 0, 'selected': False, 'text': '<p><a href="http://www.multieditsoftware.com" rel="nofollow noreferrer">MultiEdit</a></p>\n\n<p>Extremely powerfull (and extensible on emacs level) text editor with many IDE features (integration with compilers/debuggers etc). Beats all other suggested editors on every aspect. </p>\n\n<p>Much easier to learn and use than editors with UNIX/terminal roots like vi or Emacs. </p>\n\n<p>Not free (not too expensive though), and requires some learning to use effectively.</p>\n'}, {'answer_id': 72306, 'author': 'EricSch', 'author_id': 12192, 'author_profile': 'https://Stackoverflow.com/users/12192', 'pm_score': 0, 'selected': False, 'text': '<p>Another full blown IDE is SharpDevelop. It\'s OpenSource.</p>\n\n<p><a href="http://www.icsharpcode.net/OpenSource/SD/" rel="nofollow noreferrer">http://www.icsharpcode.net/OpenSource/SD/</a></p>\n'}, {'answer_id': 79282, 'author': 'jussij', 'author_id': 14738, 'author_profile': 'https://Stackoverflow.com/users/14738', 'pm_score': 0, 'selected': False, 'text': '<p>Zeus - <a href="http://www.zeusedit.com" rel="nofollow noreferrer">http://www.zeusedit.com</a></p>\n'}, {'answer_id': 81196, 'author': 'Robert Vuković', 'author_id': 438025, 'author_profile': 'https://Stackoverflow.com/users/438025', 'pm_score': 0, 'selected': False, 'text': '<p>I have to mention <a href="http://www.pspad.com/" rel="nofollow noreferrer">PSPad</a>. <br/>\nIt is very good, feature rich free editor. I have used <a href="http://www.ultraedit.com/" rel="nofollow noreferrer">UtraEdit</a> and finally found free alternative in <a href="http://www.pspad.com/" rel="nofollow noreferrer">PSPad</a></p>\n'}]
['https://Stackoverflow.com/questions/71786', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/1260685/']