- This event has passed.
APL BUG: APL2: Early Years: Can You & Should You Compromise on Technical Issues?
February 23, 2013 @ 2:00 pm
APL BUG (Bay Area User Group) Meeting
APL2: the Early Years: Can you and should you compromise on technical issues?
Jim Brown’s talk originally given at York University at a commemoration of the 50th anniversary of Ken Iverson’s book “A Programming Language”
Date: Saturday 23 Feb 2013
Location: SJSU, College of Engineering
Room ENG 339
(E San Fernando St & S 7th St, San Jose CA 95112)
Mathematical decisions are made by providing proofs and there is seldom a need to make arbitrary decisions. Yet Indiana bill #246 in 1897 mandated that the value of pi be set at 3.2 (although three other incorrect values for pi are mentioned in the bill). The bill did not become law but the case points out the folly of people attempting to decide technical issues by consensus.
Scientific matters should be decided by the evidence but often are supported by unproved hypotheses. For example, despite overwhelming scientific evidence of global warming, some choose to deny the validity of the premise.
Programming language design is much less exact. It involves issues of style and elegance that are subject to interpretation and taste.
It has been reported that decision in the early days of APL were made by what was called “The Quaker Consensus” – decisions were deferred until all the parties agreed. As the APL community grew larger, the Quaker Consensus became impractical.
The technical decisions involved in the extension of APL to what became APL2 involved two sides with strongly held positions. I was responsible for the technical content of APL2 and I attempted to get agreement on as many facilities as possible.
While many of the compromises made in those days served to make APL2 a better notation, this presentation concentrates on compromise decisions that I made which I now regret. Some of these decisions were reversed before the production of the IBM Program product but others were not and remain in the language today.
Jim Brown’s Ph.D. thesis contained many of the extensions to the APL that put the “2” into IBM’s APL2. He was IBM’s chief architect for APL2. After retiring from IBM he founded SmartArrays with James Wheeler from STSC/Manugistics/APL2000.