Geoffrey Robertson wrote:
>
> I'm currently preparing a 1 semester programming course for
> beginners. (on Linux) And I'm in a quandary as to what
> to teach.
>
> The previous two semesters I've taught 9 weeks of C followed by
> a 9 week mish mash of Perl, PerlTk, Fortran, C++, Python, whatever.
> see:
> http://slug.org.au/tafe2000.shtml
>
> Next semester I'm thinking of teaching 9 weeks of C++ and 9 weeks of
> Python. For a change. I'll be learning as I teach.
>
> Which should I teach first, Python or C++ ?
Python, if only for the fact that it's a violation of international
human rights law to force new programmers to cope with the slablike
edifice of C++ (it's like teaching toddlers to swim by weighting them
with lead sinkers and tossing them into the deep end. A few have the
presence of mind to keep their heads above water and become "naturals",
the rest...)
The major problem is that it's a huge, complicated, inconsistent
language and can't be learned very effectively in installments. Even to
do something as simple as creating a container without heartache
requires one to understand templates and other advanced features. Plus,
the very design of C++ militates against it for new programmers.
There's now good evidence that new programmers learn well with
dynamically typed languages, and poorly with statically typed languages,
well with dynamic and introspective languages that lend themselves to
interpretation, and poorly with compiled languages. Python wins over
C++ every time.
--
SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
More Info: http://slug.org.au/lists/listinfo/slug