3 ms·
When programming you learn practical ways to distinguish between good and bad abstractions. A good abstraction should make it easier to reason about given probl
by jarek-foksa 9y ago
When programming you learn practical ways to distinguish between good and bad abstractions. A good abstraction should make it easier to reason about given problem and make you more efficient. A bad abstraction complicates the problem or even makes it impossible to solve because of the assumptions imposed by the abstract system.
The skill to tell apart working vs non-working abstraction is useful in real life. For example to distinguish a religion from a cult, you don't study the bible or some other holy book, instead you look how that abstract believe system has been working so far, e.g. by checking how many generations have been successfully raised with it and how much progress they made.
You also learn that almost every programming abstraction is leaky to some extent. You are very likely going to run into edge cases where the abstraction needs to be adjusted or replaced with a lower level one in order to get things done. Again, using the religion analogy, sticking to the dogma that the Earth is 6000 years old is going to make it impossible to reason about e.g. the theory of evolution.
- kingkongjaffa 9y agoThe problem with this is that the level of thinking required to implement is a level below that required to give it context, context and nuance is the key differentiation for understanding vs rote memorization. This is a skill which can still be developed though, through reflection and case study.
- cr0sh 9y ago> For example to distinguish a religion from a cult, you don't study the bible or some other holy book, instead you look how that abstract believe system has been working so far, e.g. by checking how many generations have been successfully raised with it and how much progress they made. Note - I am not an expert in any of this, but that said: “In a cult there is a person at the top who knows it's a scam. In religion that person is dead.” - Anon Examples: Mormonism - started by a known documented and convicted con artist Scientology - started (apocryphally) because of a bet Both of these new religions, both started within the last 200 years (1830 for Mormonism, 1954 for Scientology), the former having in common only certain general themes with Christianity, and then ret-conning new material in to complete the "history", and the latter making up everything out of whole, bad sci-fi cloth. One could easily argue that all religions started out as cults; certainly what we know of the historical parts of Christianity makes it a likely candidate. Likely only the very earliest naturalism-based quasi-religions lost to pre-history are among the only ones which could honestly count as "pure". Not that any of them have led to honest understanding of the world (I will allow for philosophical introspection and discussion, which definitely and ultimately led to our current scientific methods, though those methods too were influenced and pre-empted by earlier non-religious philosophical methods, particularly those by the early Greek societies). Again - these are my (perhaps flawed) understandings, though I am open to learning more, even if that new knowledge contradicts what I already know...
- jarek-foksa 9y agoAn abstraction layer can be still useful even though its core assumptions don't reflect the reality and could be easily disproven by a scientific experiment. Take classical physics for example. Just to be clear, I was not defending any religious system here, I just meant it's easier to judge their usefulness based on a practical basis because of their complexity.