Skip to content
0:00 / 0:00

#clojure#ousterhout'sdichotomy#programminglanguagedesign

Ousterhout's Dichotomy Isn't (Part 2 of the Simplicity/Power/Focus Series) - Stuart Halloway

ClojureTV

111K subscribers • 159 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Stuart Halloway, co-founder of Cognitect
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

2.7K views13 years ago1 recommendation

Programming languagesSoftware designLanguage design and type systemsLisp and ClojureSimplicity and complexity

Stuart Halloway challenges the division of languages into system and scripting categories, explaining how Clojure's design provides unified power.

Ousterhout's Dichotomy attempts to split the language world into system and scripting languages. This split isn't simple, and doesn't work. But understanding where it fails is a great way to approach the concept of power in programming languages. In this talk we will cover - what it means to be powerful - how Clojure's design gives you power - the relation between power and stratification - why the numerics changed in 1.3 - a post-Ousterhout classification scheme that is more useful - some predictions for Clojure's future.

Why it's here

1 person recommends this

What people say. Recommended as a fundamental design talk for understanding Clojure's philosophy and language power.

u/nickikin r/Clojure • Recommends

On “Resources for thinking in Clojure?”

I love rich hickeys talks: > Are We There Yet? > Simple Made Easy > The Value of Values > Design, Composition and Performance > Clojure core.async > The Functional Database > The Language of the System (link to this video > Other Sources: http://www.infoq.com/author/Rich-Hickey These are not how-tos, there are very fundamental design talks. If you listen to these, you will understand clojure, you will understand almost every aspect of its design and you will understand if your code is good or not. PS: > Take as a simple example: I'm writing a program which processes files, and creates entries in a database. Frequently it's useful to cache items I created earlier so I don't create duplicat…