I use a complicated electromechanical device known as a "printer".
Actually, your concept has been around for many, many years. Early IBM computers had "card readers", that would read the holes on stacks of punched cards. There were also "card punch" machines that had a keyboard similar to a typewriter; it would at once punch holes and print the text on the top of the card, so it was readable by both machines and humans.
In the 1980s, there were a few computer publications that would publish BASIC source code with a scan-able strip next to the code. If you had one of the handheld scanners, you wouldn't have to type all of the code in.
Here in the US, computer-readable bar codes are on products of all kinds at stores. It is easier for a store to maintain inventories and change prices if they don't have to physically re-label all of the products they carry.
++++++++++++++++++\
Although one may well come up with more complicated algorithms:
Consider that if an 8-1/2" x 11" page with 1" margins can hold 56 x 48 (2,688) "M" characters in Times New Roman 10 font.
So, if you expand on the idea that you can encode sixteen bits in 0-F, and could encode thirty-two bits using most of the alphabet (English, anyways), and that by using special characters you could expand that to encode 64-bits (8 bytes) into a single character...
2688 X 64 X 8
Well then, you could get ~1.2Meg of data on a sheet of paper. The old 3-1/2" floppies were probably better.
And, how well is this paper going to hold up?
What if your dog eats your programming?