Why do some colleges teach C++ instead of other programming languages?

I'm taking an introductory computer science course and was surprised to discover that the language we are learning is C++. There is a Python class, but it apparently is designed for non-computer science majors/minors and is not the main track. Any insight into the advantages or disadvantages of teaching C++, and whether this is an outdated language that might actually hurt students when they graduate?

  Topic Education/Schooling Subtopic College Tags question
3 Years 3 Answers 2.9k views

Jorge Zhang

Knowledge Areas : AP Classes, Grades, and Testing

Reputation Score: 65

Submit An Answer

Answers ( 3 )

 
  1. Sergey Zubkov 137 Community Answer

    Those are two different questions:

    > whether this is an outdated language that might actually hurt students when they graduate?

    It is one of the most widely used languages, driving major industries like auto, air&space, transportation, energy, oil&gas, telecom, manufacturing, finance, movie VFX. People interact with C++ programs in everyday life, but they don't realize that. There also are major apps such as browsers, graphics editors, word processors, Java VMs, as well as major websites such as Google and Facebook that are largerly driven by C++ and that's not going to change.


    That said,

    > introductory computer science course 

    is not a good place to learn C++, and almost certainly won't teach you anything useful about it. There is an unfortunate ever-widening gap between what professors think programming is and what industry requires.

    To quote Bjarne Stroustrup, creator of C++, from

    https://cacm.acm.org/magazines/2010/1/55760-what-should-we-teach-new-software-developers-why/fulltext  

    Famous CS professor (proudly): "We don't teach programming; we teach computer science."
    Industrial manager: "They can't program their way out of a paper bag."

    As far as I can tell, many CS professors use what they call "C++" just because that's what they were taught as students decades ago, even if C++ looks nothing like it did back then, and even back then it looked very different when used to make software. This gets to notable extremes in India, where standard curriculum uses 1992 development environment running in MS-DOS emulators.


    I'd say if you look to program in future, focus on learning CS concepts in a CS class (it doesn't matter what language is used to present them), and learn programming on your own.

    UTC 2020-09-15 08:08 PM 0 Comments
  2. For a few years I taught Physics 210 ("Computational Physics") at UBC -- see http://jick.net/p210/  I tried to expose my second-year students to as many different ways of solving the same problems as I could, from shell scripts to HTML to PHP to python to C to FORTRAN.  The idea being that whatever programming language you are taught today will not be the one you will need next year when you join a research group or get a summer job or want to build your own app.  As Sergey says, what you need to learn about computing is how it works in principle, not a particular implementation.  Arguments about "which language is best" can occasionally be rational if "best" is followed by "for..." followed by a particular class of]tasks.  The rest of the time they simply reveal the ignorance of the advocates.  

    UTC 2020-09-18 10:45 PM 0 Comments
  3. I was just speaking to my neighbor this weekend about his upcoming move. He and his family are heading out to California where he will be starting a job as a senior developer for Google. He told me that it's all C++ for the part they are working on, and that many of Google's backend systems continue to rely on C++ as their primary coding language.


    So I guess my thoughts on this would be that it's great that you're taking a coding language that is still being so widely deployed as your freshman year intro to programming. When I started college as a computer engineering major, our first programming language was Fortran. Yes, this was a long time ago (1994), but even then, Fortran wasn't being used, except in the deep dark recesses where people don't talk about. It wasn't until my 2nd semester sophomore year that we started programming in C, and then C++.


    I'd say congratulations on working in a language that is still so widely used. Also, object-oriented concepts translate to so many of today's modern languages that you will never be wasting your time in C++.  Good luck!


    UTC 2020-09-24 10:47 AM 0 Comments

To answer this question, you must be logged in.

Create an account

Already have an account? Login.

By Signing up, you indicate that you have read and agree to Sage's Terms and Conditions and Privacy Policy