Settings

Theme

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

6 points by Dan42 3 years ago · 5 comments · 1 min read

Reader

A long time ago, around the time Joel Spolsky was the top programming blog, I read an article that split programming languages (or was it programmers?) between "enabling" and "restricting". Or they may have used slightly different words.

But basically, "enabling" languages are about giving a lot of power to the programmer and trusting him to use it right. Today it's exemplified by the Rails doctrine of "provide sharp knives" except the article I read predated that manifesto by a few years.

And "restricting" languages were about protecting the programmer from himself, enforcing strict interfaces, strict private/public, and in general restricting/guiding the programmer to the way that is considered correct design by the language. IIRC this was exemplified by Java.

Has anyone read or remember something like that?

frou_dh 3 years ago

Sounds like Steve Yegge's wheelhouse. Possibly this post https://gist.github.com/cornchz/3313150 but there are plenty more https://ratfactor.com/yeggedex

  • Dan42OP 3 years ago

    Oh, that's very close. And a Steve Yegge blog post fits the era I'm thinking about. I think what I read was less rambling, with a narrower topic, but it was very very close to this conservative/liberal duality.

Jtsummers 3 years ago

https://wiki.c2.com/?BondageAndDisciplineLanguage

Closest I know of, but many people have probably written on this topic.

  • Dan42OP 3 years ago

    That's interesting. A bit all over the place, but that's expected of C2 :-)

al2o3cr 3 years ago

There was this talk ("Capability vs Sustainability") from 2012:

https://www.youtube.com/watch?v=NftT6HWFgq0

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.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection