5 ms·
At Oxford University in the UK, students are taught exclusively Haskell in their first year - a language designed by a committee of some of the worlds best comp
by willtim 11y ago
At Oxford University in the UK, students are taught exclusively Haskell in their first year - a language designed by a committee of some of the worlds best computer scientists. An institution that teaches Python under the banner of computer science, certainly loses prestige in my opinion.
- collyw 11y agoI don't know the Haskell ecosystem, but my guess is that Python will have many more libraries already developed for scientific tasks.
- willtim 11y agoFor computer science, I doubt it.
- yenda 11y agoYou can doubt as much as you want it's just a fact. But I'm not saying it's good either. As much as I like python as a scripting language I don't think that's it should be use as widely as it is now. Concerning Haskel it still lacks some pragmatism to solve some pratical problems such as install and cabal hell.
- willtim 11y agoThere are countless parsing libraries, compilers and cutting edge research done in Haskell. My guess is that you are thinking of NumPy and similar wrappers over older C/Fortran code. A computer scientist would seek to design something better, perhaps by exploiting algebraic properties not considered by NumPy. Universities teaching Python is a relatively recent phenomenon, perhaps to appease industry. EDIT: cabal came from industry and was based on ideas from the Java, Python, Ruby communities. The Nix packager better embodies the ideas of Haskell.
- codygman 11y ago> Concerning Haskel it still lacks some pragmatism to solve some pratical problems such as install and cabal hell. I'd argue stack pretty much solves those: https://github.com/commercialhaskell/stack https://github.com/commercialhaskell/stack
- nightcracker 11y agoPython is very, very strong in the scientific computing community. Tons of packages like numpy, scipy, scikit-image, etc.
- willtim 11y agoYes it has lots of wrappers over old C/Fortran libraries and is moving into the MatLab/R space. But does that make it good for teaching computer science?
- Avshalom 11y agoWell what do we mean when we talk about teaching computer science? Most subjects have fairly broad high-level survey style classes freshman year. Even the X-for-majors classes tend to cover huge swaths of the field with a lot of "you'll cover this more in EPS325" hand waving. The purpose is not to lay a foundation of first principles but to make sure you know enough that you can see connections between topics in later classes, that nothing is too surprising, that you understand what you're in for. For non majors it's usually so you have enough to be "well rounded" or more importantly (with say english or math) you have enough facility in a field that you can use it's tools to further your work in your own field. Python might not particularly add much over Scheme for the first situation, but if schools wanted to follow Dijkstra's conception of CS students wouldn't end up touching a computer until senior year let alone Scheme|Python|Pascal|Whatevs anyway and Python isn't distinctly worse for explaining bigO and data structures/algorithms (yes recursion support sucks a bit but not so much that you can't teach it to freshman); Python does however aid in the second tremendously because when students leave CS110 152|whatevs they will go back to their primary field and not have to muddle about learning a new language.
- willtim 11y agoYes Python is fine for teaching the imperative algorithms needed for a graduate to pass his/her Google interview. But computer science and SICP is/was so much more than that. Even if these institutions want to be vocational, typical software development roles do not require recalling famous algorithms, they require glueing code together. To be good at this, you need a sound grounding in abstraction and composition - the mathematics of program construction. Python will not help people learn this.
- rtpg 11y agoPythons scientific library situation is much much better than Haskell's at the moment. But I think that speaks much more to the strength of the python community than the weaknesses of the Haskell one By comparison, I think that the sicilib situation in Ruby ( a language that's fairly similar in Python in many characteristics) isn't really better than the Haskell one
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- coldtea 11y agoAnd one that teaches Haskell loses prestige in employeability minded people -- but then again Oxford graduates don't much care for those things, privileged upper class as they are.
- 59nadir 11y ago> a language designed by a committee of some of the worlds best computer scientists As much as I like Haskell, design by committee is generally not something to be proud of. It's despite this that Haskell is good, not because of it.
- willtim 11y agoIn this case interests were closely aligned. But I take your point.
- PhineasRex 11y agoIt helps that Haskell was based on Miranda and the committee deferred to Miranda whenever they could not agree on something. This is opposed to the typical committee solution of adding both ideas or a sub-par compromise.