This actually came up for me at the office. I was asking a bunch of questions about the Z transform and the Fast Fourier Transform. The person I was talking to said, "Hey, just call the function in MATLAB, it doesn't matter how it works, just that you understand what it is saying."
All of my life I have rebelled at this notion. My earliest recollection of running into it was when I was in grade school and took apart three wind up alarm clocks, each more carefully than the one previously. My Mom was curious what I was looking for and I told her, "How does a clock know how long one second is?" She didn't know, and I didn't know, and while I had mastered using a clock and accepting that it would go off when I set it to go off, I didn't really "know" how a clock worked until I had taken apart and identified, (and modified to validate the identification :), the escapement.
surely there's some tension between these two extremes. for someone learning how to _use_ FFT's, treating them as a black box for a while is useful so they can build some intuition etc and then, if it floats their boat, go back and dive deeper. as a chemist, I didn't give a rat's how the thing worked, I had spectra to analyse...
Conversely, if you had to deep dive everything, you would not get _anything_ done since there's always a deeper level.
Maybe it's just an experience thing where you start to appreciate that for most things (probably all bar one or two) you are just the privileged user of other people's expertise.
I don't think I was clear in my comment, I personally find great joy in learning things (which makes me something of an autodidact) its just one of those things.
My desire to understand things though has never been a hindrance to using them. Long before I understood how compilers worked I was using them daily, long before I understood how PN junctions did what they did I was soldering diodes into boards.
It only generates tension when I want some tool to do something that it cannot do, and reasoning about whether the constraint is due to the tool or the implementation of the tool can only happen if I really understand what the tool is actually doing.
agree. it's when something doesn't work at the edges and you desperately need it to is when you're often ready to learn. motivation (desperation ;-) is a marvelous incentive.
This actually came up for me at the office. I was asking a bunch of questions about the Z transform and the Fast Fourier Transform. The person I was talking to said, "Hey, just call the function in MATLAB, it doesn't matter how it works, just that you understand what it is saying."
All of my life I have rebelled at this notion. My earliest recollection of running into it was when I was in grade school and took apart three wind up alarm clocks, each more carefully than the one previously. My Mom was curious what I was looking for and I told her, "How does a clock know how long one second is?" She didn't know, and I didn't know, and while I had mastered using a clock and accepting that it would go off when I set it to go off, I didn't really "know" how a clock worked until I had taken apart and identified, (and modified to validate the identification :), the escapement.