The Top Programming Languages 2023

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
I used to use PL/M-86 and burn the machine code into EPROMs. At least by the time I started using it, the code and compilers were on a $10K IBM 286 with 5.25 floppies instead of the IBM development system with the 8" floppies.
I used to program in IBM S/370 Assembly language and then debug it by patching the object code in hexadecimal. That was back in the 80s, when we used to program them right down to the bare metal.

I also used to write self-modifying code in Assembler, that modified the object code at runtime.
 
Last edited:
I also used to write self-modifying code in Assembler, that modified the object code at runtime.
I loved writing self-modifying code in MUMPS! it was so easy. As a matter of fact, we used it as part of our self-discipline when we had to KILL a global variable. (Global variables, in MUMPS, are variables that are global to all processes in the system. They're usually stored on disk and are the database of the language.) We'd READ the code to KILL the global into a variable, WRITE it out again to double-check the syntax and make sure that's what we really wanted to do, then we would XECUTE the variable.

(>> is the "Programmer's Mode prompt." Local variables (local to the current process) are just represented by one or more alphanumeric characters starting with an alpha character. Global variables look like locals, but are prefixed with a caret.)
Code:
>> R X
K ^XYZ(1,"foo",3,"bar","baz")
>> W X
K ^XYZ(1,"foo",3,"bar","baz")
>> X X
>> W ^XYZ(1,"foo",3,"bar","baz")
<UNDEFINED>
>>

This helped avoid killing an entire array of stored data in case someone accidently hit <RETURN> at the wrong spot.
Code:
>> K ^XYZ
OOPS! That would KILL the global ^XYZ and all the nodes under it, as well.
 
Back
Top