I rarely hear people talk about programming in Forth or PostScript, but I think PostScript would be a great language for beginners. Clearly there is broad appeal in the graphics. The evaluation model is simple and fun. The PostScript Language Tutorial and Cookbook is easy to find. On a plain Ubuntu Linux system, you can type PostScript commands into the default text editor; output shows up in the file browser; and if you open the file there, you get an output window that's automatically refreshed when the file is saved. It's hard to imagine a simpler development environment.
For visualization I use Graphviz, SVG (viewable in Firefox), and PostScript. I have used Python's Tkinter (Tk) module to make graphic user interfaces, but I rarely do this for my own purposes. I think Craigslist is a beautiful example of web design.
Open-source software is important. Eventually you find the system or library you are using to be missing a feature. You want to add it by messing around, figuring things out, and reading the web, not by calling some corporation's technical support line or hiring expensive consultants. Sometimes with commercial software these are your only options.
It's easy and fast to collect and install all the tools a programmer needs on an Ubuntu system. If you want to deal with a corporation, you still have that option with Linux.
First is state. When something goes wrong with a computer, you want to reproduce the problem and isolate its source. Desktop applications often maintain some state that's not obvious to the user. In short, the fancy features of IDEs, which seem never to be completely described in the accompanying documents, and which might matter even though you do not use them intentionally, frustrate debugging efforts.
Second is the mouse-and-menu design. Why use a mouse? It's much easier to become adept (by repetition) at entering a string of commands with keys. When programming, I mostly just compile, switch windows, scroll through the output, edit, save, and repeat.