Growing a Language

E567333

"Growing a Language" is a well-known talk and essay by computer scientist Guy L. Steele Jr. that uses a constrained English vocabulary to illustrate principles of language design and extensibility in programming languages.

All labels observed (1)

Label Occurrences
Growing a Language canonical 1

How this entity was disambiguated

Statements (45)

Predicate Object
instanceOf conference talk
essay
author Guy L. Steele Jr. NERFINISHED
creator Guy L. Steele Jr. NERFINISHED
emphasizes clarity and simplicity in language design
evolution over time rather than fixed design
importance of orthogonality in language features
small core language plus libraries
field computer science
programming languages
focusesOn composability of language features
design of languages that can grow
minimal cores with powerful extension mechanisms
user-extendable language constructs
genre computer science essay
technical talk
hasSpeaker Guy L. Steele Jr. NERFINISHED
illustrates design of extensible programming languages
importance of user-defined abstractions
incremental growth of expressive power
relationship between natural language and programming language design
use of constrained vocabulary to explain complex ideas
influenced thinking about language cores and libraries
influencedField design of modern programming languages
discussions of extensible languages
isWellKnownFor advocating extensible programming languages
clear exposition of language design principles
demonstrating language growth through constrained speech
language English
mainSubject abstraction mechanisms
domain-specific languages
language evolution
language extensibility
libraries as language extensions
macros
metaprogramming
programming language design
semantics of programming languages
syntax design
targetAudience computer science researchers
programming language designers
software engineers
usesRhetoricalDevice analogy between natural language growth and programming language growth
gradual introduction of new words
restricted English vocabulary

How these facts were elicited

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Guy L. Steele Jr. notableWork Growing a Language