Skip to main content
added 9 characters in body
Source Link

The advantage of C++ for teaching programming is that it is reasonably close to the actual raw workings of the computer whilst being high level enough to teach higher level concepts. The features added in recent versions of C++ are mostly features designed to avoid working with lower level workings so using these features detracts from the pedagogical advantages of C++.

There's also probably some aspect that CS Professors are not necessarily interested in keeping up with the bleeding edge of C++ language design and fashion. These are not relevant to the kind of things that most Computer Scientists are doing. Many departments agree which language to use for base courses at the departmental level and these discussions and any changes can be highly political. This is a considerably obstacle to change.

How well it prepares you for industry depends on where you end up, there are plenty of C++ jobs out there with companies that don't use modern C++ features (the last one I had was using C++14, and used their own libraries rather than STL for most everything). But in any case, fresh graduates are expected to need six to twelve months to become properly productive in the workplace anyway, so it's not a particularly big deal whether or not you've learnt some corner of the STL.

The advantage of C++ for teaching programming is that it is reasonably close to the actual raw workings of the computer whilst being high level enough to teach higher level concepts. The features added in versions of C++ are mostly features designed to avoid working with lower level workings so using these features detracts from the pedagogical advantages of C++.

There's also probably some aspect that CS Professors are not necessarily interested in keeping up with the bleeding edge of C++ language design and fashion. These are not relevant to the kind of things that most Computer Scientists are doing. Many departments agree which language to use for base courses at the departmental level and these discussions and any changes can be highly political. This is considerably obstacle to change.

How well it prepares you for industry depends on where you end up, there are plenty of C++ jobs out there with companies that don't use modern C++ features (the last one I had was using C++14, and used their own libraries rather than STL for most everything). But in any case, fresh graduates are expected to need six to twelve months to become properly productive in the workplace anyway, so it's not a particularly big deal whether or not you've learnt some corner of the STL.

The advantage of C++ for teaching programming is that it is reasonably close to the actual raw workings of the computer whilst being high level enough to teach higher level concepts. The features added in recent versions of C++ are mostly features designed to avoid working with lower level workings so using these features detracts from the pedagogical advantages of C++.

There's also probably some aspect that CS Professors are not necessarily interested in keeping up with the bleeding edge of C++ language design and fashion. These are not relevant to the kind of things that most Computer Scientists are doing. Many departments agree which language to use for base courses at the departmental level and these discussions and any changes can be highly political. This is a considerably obstacle to change.

How well it prepares you for industry depends on where you end up, there are plenty of C++ jobs out there with companies that don't use modern C++ features (the last one I had was using C++14, and used their own libraries rather than STL for most everything). But in any case, fresh graduates are expected to need six to twelve months to become properly productive in the workplace anyway, so it's not a particularly big deal whether or not you've learnt some corner of the STL.

Source Link

The advantage of C++ for teaching programming is that it is reasonably close to the actual raw workings of the computer whilst being high level enough to teach higher level concepts. The features added in versions of C++ are mostly features designed to avoid working with lower level workings so using these features detracts from the pedagogical advantages of C++.

There's also probably some aspect that CS Professors are not necessarily interested in keeping up with the bleeding edge of C++ language design and fashion. These are not relevant to the kind of things that most Computer Scientists are doing. Many departments agree which language to use for base courses at the departmental level and these discussions and any changes can be highly political. This is considerably obstacle to change.

How well it prepares you for industry depends on where you end up, there are plenty of C++ jobs out there with companies that don't use modern C++ features (the last one I had was using C++14, and used their own libraries rather than STL for most everything). But in any case, fresh graduates are expected to need six to twelve months to become properly productive in the workplace anyway, so it's not a particularly big deal whether or not you've learnt some corner of the STL.