Michael Montalbano's personal history of APL reveals not just the evolution of a programming language, but a fundamental philosophy about the relationship between notation, thought, and technological progress. His journey through early computing organizations reveals how APL emerged as both a computational tool and a methodological framework for understanding complex systems.
In the landscape of programming language history, APL (A Programming Language) occupies a unique position—a mathematical notation that transformed into a computational tool, cherished by a devoted community yet never achieving mainstream dominance. Michael S. Montalbano's "A Personal History of APL" offers more than a technical retrospective; it presents a philosophical manifesto about the relationship between notation, thought, and technological progress.
The Dual Revolution of Computing
Montalbano identifies two pivotal ideas that have shaped computing history: the stored-program concept and the efficient-notation concept. The first, articulated by John von Neumann in 1945, established the foundation for our current digital technology. The second, embodied in Kenneth Iverson's APL, represents what Montalbano considers equally crucial: the development of effective ways to describe and think about computational processes.
"We are developing gadgets at an explosive, accelerating, self-fueling rate," Montalbano warns, "we shall be swamped by these gadgets if we don't hasten to develop and apply the ideas we need to control them." This perspective, articulated in 1982, resonates even more strongly today as we grapple with increasingly complex systems.
APL as Management Science
What distinguishes Montalbano's account is his conviction that APL's significance extends far beyond programming. He argues that "modern management is in trouble" primarily because "nobody knows what's going on." Management processes, he contends, can be expressed as "extensive, intricate digital procedures" that cannot be effectively designed, analyzed, or described without appropriate notation.
This perspective emerges from Montalbano's diverse experiences:
At the U.S. National Bureau of Standards (1948-1952), he worked on early UNIVAC programming and Air Force budget calculations, witnessing firsthand the limitations of existing notations for describing algorithms.
At the Naval Research Laboratory (1952-1954), he developed operations research techniques for man-machine systems, learning that "no numbers are frequently better than some numbers" when those numbers don't accurately represent reality.
At Kaiser Steel (1954-1961), he observed management failures rooted in inadequate information systems, including precision rounds accounting discrepancies and tin mill production reporting errors that led to more tin plate being reported than actually produced.
These experiences convinced Montalbano that the fundamental problem wasn't lack of data but lack of effective notation for describing complex processes.
The Revelation of APL
Montalbano's encounter with Iverson's "The Description of Finite Sequential Processes" represents a pivotal moment in both his career and the history of APL. He describes the intellectual challenge of understanding this new notation:
"The author's approach was so different from anything I'd ever encountered that I had a difficult time adjusting to his frame of reference. At the end of the first page, a fair assessment of my state of mind would be that I had glimmerings but no hope."
The breakthrough came when he encountered Iverson's description of George Dantzig's simplex algorithm:
"The third page had an illustration that, in a few short lines, described George Dantzig's simplex algorithm simply and precisely. That was the overwhelming, crucial experience. In the previous thirteen years, I had participated in so many murky discussions of what was here presented with crystal clarity that I knew that what I was reading was of enormous significance to the future of computing."
This experience led Montalbano to become one of APL's earliest proponents, recognizing its potential not just as a programming language but as a tool for thinking about complex systems.
APL at Stanford: The Crucible of Innovation
Montalbano's time at Stanford's Graduate School of Business (1962-1967) proved instrumental in developing APL's potential for business applications. His experiments demonstrated that APL's precise notation could eliminate the ambiguities that typically plague software development:
"In every case, what was programmed was exactly what I specified. I'll comment in a moment on how rare this is under any circumstances. But these particular circumstances were so extreme that they merit some discussion."
His students, working with completely abstract procedure descriptions, were able to implement complex algorithms without prior knowledge of the notation, simply by following the precise specifications. This contrasted sharply with the typical development process where analysts and programmers engage in extended negotiations about requirements.
The Cultural Evolution of APL at IBM
Montalbano describes the curious reception APL received within IBM:
"In the early days, those of us who believed in APL were regarded as being a little (perhaps more than a little) strange. Since much of the strangeness was concentrated in IBM Research, this was tolerated. Practical people... expect research people to be strange and are usually disappointed when they're not."
Yet this perceived impracticality eventually yielded to the undeniable utility of APL systems:
"By the time the practical people found out what had happened; APL was so important a part of how IBM ran its business that it could not possibly be uprooted. The wild-eyed researchers had produced a moneymaker."
This trajectory—from research curiosity to business essential—illustrates how truly innovative ideas often follow an unexpected path to acceptance.
Twenty Years Later: APL's Enduring Legacy
Curtis A. Jones's 2003 epilogue reveals how APL continued to evolve and find new applications. The development of APL2 addressed many of the limitations of earlier versions, and various implementations emerged across different platforms:
- APL2000 continues to develop APL+WIN for PC platforms
- Dyalog APL offers modern implementations with active development
- APLX provides APL environments for Mac and Linux
- J represents Iverson's later work, building on APL concepts
- K and Q by Arthur Whitney apply APL-like approaches to financial analytics
These implementations demonstrate how APL's core concepts—mathematical notation, array processing, and concise expression—continue to influence modern computing.
The Philosophical Significance
Montalbano's account ultimately transcends technical history to address fundamental questions about how we think about and manage complexity. His insistence on developing "ideas rather than gadgets" resonates in an era increasingly dominated by technological solutions to methodological problems.
The enduring relevance of APL lies not in its syntax or specific implementations, but in its underlying philosophy: that effective notation is essential for understanding and managing complex systems. As we face increasingly intricate technological and organizational challenges, Montalbano's perspective offers a valuable counterbalance to our gadget-focused culture.
"If we are ever to do 'systems analysis' systematically, we must digitize our procedure descriptions and manage our digitized descriptions with APL," Montalbano concludes. This vision remains as compelling today as it was when first articulated, representing a fundamental truth about the relationship between thought and technology.
Comments
Please log in or register to join the discussion