Richard said:
Then stop arguing with me as though I'd said something different.
And I say that the tools give an advantage which
totally overshadows any overhead to learn them.
That is at least a respectable argument. (We differ about the
value of the advantage, but you already knew that.)
Can I ask you how many people you have taught computer languages?
Not many; it's been too long since I had to.
I *know* that in my style of teaching that pointers and similar are no
more difficult that the concept of a while loop for example when taught
using the tools to do the job.
Good. FRichard, I really don't have a problem with your ability
to teach pointers or C or whatever, just with your claims that
it's /necessary/ to introduce these implementation-dependencies
to teach them effectively. May claim is, and has been, that it's
not /necessary/, and I also believe that it's extra load for
students to handle those implementation dependencies and learning
how to use the debugger.
You have said that you use the debugger routinely, so it's not
surprising to me that you value it and teach how to use it. I
don't value it as much as you, and I wouldn't /dream/ of using
it as a teaching tool in the early stages of teaching C. I
think such concentration on low-level details makes it harder
to teach the "big picture"; because C is so strong in dealing
with the low level, it's /really important/ to show how to
handle the less-detailed stuff.
What you see as a strength, I see as an issue. I don't think
we're likely to change /those/ views. I'm not arguing to
convince you (although of course that would be nice); I'm
arguing to try and pick around the subject and expose it so
that people can get a sense of what the options and considerations
are and take away whatever they find valuable.
Possibly you prefer to sit there at a chalk board and waffle on for
hours with diagrams and arrows?
You do an awful job of guessing what it is I'd do if I were
to seriously try and teach someone C nowadays. Sorry.
But I know where this is heading. its the old "debuggers are evil"
mentality again and "hard to use". Well they are not and they are
not. they are trivial to use and add much to the development/learning
process.
I know you think so, and you know I think otherwise, and we've both
vented on thsi topic before.