Teaching Two Programming Languages in the First CS Course
cacm.acm.org
cacm.acm.org
At least in my experience, the implementation matters. And then the number of papers that generalize results about "an object oriented language" when they mean "Java" is sickening. See also research on productivity w/ "static typing" vs. "dynamic typing".
One of the worst things about learning to program at school in the oughts was that Java was the language of choice. I have no problems (more than any other language) with Java as a professional tool, but Java as a first language is a disaster with its conceptual overload.
I have always thought of that first semester as a total waste of time. I am still a bit angry at the sheer stubborn incompetence of our department that led to this curriculum.
Jesus. Vtables. Who even thinks of that? Java is so complex. Ugh. Teach your maths freshmen calculus before you cover arithmetic, while you’re at it.
At my university it was common to teach C++ and Pascal during the first year, to both CS and EE degrees.