BASH and Octave
One of the nice features of Octave (and similar languages) is that you don't have to compile the code that you generate. It is interpreted by Octave instead. This make learning the language easy by trail-and-error. Very often it is useful to save what you have learned from you fiddlings during the current Octave 'session' that you have opened for this fiddling. Octave keeps a copy of all your command you give on the Octave command line. In Linux it is saved in the file Template:~/.octave hist.