Every time someone new to programming (who is interested in it) comes along and asks where to start. Of course, we start a flamewar of which language is best for beginners.
In this thread I would like to propose that we look at transitioning between two languages that are completely different in one particular feature set, memory management.
Personally, I think that C is a good starting language because it abstracts the system away a little bit but not enough where there is no machine (like Haskel, Scheme and some others do).
Those advocating that the beginner should start from a scripting programming language (Python, Perl, Ruby are the big 3 in this category). Once the beginner decides that he needs/wants to learn a language where there is no automatic memory management. How is that person supposed to learn to manage memory without getting fed up with C or C++ and just use the first language (s)he learned?
As for going from having to do memory management to it being automagic, I see this as a much simpler step as memory management becomes "one less thing to worry about."