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
