What makes a language flourish? - Invincible Summer
Invincible Summer
|||
Invincible Summer
politics<br>journal<br>arts<br>software<br>wellbeing<br>views<br>philosophy<br>travel<br>humour<br>verse<br>poetry<br>memoir<br>cycling<br>bikes<br>post-secular<br>music<br>law<br>food<br>environment<br>community<br>work<br>view<br>myth<br>history<br>epistemology
Home<br>Archives<br>Search<br>Feed<br>About<br>Bookshelf<br>Films<br>Commonplace<br>Verse<br>Tips<br>And now this<br>Autococonut
Jun 7, 2021<br>software
What makes a language flourish?
Or: Why can’t I speak Latin?
As a young man already at work as a programmer, I was introduced to APL by a colleague who claimed to have resigned from IBM by wearing a white suit to work. I loved the cryptic language he showed me and its elegant glyphs. The first six numbers in reverse order?
⌽⍳6<br>6 5 4 3 2 1
How cool that I could write ⌽ for reverse.
Since then I have been a champion of APL and other languages (A+, J, k, q, etc.) derived from the notation Ken Iverson devised at Harvard. (I’m going to call them vector languages.)
What’s the appeal? I could bore for England on the advantages of vector languages, but here I want to confess that the appeal for me is primarily aesthetic. Something in the languages – a kinship to linear algebra, perhaps – pleases both my inner mathematician and my inner poet. Writing a good problem solution in a vector language nourishes both of them. Writing vector solutions never gets old.
It has taken me until old age to concede this, because it sounds disreputable. If we want to use vector languages, we need arguments that move the guardians of corporate technology stacks. Why should they let APL or q on their stack? My aesthetic thrills don’t come into it.
Who can tell us, Phaedrus, what is good and what is not – and do we need anyone to tell us these things? — Plato
Arguments about the relative merits of languages are generally conducted in terms of properties such as code volume, computational efficiency, development time, maintenance cost, and so on. I avoid such debates these days, even though I might learn from them something interesting and factual about other languages. I avoid them because the arguments never resolve. The debate never concludes that X is the better language. We just present our cases and agree to differ. I suspect this is because I am not the only language champion for whom the attachment is not rational but aesthetic. It is not analysable. The heart wants what it wants.
So I am thinking about why languages flourish and what language champions – evangelists? – have to do with that. I’m remembering particularly how deluded I was about the future of APL.
Let’s put the future behind us
It seemed clear enough at the time. Years before personal computers appeared, you could get personal computing with an account at a computer timesharing service. (In those days, for some reason: bureau.) You connected a terminal, started something like a shell session, and off you went. You paid for the CPU time you used. (Cloud platforms today give me a frisson of déjà vu.)
APL characters on a typewriter ‘golf ball’
IBM 2741 APL terminal
BASIC (an ancestor language of VBA) was a popular choice; APL another. IBM trained hosts of its managers to use APL for budgeting. Working for an APL bureau, it was my pleasure to help customers write or use APL programs to manage their work. I trained as an instructor and taught many people to code. Everyone agreed the language was a brilliant way to calculate their budgets, and so on. Eventually, I supposed, everyone would code this way. We would move on from tedious and annoying loops; most programmers would use APL. One day.
So that didn’t happen.
What did happen? The tide went out, and swept away the users. They had all agreed the language was brilliant – a wonder really – but when the first microprocessor-based PCs appeared, they bought them and rewrote their budgets as spreadsheets. Beauty wasn’t enough to keep the timesharing accounts open.
And we language champions, more firmly rooted, found ourselves standing ankle-deep in mud, scanning the horizon for our lost users. So to speak.
Not all at once, of course, and not suddenly. APL remains in use to this day. In fact, as a development environment, a modern APL interpreter on a machine with oodles of memory surpasses the wildest dreams of the language’s heyday.
Hey ho.
I don’t think they lied to me. All my customers who marvelled at what they could do with APL weren’t just being nice. They just meant something different. I loved being able to use the language; they loved what they could do with it. As the Zen proverb puts it, I mistook the pointing finger for the moon.
Which brings me to my first proposition.
A flourishing linguistic community has many users and several champions.
What’s the difference? Users use the language to get what they need. Champions – for whatever twisted reasons – love using the language and want others to share their pleasure.
You can see the same pattern in natural linguistic communities. Most...