On Mon, Mar 30, 2020 at 8:13 AM Diane Bruce <db at db.net> wrote:
On Sun, Mar 29, 2020 at 05:33:35PM -0600, Warner Losh
wrote:
On Sun, Mar 29, 2020, 5:10 PM Diane Bruce via
cctalk <
cctalk at classiccmp.org>
wrote:
...
He was lucky the card deck was in order. One of my first jobs was to read
in old, horrible FORTRAN IV from punch card, then check it against a
listing the boss had and edit to match... This was the same place we
wrote
A dropped card deck was disaster and how many folks filled in columns 73
to 80
with an index? Not very many. :-(
Worse: 80% of the cards had that, but the other 20% didn't since they were
later bug fixes.
The decks that I had to verify were from the "in the barn" days of the
company and had sat in storage for a few years. People would remove cards
from the top box in the stack to show visitors and
weren't great about
putting them back exactly in order... So when the boss, who
was sure he
did a program just like that back "when he was running this place out of my
barn," discovered things weren't perfect it fell to me to 'fix' it
because
I was minimum wage high school kid help... No totally dropped decks, at
least, and once I got them read into the computer I could edit them with a
semi-real editor (visual TECO at a glorious 4800 baud). and I learned a lot
about FORTRAN and just how bad it could be (the boss was a great
businessman, much better than his FORTRAN prowess).
malloc for
FORTRAN and passed around all kinds of crazy data structures
that offset into the malloc arena so it would run on both the pdp-11 and
the vax...
Ah yes the LARGE array with indexes used as pointers trick. *ugh* I
remember.
Yea. And ugly tricks to overlay/alias heap1, heap2 and heap4 (which were
for byte, word and longword access respectively). And converting between
the different "pointer" types. It was helle ugly... But pointers in C that
I learned a few years later were a piece of cake in comparison...
Thankfully none of the boss' code was like this, and it got left behind
when they moved to this code base.
I also remember the implementation of Fortran on the
university computer
one could abuse the assigned goto and have it execute your own assembler
code on the fly. ;)
Ha! We had some assembler for the most time critical bits, but we wrote
that in MACRO-11 directly and linked it in.
Warner