Letter emailed today to BYU CS Professors:
July 31, 2016
Dear BYU Computer Science Department,
You’re insistence to continue teaching C++ is having enormous unexpected negative financial consequences for employers.
C++ continues to erode in popularity while Python continues to climb. Kevin Seppi has been right all along:
When we hire BYU CS programmers it costs us in both time and money to retrain them in TypeScript, Python, Java, Ruby or C#. Often other programmers rewrite their C++ code in another language.
The problems I outlined are rampant even in my family: Three of my children were taught C++ from your CS department. The popularity of JSON.NET is enough reason to switch to C#.
I’m told the initial reason for the BYU CS Department to switch from Java to C++ was because the BYU engineering department requested it. To that may I ask–How often has embracing the needs of niche or minority power users led the downfall of software projects?
Armed with Python as one’s primary programming language, programmers feel empowered to quickly create scripts to solve problems.
Programmers are human and humans tend the embrace easier technologies: Python and TypeScript are both easy and powerful.
Python is quickly becoming the choice for scientific programming:
MVC frameworks are being replaced by client-side frameworks such as AngularJS. TypeScript is the language choice for AngularJS 2.
From the programming language survey data I hope you can see that the world continues to abandon C++.
Over the years I have been told repeatedly that switching to another language for CS 142 is not trivial. I don’t believe that because I know I could teach it using Python or TypeScript, but if the claim is true then the argument should be considered it is even more nontrivial for programmers to switch once they have been compromised having learned C++ as their first language.
Rather than continue to propagate a mistake, please teach Python and TypeScript this fall. The positive repercussions will be enormous and long lasting:
We employers won’t have to pay to retrain, projects will cost less, ideas can get to market quicker, and we’ll have more money for philanthropical contributions.