after a bit of time in this thread, where an assignment for a C++ class was being written procedurally, i started wondering how to best teach new programming students. let's assume the ultimate goal is to make developers who are skilled in large-scale, object-oriented projects. what do people think of the following? 1. procedural techniques make the transition to OO more difficult. for the above goal, starting with OO is preferred. 2. even OO projects require some degree of procedural knowledge, so: a. start with procedural, then move to OO b. start with OO, then introduce procedural once the OO skills are solid 3. procedural techniques are the basis of all coding and should be taught first: a. with a procedural-only language, such as C b. with a language capable of both styles, such as C++ or java i think it's a crime to teach procedural programming and C++ simultaneously to new programmers. then again, i learned C well before C++ was even invented, so perhaps my own bias is tainting my opinion. thoughts?