4 ms·
"The worst injuries I've ever seen were in big factories with large, powerful tools -- not in home garages where people just use hammers and hand-saws." Powerf
by jonahx 8y ago
"The worst injuries I've ever seen were in big factories with large, powerful tools -- not in home garages where people just use hammers and hand-saws."
Powerful abstractions are... powerful. They're more difficult to use correctly, and take longer to learn.
The conclusion shouldn't (always) be to avoid them entirely.
- crdoconnor 8y agoA good rule of thumb is the more powerful the language the stronger your justification needs to be for using it: https://en.m.wikipedia.org/wiki/Rule_of_least_power https://en.m.wikipedia.org/wiki/Rule_of_least_power LISP is, of course, way more powerful than most languages so it is more susceptible to technical debt.
- weavejester 8y agoI've used that quote from Berners-Lee in a presentation before; it's one that I tend to agree with. However, I think you've drawn the wrong conclusion from it. We want to choose the least powerful language for the job, but the least powerful language is frequently domain specific. Ideally you'd want to develop within a framework that makes it easy to develop restrictive, domain-specific languages. I'd suggest that Lisp is actually a good basis for this, as S-expressions make it easier to build smaller languages. Clojure in particular seems to be heading in this direction. Cognitect has spec and datomic, and there's been some interesting ideas from Christophe Grand (IIRC) about using relational programming outside the database.
- raspasov 8y agoSimplicity matters more than power.
- preommr 8y agoI'd wager good money the exact opposite is true. Big factories should be better regulated and more professional leading to less accidents. It's the weekend dad with a beer in his hand trying to get something done quickly that saws through their tendon and fucks up their wrist. Also python is definitely not as simple as a hammer and hand-saw.
- jonahx 8y agoAllow me to direct your attention to one of the internet's hidden gems: https://www.youtube.com/user/USCSB/videos?view=0&sort=p&flow=grid https://www.youtube.com/user/USCSB/videos?view=0&sort=p&flow... Beyond that, these metaphors have gotten too out of hand to have a meaningful conversation :)
- KaiserPro 8y agoIf you let an arrogant idiot loose on a 15kw CNC machine, they will without a doubt cause a massive injury to them, and given the power to others. If you let them loose on a pillar drill they might get a scratch and a broken bit. Of course no company would ever let a newbie loose on a multi million pound CNC machine without a battery of training. And this is where the engineering part of "software engineering" falls down. Companies rarely provide training, documentation or audit trail for junior devs. All something required if you were doing real engineering.