←back to thread

284 points borski | 1 comments | | HN request time: 0s | source
Show context
MontyCarloHall ◴[] No.44685710[source]
Isn't this just part of the broader trend of CS departments switching away from teaching computer science to teaching computer engineering, which in turn is part of the more general trend of colleges becoming more vocational?

LISP dialects like Scheme are excellent for teaching pure computer science because they are the closest thing to executing lambda calculus expressions. Whereas Python is excellent for teaching applied computer engineering, because it's essentially executable pseudocode for imperative languages, and imperative languages are the most common language a computer engineer encounters in the real world.

replies(18): >>44685819 #>>44685842 #>>44685939 #>>44686019 #>>44686088 #>>44686154 #>>44686222 #>>44686308 #>>44686321 #>>44686533 #>>44686596 #>>44686808 #>>44687195 #>>44687197 #>>44688209 #>>44688239 #>>44688473 #>>44688736 #
SoftTalker ◴[] No.44685819[source]
Yes. One of the biggest complaints that computer science departments used to get from students is that they weren't learning any languages that employers are using.
replies(9): >>44685967 #>>44686040 #>>44686076 #>>44686138 #>>44686865 #>>44686868 #>>44687099 #>>44689054 #>>44689085 #
90s_dev ◴[] No.44686076[source]
To be fair, if you learn computer science well enough to thoroughly understand Scheme, I don't think it'll take more than a few weeks during the summer to learn Python.
replies(2): >>44686128 #>>44687285 #
kstrauser ◴[] No.44686128[source]
I disagree. You can learn the language itself pretty quickly. Finding your way through the expansive standard library will take longer. Getting a good handle on the package ecosystem is a lifetime learning project.
replies(3): >>44686393 #>>44687232 #>>44689928 #
acuozzo ◴[] No.44686393[source]
Knowing your way around the ecosystem of one programming language does not build up the intuition necessary for identifying O(n²) (or worse!) algorithms and choosing/writing O(log(n)) (or better!) ones instead.

Computer Science has little to do with science, but what it teaches you is certainly closer to science than just building a huge mental index for a bunch of work done by other people.

There's certainly value in that skill, but it has no place in a Computer Science curriculum.

This would be like taking Astrophysics students and telling them to study the details of all of the different kinds of telescopes they can buy.

replies(3): >>44686736 #>>44687346 #>>44687578 #
1. kstrauser ◴[] No.44686736[source]
That's not really what we were talking about here. The context was that compsci students want to learn marketable skills, and the claim was that if the student had learned Scheme in class, they could quickly pick up Python. And that's true, for the language itself. But knowing only the language, like never importing code you hadn't written yourself, doesn't go far along the road to marketability.

I'm not arguing that compsci should be job training, not at all. My disagreement is solely with this specific claim.

But FWIW, while I understand your analogy, an astrophysics department that didn't tell the students that there are these things called telescopes, and here's why you might use one over the other for various situations, and that they're how you're going to get the observation data you'll test your theories against, would be doing a disservice.