Another article from a very much bygone era – we’re talking 1977, and for sure this one’s a bit over my head. I like being honest.
APL (A Programming Language) is an interactive language that allows access to the full power of a large computer while maintaining a user interface as friendly as a desktop calculator. APL is based on a notation developed by Dr. Kenneth Iverson of IBM Corporation over a decade ago, and has been growing in popularity in both the business and scientific community. The popularity of APL stems from its powerful primitive operations and data structures, coupled with its ease of programming and debugging.
Most versions of APL to date have been on large and therefore expensive computers. Because of the expense involved in owning a computer large enough to run APL, most of the use of APL outside of IBM has been through commercial timesharing companies. The introduction of APL 3000 marks the first time a large-machine APL has been available on a small computer. APL 3000 is a combination of software for the HP 3000 Series II Computer System2 and a CRT terminal, the HP 2641A, that displays the special symbols used in APL.
Enjoy.
I remember programming APL on a SuperPet, which was a 8 bit machine with bank switch memory.
The hardest part was learning using the Greek letters.
APL is not just about greek letters (and the other “strange” symbols), it’s a whole new mindset, a very interesting world in the universe of programming languages and paradigms. In my opinion, every programmer should at least have a look at it and learn the basics. This opens the mind. Nothing is worse than a programmer with a mind blocked by “the one way of doing things”. This is why I decided to learn some APL basics, and tried to read and understand APL code. It’s a very compressed form (compared to languages like Java or C), but like math, understanding the symbols lets you quickly recognize the meaning of a statement. There was a moment when I could fully understand and explain the one code line for “Conway’s game of life” in APL. Everything in it just made sense, and it was obvious what all the symbols meant, and the purposes they served. And even if you think APL is “out of this world” – it’s not; you will quickly be able to identify constructs that you know from other programming languages and paradigms.
Summary: APL is very refreshing for the open mind. 🙂
So, put APL on a list of things to learn / to enrich together with Lisp and Forth?
I might have a play around with it once i get my frankenPDP11 built
Awh the old HP Journal, it’s a great resource for computer history buffs.
I particularly like the articles they have on getting UNIX to work on the HP IntegralPC (Plasma screen/ROM based with a floppy drive — changes to schedular and no swapping allowed etc.)
http://www.hpl.hp.com/hpjournal/pdfs/IssuePDFs/1985-10.pdf
1984/1985 were suppose to be the years of the “Unix Desktop” , of course they were competing with AT&T’s UnixPC (7300/3b1) when it came to a form of ‘Desktop Unix’.
Essentially “Who needs swap when you have 7.5MB of RAM!?”
Boy those were the days.
Looking through that magazine, these things really were a marvel. It was just slapping parts together. They’re like mechanical watches. And it’s one of the things I admire still about Apple.
The modern Mac Pro is held in disdain for a reason, there were some interesting decisions made during its creation. But there’s also serious engineering in that thing as well. Both in the device itself, and the manufacturing process. But in a world of cheap quartz watches, having “mechanical watches” like the Mac Pro, the aesthetic (cosmetic and engineering aesthetic) is lost more than not.