Writing stimulus delivery programs
A Microsoft language, with a slick development environment, which is quick to develop, fast and flexible. It has good support for the design of graphical interfaces. It allows easy integration with the vast range of Windows components, including those in the "Useful tools" section below.
The latest version is VB.Net, which runs on the "Microsoft .Net Framework", which allows easy integration with other .Net languages such as C#. These languages are interoperable, with users able to extend programs written in one language with another.
Free "Express" versions of VB.Net and C# are available, and probably do everything needed for experiements http://msdn.microsoft.com/vstudio/express/downloads/.
The older version, Visual Basic 6, is gradually being phased out, so if you are new to programming, choose VB.Net.
A new language somewhat like C or Java, but running on the .Net Framework. The most refined of the .Net languages.
Cogent (runs under Matlab)
A piece of software from various London labs http://www.vislab.ucl.ac.uk/Cogent/
The successor to "Psyscope" and "Mel", this point & click program is good for non-programmers, who wish to write fairly simple experiments. It has a scripting back end that is like Visual Basic. While quite flexible, it does have its limits, and sometimes ends up more complicated and harder to set up than when using a full programming language.
Useful tools for Windows
ScannerSync for synchronising with the scanner
DirectX. You'll need this if you want tight control of your visual or auditory presentation. Designed for games, it allows complete use of the hardware. Most people in the unit still use DirectX 7 (DirectDraw) but in due course we must switch to more recent versions. Check out msdn.microsoft.com/directx
Other (partly obsolete) help not yet transferred to Wiki at http://www.mrc-cbu.cam.ac.uk/vb