Personally, my tip would be to use Linux and Perl.
Linux treats every device like a file, so writing code to communicate with hardware (such as a parallel port) and send data to it is extremely easy. Also, your hardware requirements are extremely marginal with Linux. A 386 with 8 meg of ram will be more than suitable for console operation. If you decide to go this route, check into Debian Linux. It's the most complete distro I have seen so far. The full installation runs on 7 CD's. It goes without saying that you can install off one as well. Debian comes off the shelf with some very nice schematic design software as well, although I forget what it's called. Another plus to Linux is the fact that it's free. Debian can be downloaded free of charge from the website
https://www.debian.org.
The reason I suggest perl is it will simply make it easier. You open a filehandle (the port), pack the data and write it to the filehandle. It's all that simple. If you feel ambitious, using the Tk library, you can design a GUI interface to work with XWindows as well.
I started with Qbasic something like 10 years ago. As one that has written in both languages as well as C and C++, I can honestly say that perl is the easiest language I have worked with while still retaining a lot of the power inherant in a C language.
This is mearly the method I would choose for a similar project. In my opinion, this would be the most simple and easiest method while still allowing the designer the greatest flexability possible while keeping a low budget for hardware. Most of the time you can find someone willing to give you an out of date computer that will work just fine for this. However, it goes without saying to use what ever method you are most comfortable with.
Rob