Hacker News new | comments | show | ask | jobs | submit login
Guy Steele: Growing a Language (video 53:30) (video.google.com)
103 points by ashutoshm 2436 days ago | hide | past | web | 21 comments | favorite

"This is the nub of what I want to say. A language design can no longer be a thing. It must be a pattern -- a pattern for growth -- a pattern for growing the pattern for defining the patterns that programmers can use for their real work and their main goal."

One of the most incredible CS things I've ever taken in.

That's at time stamp ~13:18

I'm 100% in agreement, this applies not only to languages, but up and down the technology stack. We need to use datastores that support schema evolution, data objects that assume and open world and not a closed world.

Actually, it's at 41:53, not 13:18.

Though the lead-in just prior (41:38), is worth hearing, too.

Classic. If you care even the slightest bit about programming languages you need to watch this.

Guy Steele and Dick Gabriel gave a talk at HOPL a few years back. Another great talk. It lacked the insight of this one, but purely a joy... CS poetry. Unfortunately, I haven't been able to find the talk online anywhere.

Was it this one, perhaps? Or something similar?


This changed my life forever, if only because I got to see Guy Steele shout "More cowbell!" and dance around a handful of sigils.

Indeed! Good find! You should submit it.

reaction; the action caused by an action

While I was writing a reaction, I thought I should use only words with one syllable, and words defined in his talk.

information; facts learned. realize; be aware of

Other than the great information he gave, writing this reaction taught me how hard it is to write in this style, let alone talk for a hour. I also realized how much long words I use.

Action/writing/only/syllable/alone have multiple syllables, your post would not compile. Makes what he did very impressive.

Guy L. Steele is a person who talked in the site linked at the top of this page.

'Writing' and 'syllable' had their senses defined by Guy L. Steele in his talk, as did 'senses' and 'defined' and 'speaker'.

As I now think on this, I note that the post in which you note errors could change 'action' to 'act', change 'let alone' to 'much less', and change 'only words' to 'no words but those'. The definition for 'realize' is in need of a new definition, since 'aware' is not yet a word with a definition.

In truth, trying this mode of speech is bracing, and fun.

Well, shit. I guess this stuff is easier when you are a native speaker though ;)

If you don't understand: wait till the 10 minute mark to get what he's trying to do with you.

Truly, truly amazing.

This is one of those videos where watching the transcript just doesn't cut it. You really have to hear it to get the full effect of the awkwardness.

Is anybody else seeing strange, deterministic glitches where some of the video seems to have been snipped out?

"If you give a person a fish, he can eat for a day. If you teach a person to fish, he can eat his whole life long. If you give a person tools, he can make a fishing poleā€”and lots of other tools! He can build a machine to crank out fishing poles." That's the essence of programming.

If the river runs dry, or gets polluted, knowing how to fish won't help you. What you really need is to learn how to learn: then you can learn how to hunt when fishing doesn't work any more, or to farm when the game animals are all gone. You might even be able to learn how to program.

The famouse Statemant: "A Language needs to be designed to grow" is great. Gilad Braha (maker of the Newspeak) top this statmend by saying: "Languages need to be designed to take stuff away". Witch is pretty cool but much, much harder to do.

It would be fun use hebrew this way, in a talk about dynamic languages including tuples.

I don't know enough to take it on though, just thinking of that numerology scene from Pi.

Well worth the effort to watch. It really does make you step back and think about how we define the landscape we work in.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact