Essays/GoodAlgorithmsWinOverTin

From J Wiki
Jump to navigation Jump to search

by Bob Bernecky, communicated by Ian Clark. April 2021.
see also: Essays/ImplementingInnerProduct

A few of us at I.P. Sharp Associates ported SHARP APL to the PC when that came out. When IBM announced the XT/370 expansion card for the PC/XT, we snagged a few of them, probably with help from Lisa Fincato, our IBM sales rep. And then, we got the AT/370 card, which was almost entirely usable as an APL system. SHARP APL on the AT/370 ran at about the same speed as an IBM 360/40 mainframe, so it definitely represented a threat to IBM's big iron business: The cards were expensive to purchase, but probably ran about the same price as a one-day rental of a 360/40.

IBM could have cranked the entire PC business into a 370-compatible architecture, but the bean counters ensured that it was hidden under as many baskets as they could find. The 370 architecture of that day would still have been a far superior system to the rubbish X86 "designs" that we have now. Oh, Atlantis!

I may still have one of those cards kicking around, and I donated another to the Canadian Computer Museum at York University. It was still working when I last saw it, running SHARP APL/PC370 (name?) thanks to an assist from Bill Kindree, and support from Dr. Z at York University.

We took one of our AT/370 (or maybe it was just SHARP APL/PC, running our hand-crafted S370 emulator. Not sure...) systems to APL86 in Manchester, UK, and demonstrated it at the IPSA booth there. I had earlier designed* fast algorithms for inner products on SHARP APL, and proceeded to race our PC interpreter on that against Jim Brown and his APL2 (dialup connection) system. My STAR algorithm did (at least) 32 bits at a time, so those inner products ran about 1000X faster than previously.

I showed Jim something like +/,M∨.∧⍉M←1000 1000 ⍴0 1 and it took maybe seven seconds. He then tried it on his gonzo Big Iron, and after waiting a few minutes, gave up, but could not break out of execution of the expression, so hung up the phone. He tried again later, with the same result, only to receive word from the data center operators to please stop what he was doing, because he had crashed their entire system. Twice.

Good algorithms win over tin.