It seems like the point of this article about programming languages to use in a Computer Science curriculum was lost in its corresponding Reddit discussion. It isn't an attack on object-oriented programming per say, but just that type-less languages like Python allow for object oriented abstractions that are transparent to students not yet ready to learn about object-oriented design.
If there's an accomplishment to C++ is that it's able to combine both strict typing and the ability for objects to act exactly like primitive types. Yes, the result is horrible, with copy constructors and assignment operator overloading, but still students can end up using those "types" as if they were simple typedef
s. But the moment students have to learn OOP, doing so with C++ would be absolutely brutal.
At the end of my 4-year Software Engineering program at Concordia University, me and other students suggested that classes should focus on two programming languages only: Java and C. Python seems more convenient for Computer Science as a preparation towards research, but for software development having one eye towards the computer architecture (C) and one towards software design (Java) seems more appropriate.
Published on November 14, 2012 at 21:19 EST
Older post: Programming Overtime
Newer post: Error Levels