5 ms·
> Imperative languages really are closer to how our minds work everyday Why do you believe this? I think it is a cognitive bias at play, where you've been trai
by Peaker 12y ago
> Imperative languages really are closer to how our minds work everyday
Why do you believe this? I think it is a cognitive bias at play, where you've been trained to think this way until it comes natural, and now it's hard to see it any other way. With these lens, you see imperative instructions everywhere.
I randomly opened a wiki page: http://en.wikipedia.org/wiki/Sine http://en.wikipedia.org/wiki/Sine
In it, you'll find a sine is not described as a series of imperative steps to compute it, but is defined as what it is. Most descriptions and models you'll find of most things are this way.
- nnq 12y agoIndeed, this is how things are described in a textbook. And how they should be. But, for example, after you've learned how to draw an ellipse using a string, a pen and two pins (like https://www.youtube.com/watch?v=7UD8hOs-vaI https://www.youtube.com/watch?v=7UD8hOs-vaI) your intuition and unconscious perception of what an ellipse is will be tied to the process of producing it and a visual representation of this process, not to the arid definition of it like "a curve on a plane surrounding two focal points such that the sum of the distances to the two focal points is constant for every point on the curve". This is why people find really learning mathematics so incredibly hard, because our intuitions are process oriented. And why you can take anyone who is not what I call a "mud-mind" (people that just can't do rigorous logical thought) and and teach him/her how to write code in an imperative language until they can get something working, while making the same person understand (not memorize!) a mathematical proof or envision such a proof is just 10x times harder. I love functional programming and being able to do "what is" reasoning about programs. But I think this is just inherently hard for the human mind to do, we're not optimized for it, we're optimized for generating sequences of instructions that we send to our muscles to execute (and our muscles and bodies and mind too are obviously stateful, btw) and we're much better at generalizing this "dirty" way of thinking even for abstract pursuits like software development...
- Peaker 12y ago> your intuition and unconscious perception of what an ellipse is will be tied to the process of producing it and a visual representation of this process What? I don't think this way at all, and I'm surprised anyone does! > because our intuitions are process oriented That is very weird for me to hear. I wonder if some sort of survey could clarify if this is actually a common way to think. > But I think this is just inherently hard for the human mind to do, we're not optimized for it Again, I think you're extrapolating from your own training/way of thinking, and I doubt this is commonly true.
- nnq 12y agoInteresting. It might make be fun to try and look for "process oriented" vs. "existence/properties" oriented people around, and will sure make for some entertaining lunchtime discussions... Like the thing with algebra-oriented vs calculus-oriented people eating corn: http://bentilly.blogspot.ro/2010/08/analysis-vs-algebra-predicts-eating.html http://bentilly.blogspot.ro/2010/08/analysis-vs-algebra-pred... :) I tend to be process oriented by default I guess, even your sine example... The sine function only "clicked" for me after I saw it as the y projection of the radius of the trigonometric circle and imagined that if you attached a pen to this point moving on the y axis while a paper scrolled at constant speed behind it you'd get that ondulating line. Now, I understand that this way of thinking quite biased (I tend to get very good intuitions about "how to build things" but not very good at explaining why they work afterwards), and it can make me miss obvious shortcuts, like looking for what properties and relationships conserve etc. and this is why I make an effort do more "what is" type of thinking about stuff... but "how to" thinking just seems more natural to me. Maybe it's "scientists" vs. "engineers" thing and programming just happens to be a middle-ground where both kinds of people are frequent :)
- Peaker 12y agoBy the way, I relate to the sine as y projection of a unit circle too, far more than the triangle ratio. But I relate to it by thinking of the y coordinates of the points between x=-1..1 in a unit-circle, without any drawing utensils/pens/etc. I don't see why it makes anything easier to consider the process here, rather than just the set of y points, I need to ask some people at work to see how others see it. Can more people chime in here, perhaps?
- kazinator 12y agoI don't see how you can separate the two. A point on a unit circle describes a triangle formed by the horizontal step along the X axis, and then a vertical step to get to the circle. The sine is the vertical step, for a unit circle. For a non-unit circle, this has the wrong scale, which is normalized by dividing by the circle radius. And that radius happens to be the third side of the triangle, the hypotenuse. You can ignore the triangle aspect when you assume the unit circle, which makes the hypotenuse 1.
- tel 12y agoNot that I'm going to claim the "default state of human cognition" is either sequential or "functional"... but I'll add anecdote to Peaker's anecdote and state that the way you're describing your mental processes feels very alien to me as well.