I used to write PostScript programs to draw stuff (usually just fractals) on paper.
PostScript is a Forth dialect, so you can do quite a lot with it. If you had a printer that supported PostScript, you could pipe the source code straight to lpt1 (or wherever), and the printer would execute the program directly. It was fun to see what I could get to execute on printer hardware, which was generally fairly limited.