Channels ▼


A Personal History of Systems and Computers: Part 4

My First TRW Program

I began with a flowchart. I studied which instructions were supported by the model 20 and which were not. I wrote my program. I played computer. I changed my program. I went to the local IBM office, dug out the model 20's assembler card deck, and assembled my program. I fixed the assembly errors. I punched a small batch of test cards and I tested my program. The report was readable although it needed some formatting changes. The cards were indecipherable. They looked like Swiss cheese. Some columns had four or five holes punched in them while other columns were blank. The printing at the top of the card was similarly unreadable. That's when I found out about the model 20's MFCM.

From a published report:

The 2560 MFCM ("Multi-Function Card Machine") reader/sorter/punch was for the Model 20 only. It had notorious reliability problems (earning humorous acronyms often involving "...Card Muncher").

Reliability wasn't the only problem that I experienced with the MFCM. I went back to my desk on Cameron Street and plowed through manuals, changed my punch commands, and tried again. I just couldn't make the MFCM punch cards that could be used.

In the midst of my frustration, I was summoned to see Mr. Voots and I was told to bring my program listing with me.

"Kom here!" Mr. Voots said as I approached his desk.

I sat in a chair and hung my head.

"Let me see." Mr. Voots pointed at my program. I gave him my most recent listing and watched as he picked it up and looked at it. He reviewed the program so intently that, for a moment, I thought that he might actually understand basic assembler language.

"Vy do you vant to use this crazy language?" He asked.

"Mr. Voots, I'm a programmer and this is the language that I know." I explained.

"So vat are people who use the other language?" He wanted to know.

I thought about it for a minute and then a minute more.

"I guess they're called programmers, too." I admitted.

"Go learn other language," he told me. He handed me my listing and sent me on my way.

Later I found out that I never had a chance with my assembler program. The MFCM had such timing issues that in order to read a card from the read hopper, register a blank card under the punch dies, and select a stacker, the program would have to build in delays at every step. Only the IBM engineers had been able to make it work correctly and they had transferred their knowledge to the access routines used by RPG. Nonetheless, I know that I had crossed a threshold. Indeed, RPG led to COBOL and it was only after a brief stint writing Autocoder again that I got back to being an assembler programmer.

I did go to Philadelphia and I did learn RPG. I wasn't an enthusiastic RPG programmer, however, until my return. My boss asked me to try rewriting my old assembler program with the new language. It took less than an hour. It worked perfectly on the second run.

I learned that at TRW one sought the practical result and not the elegant solution.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.