Anecdotally I've heard that very few CS programs even use C++ anymore, and schools now favor Python because students find it more accessible.
Anecdotally I've heard that very few CS programs even use C++ anymore, and schools now favor Python because students find it more accessible.
But not sure that using Python as the specific tool is so bad--based on the MOOC that's what MIT uses in Intro to Algorithms. May be better than spending a lot of time on the vagaries of C++ which are certainly relevant to system programming (though that's probably slowly switching to Rust) if your focus is on algorithms and other design details.
"Computer science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes. Science is not about tools. It is about how we use them, and what we find out when we do."
* https://quoteinvestigator.com/2021/04/02/computer-science/
* https://en.wikiquote.org/wiki/Computer_science#Disputed
Perhaps a trade school would be better if someone wants to focus on 'just' programming.
You sound like a physicist who thinks mechanical engineers are unnecessary because we have physicists and car mechanics.
Or I sound like someone who recognizes that physics and computer science, and mechanical engineering and computer engineering / programming, are different areas of activity.
Python gets language difficulty out of the way of learning a given algorithm. Bonus points for exacerbating the time issue when trying to introduce Big O timing notation. The kids can actually "feel it" in an in your face kind of way.
Systems, it's different, as you say.
Compilers. Different AI courses. And on and on. Each you may have legit reasons for using different languages.
The concern starts to grow when Python is being used across many courses to the exclusion of any other language or technology. That's the issue that's growing across CS departments right now. Couple that with kids who have no interest in learning the other languages on their own and voilá! You have an issue with uninterested kids graduating, but now they're also unprepared.
I think there's still value in starting with C and C++, to see where it's coming from and see how much tooling and DX has improved, but I can't really blame courses jumping directly to the more useful things.
And we're back to the discussion of what is the point of a University CS education. I would argue that learning something like C++ is important for the same reason something like Lisp or Haskell is important. Not because it will necessarily help you get a job, but because it introduces you to new concepts and a new way of thinking about programming and computation that will be useful no matter what language you end up programming in for a living.
I had a high school BASIC class but that was about it.
No, you're good, this is the natural reaction of basically all programmers except for those strange beasts known as Java programmers who believe verbosity and needlessly complex yet organized in a twisted sense is nirvana, in the same way the accountant sees the tax return as nirvana. Many other language enthusiasts such as C, python, or LISP, will also get a bad taste for Java. Of course there are other gnarly languages such as APL or SAS.
If I were at a school where they are teaching JavaScript or Python, you kind of already know that program is more "money grab" than "study of computing technologies".
College should not be about teaching a specific language. It should be teaching the programming skills needed to pick up any language. Python is just as good as C++ in this regard. In fact, if python is an easier on ramp and get people excited about programming and show shows them what’s possible before crushing their soul with C/C++ then I say go for it.
In college, I regularly wrote my programs in PHP language I had taught myself prior to college and then converted them to see to submit my homework/test. While PHP was obviously much slower to run, it let me iterate and develop faster than my peers.
In fact, I find it borderline fraudulent that so many colleges waste time on a language that most graduates will never use. Python knowledge is way more useful than C++ knowledge in my opinion, especially for a new grad.
Then again, I have a very dim view on college CS programs as a whole. They aren’t just fighting the “last war”, they are fighting a war from decades ago. Almost everything that I used in my first job were things that I taught myself, not things that I learned in college. That was one big reason why I dropped out of college my junior year I wasn’t learning anything that was useful for my field. The professors were pedantic and cared about silly things like making sure I put a semicolon at the end of each of SQL queries that I wrote for an exam.
Python is the primary language for scientific computing and the secondary language for a good number of other tasks.
Tell me you've been in the field for less than 10 years without telling me.
Python is a joke language with a joke name. The only reason it ever caught on for AI is that someone wrote a few good math libraries for it in the 2000s, and its' rise is entirely incidental to that.
Python's ecosystem is massive and there are lots of use cases[0], basically data analysis, machine learning, deep learning and all the rest of AI run on Python.
[0] https://lh3.googleusercontent.com/keep-bbsk/AFgXFlJPnxraSopK...
If you're saying that all of AI runs on python, then what's the problem here? Implicitly students will need to learn python as part of their AI class.