3 ms·
> We don't have any control over the fact that medicine and physics are complicated because they reflect nature. I don't agree that this is all that different.
by bnegreve 11y ago
> We don't have any control over the fact that medicine and physics are complicated because they reflect nature.
I don't agree that this is all that different.
In physics, some phenomenons can be either simple or complex to describe, depending on what formalism you use to describe them. And sometimes, complex formalisms can be hard to understand at first, but help producing simpler description of the phenomenons your looking at.
For example functions and derivatives are hard to understand at first, but they drastically simplify the description of classical physics.
So in programming just as in physics, you just need the right conceptual tools to describe your problem.
And while boolean logic may be hard to understand at first, it really helps specifying complex behaviors.
In that sense, I think I agree with GP: over simplifying the conceptual tools may not results in better problem descriptions.
- stevetrewick 11y agoHonest question, because this comes up reasonably often in PL discussion. Do people genuinely have a hard time with Boolean logic? If I was to make a list of things I found hard when learning about programming I'm not sure Boolean logic would make the cut.
- bnegreve 11y agoI said boolean logic because the paper mention fifth graders, which are unlikely to be at ease with complex boolean formulae. But there are number of more complex concepts that would also work: OOP, maps or reduce, mutexes and so on. To answer your question, in my experience (I taught programming 101 number of times) many people are indeed confused when they need to reason about complex if statements. Typically, they make redundant tests, and it takes a little while before they understand why it is not needed.
- stevetrewick 11y agoInteresting, thanks!