Skip to content

Instantly share code, notes, and snippets.

@modernserf
Last active March 20, 2024 10:42
Show Gist options
  • Save modernserf/fda371988ae8987b93d5 to your computer and use it in GitHub Desktop.
Save modernserf/fda371988ae8987b93d5 to your computer and use it in GitHub Desktop.
CLU: the Velvet Underground of Programming Languages

CLU: the Velvet Underground of Programming Languages

Abstract

CLU is the most influential programming language you've never heard of. Many of the basic features of modern programming languages -- such as call-by-sharing, iterators and thrown errors -- first appeared in CLU. How was it made? Why is it so influential? And why isn't it part of our hacker mythology? Let's delve into the history behind CLU and its creator, Barbara Liskov, and discover how this little-known language casts such a long shadow.

Details

The title is a reference to this oft-quoted comment on rock history:

My reputation is far bigger than my sales. I was talking to Lou Reed the other day, and he said that the first Velvet Underground record sold only 30,000 copies in its first five years. Yet, that was an enormously important record for so many people. I think everyone who bought one of those 30,000 copies started a band! So I console myself in thinking that some things generate their rewards in second-hand ways.

Much as the Velvet Underground was much more influential on other musicians than it was heard by general audiences, CLU has been similarly influential with programming language designers than used by programmers. CLU is still influential on programming language design, both Chris Lattner (Apple) and Joe Duffy (Microsoft) cite it in their recent work.

Also, I hint at this in the abstract, but this is specifically a reaction to the folkloric nature of popular computer science history. My own entry into the world of computing history comes from the Jargon File/Hacker Dictionary, one of the largest and best known lexicons of hacker history and culture. Yet its woefully incomplete -- the picture of hacker culture it paints is a combination of MIT during the minicomputer era with Eric Raymond's particular interests & prejudices thereafter. Our culture is far broader than the story Eric Raymond tells; I want to show people like myself the world outside of that bubble.

@brianarn
Copy link

My thoughts:

The world of programming is often derided as a "pop culture," obsessed with novelty and celebrity. And our past -- when we consider it at all -- is more rooted in mythology than history.

I love this hook. These two sentences are a fantastic setup. I'm not the biggest fan of starting sentences with words like "And" or "But", but it's working here either way.

If we want to discover the untold history of programming, we ought to look through the eyes of a pop-culture historian.

Something about this line feels like a hard shift from the setup.

So: in the footsteps of 1980s underground rock history Our Band Could Be Your Life, we'll examine some of the lesser known but influential languages and programmers that shaped the modern landscape.

The idea of examination is awesome, but the reference is lost on me, and combined with the prior sentence, I feel like I lost some excitement along the way.

The Details are awesome and I don't really have any nitpicks there, but the abstract feels half-amazing and half-ok-but-not-MUST-SEE (all IMO, as someone who hasn't organized a conf or selected talks in the past).

I'm struggling for suggestions on reworking, though. Maybe even just a simplification like:

Let's examine some of the lesser-known but influential languages and programmers that shaped our modern landscape, as a pop-culture historian might examine modern trends through the lens of the past.

Hope this feedback is of some value. I love the idea of the talk, and I feel like I'd be excited to see it as written, really. :)

@modernserf
Copy link
Author

This has been updated a bit since brianrn's comments. Here's what I think is still unclear:

  • The abstract is kind of blah. Maybe the Details should be the Abstract?
  • What are you actually focusing on? The personal biographies? The interesting features of the language? How are you measuring influence?
  • Is there any connecting narrative?
  • Why are you doing three languages instead of one? Should you just focus on Liskov & CLU? Are you afraid that you can't fill 30 minutes with this amazing woman's career?

@modernserf
Copy link
Author

i don’t know if the pop culture lens is necessarily helpful to that
or if it is, explain how it helps us look at the history of our culture!
i also wouldn’t mind hearing some about you
“hi im justin and i love our culture and history listen to me talk about these things i love”

@modernserf
Copy link
Author

the more i think about this, the more i think that these are really four different talk ideas and i'm not doing myself any favors trying to jam them all together. "Our Programming Language Could Be Your Life" is kind of what all my talks end up being about.


Update: yeah, this has been split up into 3 different talks.

@larsbrinkhoff
Copy link

For your information, there is a 1977 copy of CLU which runs on ITS.

My own entry into the world of computing history comes from the Jargon File/Hacker Dictionary

So was mine. Which perhaps explains why I'm so obsessed about ITS now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment