"If you only needed to learn the concepts, then the choice of language is completely irrelevant, since you'll never be needing to make a program after you learn how."
Um...no. While they're futzing around with pointers and core dumps and destructors and copy ctors etc, they could be learning variables, functions, looping, etc.