On Thu, Feb 24, 2005 at 08:39:56PM -0600, Joseph Ehlers wrote:
> Dear Python Community,

...

> My high school is not turning out programmers; we are just trying to
> expose students to computer science and programming and to help them think
> logically through problems.  We are trying to prepare them for college
> computer science.  From my research, Python's strengths seem to be:  easy
> to learn, simple syntax, fun, allows students to spend time thinking about
> the problem versus fixing syntax, transitions nicely into Java, and
> develops logical thinking.  All that sounds great, just what we are tying
> to accomplish and I can't wait for the course.  
>
> (I'm finally getting to my question.)  Now some people are telling me that
> we need to offer C++.  Help! I don't think I can fit more into the
> curriculum and do justice to any one language.  One of our goals is to
> offer AP Computer Science Java in the future and we want the students
> adequately prepared for that language.  What is the opinion of the Python
> Edu-Sig community?  Should we offer C++?  And if so, where would it fit
> into the curriculum? 

You summed up very well what you are trying to accomplish with your school's
computer programming curriculum (teach logical thinking and problem solving,
prepare for a transition into Java should the student go on to computer
science in college) and you say that Python is meeting that need.

So the question is, why are "some people" telling you that you need to offer
C++? What need do they think is not being met that C++ can fill? If "they"
are telling you that you need to offer C++, then the burden is on "them" to
explain why. The only possible reason you give for C++ is to be adequately
prepared for Java. So why not just offer Java instead of C++? Java is easier
for new programmers.

I am a professional software developer with years of experience programming
in C++. About four years ago, my company (and every other company I am aware
of) that was doing application development in C++ switched over to C# or
Java (I did both). I haven't done any C++ development since. Switching from
C++ to Java and C# at least doubled my productivity, and when I am allowed
to use Python, that at least doubles my productivity over C# or Java. C and
C++ are low-level lanaguages that are best left for low-level tasks such as
device drivers, directly interfacing with the operating system, or things
that require very high performance such as 3D graphics libraries (most
programmers just use such libraries, they don't write their own).

Sure, it may be educational to teach students C or C++ so they can
appreciate the trials that the previous generation had to go through before
we had decent high-level languages. Also teaching C or C++ can be helpful as
part of a big picture overview that includes understanding the hardware and
the operating system. Maybe those goals are what "they" had in mind when
they recommended adding C++ to curriculum, but those are not what you said
your goals were. Perhaps understanding the history, the hardware, and the OS
at that advanced level is more of a college-level goal anyway.

David H.
_______________________________________________
Edu-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/edu-sig

Reply via email to