Mountain West Ruby 2012 Capability vs. Suitability by Gary Bernhardt

Confreaks · 21K views · 2012 · 19:44

Open on YouTube

Software architecture & designProgramming language designtalk

Why Hacker News recommends it

HN commenters reuse the capability-versus-suitability framing to discuss languages, restriction versus freedom, and tool design.

What it is

Gary Bernhardt argues that software history moves in reactions to earlier tools, and that new tools are not simply better in every way. He distinguishes capability (what a tool allows) from suitability (what it fits), and warns against repeating past mistaken reactions.

Recommended by 2 HN commenters across 2 different months, 2015 to 2023.

What Hacker News said

Recommends thristian · 2015-10 · on “Programming in a Mad Max Wasteland”

See also the Gary Bernhardt talk, Capability vs. Suitability: [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

Recommends al2o3cr · 2023-06 · on “Ask HN: Enabling” vs. “Restricting” in Programming”

There was this talk ("Capability vs Sustainability") from 2012: [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.

Cites zachrose · 2018-10 · 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] [this video]

Cites fnord123 · 2019-07 · 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: [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.