Skip to content
0:00 / 0:00

#garybernhardt#capabilityvssuitability#softwarehistory

Mountain West Ruby 2012 Capability vs. Suitability by Gary Bernhardt

Confreaks

42K subscribers • 83 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • A classic. People kept recommending it from 2015 to 2023.
  • Presented by Gary Bernhardt
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

21K views14 years ago2 recommendations

Software designProgramming languagesLanguage design and type systemsSoftware architectureSimplicity and complexity

Gary Bernhardt explores how software history moves in cycles of reaction, distinguishing between highly capable tools and highly suitable, restricted tools.

Software marches forward; each new piece is better than the last in every way! Not quite... it's a bit more subtle than that. There are patterns in the history of our industry: each tool or practice is a reaction to something before it. By paying attention to the pattern, and to the types of reactions, we can better understand our history and our current tools' place in it. More importantly, we can avoid repeating the mistaken reactions that our predecessors have had to new tools.

Why it's here

2 people recommend this

What people say. Engineers frequently reference this talk to explain the trade-offs between enabling and restricting features in programming languages and tools.

thristianon Hacker News • Recommends

On “Programming in a Mad Max Wasteland”

See also the Gary Bernhardt talk, Capability vs. Suitability: link to this video Some technologies are radical new developments designed to give people some new capability they never had before. Other technologies are refinements of some previous capability technology, restricting the capabilities but more suitable for some particular problem-space or setting. It's not necessarily "nobody has big ideas anymore", it's just a natural cycle. On the other hand, if you want a less-charitable view, consider this: programming in the 1980s was dominated by ideas from C, a language developed in the 1970s. Programming in the 1990s brought the influence of Smalltalk, a language developed in the 1970s. The 2000s s…

al2o3cron Hacker News • Recommends

On “Ask HN: Enabling” vs. “Restricting” in Programming”

There was this talk ("Capability vs Sustainability") from 2012: link to this video Very nearly exactly what you're describing; not sure if it's the same thing you were thinking of, or just part of a similar thought-wave at the time.

zachroseon Hacker News • Mentions

On “Create your own dysfunctional single-page app”

Using Elm, even a little bit, has given me a perspective on what a different language can do in the browser. If you subscribe to Gary Benhardt’s Capability/Suitability theory of programming history 1, JavaScript is the highly capable technology that can be used for any sort of architecture you can imagine, and Elm is a turn towards suitability that says, “some of those architectures are unsound or have a very low floor for quality.” You might want to abstract over DOM APIs for different reasons, but at their semantic core they are fine. 1 link to this video

fnord123on Hacker News • Mentions

On “Absence of certain features in IRC considered a feature”

This really comes back to the Capability vs. Suitability model that Gary Bernhardt has spoken about: link to this video IRC is capable. It is a box of nuts and bolts that lets us communicate and build awesome bots and so on. Bloating the protocol gives us suitability: features that are robust and can federate.