"The Apple II computer had a floting-point interpreter known as AppleSoft BASIC, which Microsoft wrote. Microsoft also wrote a compiler for AppleSoft BASIC known as TASC, The AppleSoft Compiler, a really creative name.
The person who wrote The AppleSoft Compiler was a student, and came and wrote it while at Microsoft, spent the summer working on it, didn't quite finish, and had to go back to school, but that's fine. The next summer, he came back out ready to continue and pick up the project where he left off, except he didn't remember how any of it worked.
The problem was that The AppleSoft Compiler was itself written in AppleSoft so it was a self-hosting compiler. It was used to compile itself but the Apple II only had 48 kilobytes of memory, or 64 kilobytes if you added the language card, but AppleSoft didn't know how to use it so let's just call it 48.
In order to get the program to fit, he had to delete all the comments, and he had to shorten the names of all the variables to one or two characters where the most variables only had one letter names and that made it very hard for him to figure out what all these variables meant and how the program worked.
Somehow, he managed to figure it all out in time to at least finish the project and so the Microsoft, The AppleSoft Compiler, TASC, did eventually ship although nobody really understands how it works anymore."
"The Apple II computer had a floting-point interpreter known as AppleSoft BASIC, which Microsoft wrote. Microsoft also wrote a compiler for AppleSoft BASIC known as TASC, The AppleSoft Compiler, a really creative name.
The person who wrote The AppleSoft Compiler was a student, and came and wrote it while at Microsoft, spent the summer working on it, didn't quite finish, and had to go back to school, but that's fine. The next summer, he came back out ready to continue and pick up the project where he left off, except he didn't remember how any of it worked.
The problem was that The AppleSoft Compiler was itself written in AppleSoft so it was a self-hosting compiler. It was used to compile itself but the Apple II only had 48 kilobytes of memory, or 64 kilobytes if you added the language card, but AppleSoft didn't know how to use it so let's just call it 48.
In order to get the program to fit, he had to delete all the comments, and he had to shorten the names of all the variables to one or two characters where the most variables only had one letter names and that made it very hard for him to figure out what all these variables meant and how the program worked.
Somehow, he managed to figure it all out in time to at least finish the project and so the Microsoft, The AppleSoft Compiler, TASC, did eventually ship although nobody really understands how it works anymore."