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?

Please bear in mind that:

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

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

Edit: Thanks for all your answers!

The most highly recommended editors are jEdit and Notepad++.

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

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

+4  A: 

The Visual Studio Express products are all free. Unless the fact that you're using Linux changes things :)

+2  A: 

Eclipse might be a good option (if a little overwhelming at first).

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.

Why "obviously" when question specifically says "Windows IDE"?
Because it will be easier for me, a Linux user, to support her if I can use it at home too.

My suggestion is Textpad. 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.

Dan Williams

Komodo Edit from active vision is free, open source, and available for Windows and Linux. Very nice features.

Otherwise, Emacs as it is available on both platforms and can be configured for CUA controls.

The Cream version of VIM is also a good option.


It really depends on the language you are teaching her.

EditPlus is a good simple editor. Free trial version and pretty cheap license.


Dev-C++ as a non-MS alternative.

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."


Depends on the programming language. FoR C/C++ and anything .net Visual Studio is the way to go. The Express edition is free.

Max Caceres

Code::Blocks 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 MonoDevelop


Aptana is very handy for web-oriented programming.

+1  A: 

Eclipse or Jedit, if Eclipse is too complicated. jEdit is cross platform, free and supports a number of different languages.

+1  A: 

Crimson Editor is also very nice; it's similar to Edit Plus. Syntax highlighting, tabs, etc.

Lucas Oman
+2  A: 

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 (

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.

Vinny Carpenter
+2  A: 

I have used Notepad++ alot for various editing tasks, and I find it quite useful and competent.

Mats Wiklander

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 Eclipse. 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.

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.

Ryan Corradini

I'd recommend SciTE, 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.


+1 to the Notepad++ suggestion - Anything I do that's not .Net-related I do in that.

if you want to +1 why don't you vote up? (or is this limited by reputation(
John Nolan
it is limited, and I was too lowly to do it at the time. But now that I am all-powerful I have voted that answer up. thanks
+4  A: 

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 Crimson Editor. If I started again I'd probably go for Notepad++.

John Nolan
I used to be fan of Crimson Editor but I found ConTEXT ( to be faster and more powerful. It's been my default text editor on Windows for a long time now.
Colin Pickard

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.

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).

Lewis Baumstark
+1  A: 

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:

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:

Hope that helps.

Keith Elder

For the easy to teach Component Pascal language (a successor to Niklaus Wirth's Pascal and Oberon) try the free, open source BlackBox IDE and the book Computing Fundamentals by Stan Warford.

Regards, tamberg


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 professional edition if they are going to be writing a lot of software, otherwise the express editions should be enough for leaning purposes.

In terms of text editors, the one that I currently use the most is Notepad++ 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.

+1  A: 

Notepad++ 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 NetBean (both use java) can be very useful, although they are very resource expensive on old PC.


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.

Eric DeLabar
Learning vi or Emacs requires serious investment. For a novice programmer, they just get in the way, but thanks for your suggestion.


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.

Much easier to learn and use than editors with UNIX/terminal roots like vi or Emacs.

Not free (not too expensive though), and requires some learning to use effectively.


Another full blown IDE is SharpDevelop. It's OpenSource.

The Visual Studio Express editions are completely FREE and IMO are better than Sharp Develop. Sharp Develop is great, but it was created in a time before Microsoft create Free versions of their Visual Studio IDE.
Chris Pietschmann

Zeus -


I have to mention PSPad.
It is very good, feature rich free editor. I have used UtraEdit and finally found free alternative in PSPad

Robert Vuković