4 ms·
"All non-trivial abstractions, to some degree, are leaky." - Joel Spolsky > In my experience, learning OO design patterns was substantially more difficult than
by kangdolit 9y ago
"All non-trivial abstractions, to some degree, are leaky." - Joel Spolsky
> In my experience, learning OO design patterns was substantially more difficult than learning algebra, but I think this is mainly due to how CS education is carried out in many universities.
You supported my argument. In addition to this, there are many code academies that pump out graduates with almost no mathematical foundation work. Until that changes, functional languages will always take the back seat.
- lmm 9y ago> "All non-trivial abstractions, to some degree, are leaky." - Joel Spolsky If you learn Haskell you will see this is total bollocks.
- mrob 9y agoWhat's the Haskell code for preventing me touching the power switch?
- lmm 9y agoTouching the power switch will not lead to an incorrect result being returned.
- mrob 9y agoA late result is an incorrect result in real-time systems. And if time isn't an issue, what's the Haskell code that stops me overclocking the CPU enough to make it unreliable? All software is leaky abstraction because it doesn't run on abstract mathematics, it runs on hardware. I can literally smash it with a hammer and then all the "guarantees" are worthless.
- lmm 9y agoIf the CPU violates its spec then the code will violate its spec, sure. That's not an abstraction leak though - if the CPU violates its spec then hand-crafted assembly would also go wrong.
- tathougies 9y ago> All software is leaky abstraction because it doesn't run on abstract mathematics, it runs on hardware. I can literally smash it with a hammer and then all the "guarantees" are worthless. Man, if that were the only thing that could make software go wrong, we would live in a much better world.
- runT1ME 9y agoI think you fundamentally misunderstand what the word abstraction means and the point of it.