Customising Windows
On Windows, it is customary to use GUI interfaces for almost everything. However, the shell (or DOS shell or DOS Prompt or Command Prompt) can be very useful for simple program development, and is worth customising. It is also worth paying some attention to editors and file associations.Shell: The shell is started from the Start/Programs or Start/Programs/Accessories menu, and allows you to run programs by typing command lines instead of double clicking.
When a command produces a lot of output, the shell may not show it all. To increase the number of output lines that it remembers, right-click on the title bar, choose properties, and increase the buffer size. Alternatively, you may be able to run a program by typing program | more (as on Unix) to send the output through a scroller program.
Retyping commands over and over again is boring and wastes a lot of time. The shell does have a mouse-based cut-and-paste facility, but it is crude. A better bet is to use the editing feature. This comes as standard on some Windows installations, but if not you have to enable it by typing the doskey command each time you start up a shell (or put it in your autoexec.bat file):
> doskey
You should then be able to use the arrow key to edit the current command line, or to go back through your previous commands to choose one, edit it, and reissue it. With some versions of the shell, you have to press the Insert key to get the usual insertion-style editing, rather than overwrite-style. Find out more by typing doskey /? or by doing a web search.
On some versions of windows, the shell displays all filenames in upper case, or has trouble with long file names, or file names with spaces in them. The dir command may have switches which you can use to alleviate this. Try dir /b or dir /n, or type dir /? to find out what switches there are. You should be able to use the correct full filename, with its correct case, in commands such as javac MyLongClassName.java. If that fails, try replacing the DOS prompt with 4DOS from www.jpsoft.com (there is a free trial version; let me know if you find a completely free equivalent).
Editors: The best bet is to download and install jedit and then customise it to suit yourself.
It is possible to use Notepad, but it has a limit on file size, and it cannot handle files with Unix line endings. If you want to stick with a standard Windows editor, it is better to use Wordpad (on the Start/Programs/Accessories menu). Then you don't need to convert files when you move them between Unix and Windows. (If you do need to convert text files, use the Unix commands unix2dos and dos2unix).
There is sometimes a problem with file endings; Notepad or Wordpad sometimes insist on adding a .txt extension, even if you have already given the file an extension such as .java. The first step in solving this is to make sure that extensions are always visible, so that you can see what is going on. In a folder window, use the View menu, choose Options, then the View tab, and untick the box which says Hide file extensions for known file types. A second thing to try is, when you are saving the file and typing the file name in, surround the file name with double quotes. If this doesn't work, you can associate Notepad or Wordpad with the extension .java or whatever, so that Notepad/Wordpad knows that it is the program handling that type of file.
Wordpad often pops up an irritating box asking what type of file you want to save, or telling you that you are saving to a plain text file and may lose information. There are some tricks to avoid these boxes. First, when you start a new file, don't start typing straight away, but use the new menu item or icon, and specify plain text. (You can tell if this has worked, because the ruler goes away.) Second, when you save a file the first time, specify plain text. After that, you should be able to save each time without any boxes popping up.
There are other possibilities for editors. You could use a word processor like Word, but you have to remember to specify plain text all the time. Still, this might be a reasonable option if you are a frequent word processor user. Another possibility is to download Textpad from www.textpad.com. This has good program development features such as syntax colouring and compiler execution, but it is not free. There is a free evaluation copy which you can use for a while. Another possibility is to download a Windows version of one of the Unix editors (though these typically don't work as well on Windows as they do on Unix). You can get a Windows version of emacs from www.gnu.org/software/emacs/windows, and you can get a version of nedit from nedit.org.
Associations: You can associate various actions with a file extension, so that right-clicking on a file of that type gives you a menu of those actions, or double clicking on the file carries out the default action.
To do this, in a folder window, choose the View menu, then the Options item, then the File Types tab. Create a new entry for an extension such as .java (or edit an existing one). You must enter a description, e.g. Java source file, otherwise the association you create will not appear in the list and you will not be able to delete or edit it except by editing the registry directly with regedit. Add or edit actions, called open or edit or compile or whatever you want. Choose one of the actions as the default, for double-clicking. For each action, enter the full pathname of the program you want to be executed, surrounding it with double quotes if it contains spaces. For example "C:\Program Files\Windows NT\Accessories\Wordpad.exe". You may need to use the Find facility on the Start menu to find the full pathnames of the programs.

