In yesterday’s Object-Orient Programming experiment class, one of my students said to me honestly that many of his classmates, including himself, had absolutely no idea about how to program with C++ language, on account of passing the obligatory course of C language under false pretences during the second year of their undergraduate study. It is true that quite a few students’ foundation is disappointing. Some of them even cannot use the basic grammar and structure of C language correctly, not to mention C++ programming, which makes me appreciate the standard of the specialized courses of students in new campus once more.
I still remember that in the first lesson of this course, I said to students, “C language is procedure-oriented, while C++ language is object-oriented. It doesn’t matter if you fail to study C programming well before. On the contrary, if the thinking of procedure-oriented programming exercises a great influence to you, it may take you longer time to receive the thinking of object-oriented programming. Therefore, believe yourself, study hard from the beginning, and you will be proficient in C++ programming.”
Thinking it now, to some extent, I become conscious of the imprecise words that I gave before. At that time, I really didn’t aware of their too bad foundation, which indeed beyond my mind. It is impossible for one who doesn’t know the basic grammar of C language clearly, which C++ language is based on, to master C++ programming.
It is completely right. Foundation is premise. One who owns it may not feel its value, but one who lacks it may realize its indispensability.