But When He Used It! --
Over the years, I have earned thousands of extra dollars moonlighting for some of the local companies in my area. One such contract was larger than what I cared to handle myself, so I subcontracted about half of it out to a rising young star programmer I knew.
He was very smart and an excellent assembly language programmer, thorough, meticulous and neat. There were two requirements that were attached to the contract; one was a firm deadline and the other was that the program be written in . When I told him he would have to write in , his initial reaction was to laugh at me. He couldn't believe I had invented anything useful. After all, if there was a better way of programming at the machine level wouldn't one of the big companies or universities have invented it? How could some lone programmer, especially one he knew, have created a whole new way of controlling the x86? He agreed to the conditions, but was by no means a "believer."
After partitioning the project, I began working on my half and he on his. The interfaces between the pieces were well defined so there was no real need for us to work together. After several weeks I had made good progress on my half and asked him how he was coming along. Probably due to lack of experience on his part, he had fallen behind. I asked to see what he had done and when he showed it to me I was shocked! The code was very well written, but it was all in standard assembly! On top of that, he was less than one third done and the deadline was growing near.
"Why haven't you written this in ?" I asked. "You are aware it is a contract requirement?" He replied "Since is just another way of writing assembler, I'll just translate it when I'm done." He went on "That shouldn't take me too long." I told him about the benefits of programming in right from the start, reminded him that the deadline was growing ever closer, and suggested that he begin translating what he had already written and then perhaps he would "see the light" and be able to finish the job in . He grumbled and left.
When I saw him a few days later he was jubilant! "Wow! I hadn't realized how easy it was to write in . I began translating my stuff and gave up on it. It was much simpler just to write everything directly in . Not only did I totally re-write several weeks worth of code, but I wrote a bunch of other routines too." "I told you," I replied. "With you're free to work on the problem, not the assembly language syntax. There's no need to invent labels, think about reversing conditionals, your typing is significantly reduced, and..." He butted in, "And you can see the structure of the program right on the screen! There is no need to make a listing and draw out the looping structure with a pen, and..." I couldn't get another word in, so I just let him talk as he continued to espouse the virtues of .
To make a long story short, the project was completed, he continues to use and has never looked back. I had the satisfaction of knowing that my language was truly the productivity tool I had hoped it would be. A small footnote to this story, he didn't even have the benefit of a manual since I hadn't written one yet. All he had to work with was a single sheet of paper that I had scribbled a few notes on over lunch one day and a copy of the BNF for the language. I just showed him a few examples and that was it.
Because is so natural, once he got over his "I don't want to learn something new" attitude he took to the language like a duck takes to water. So why don't you give a try? What have you got to lose? Whether you write 100 or 100,000 lines of assembly code a year, will make your low-level programming quicker, easier, and a whole lot more FUN!
© . All Rights
The word OPTOMIZED, the name TERSE, and the logo are Trademarks of .