4 ms·
The predictable comment that learning Java is not necessarily an education is being repeatedly responded to here. I clearly should have included a response to t
by sulam 10y ago
The predictable comment that learning Java is not necessarily an education is being repeatedly responded to here. I clearly should have included a response to this sort of argument in the original. Since I didn't, and since I can't edit now, I'll do it here.
1) Does learning Java keep you from learning CS concepts like pure functions and category theory? Obviously not. It may not be completely natural, but people do unnatural things in the name of an education all the time.
2) When you hire an intern these days, it's pretty expensive. The internship ends up being a trial employee, especially if they're a rising senior. The employer wants to get as much valuable information about the intern as they can. They may contribute actual production code, but probably not if it's Haskell. More importantly, you learn more about their ability to work with your environment (and they learn whether or not they want to work there) the closer you get to the internship being as close as possible to being a newgrad employee. Haskell is cool, but it will probably get in the way of many of the valuable things an internship can provide both parties. And I want to reiterate that these aren't cheap. You often end up paying the intern new grad wages normalized for the length of their internship, and it's not atypical to pay for housing on top of that, plus various events, time taken from to bring them up to speed on a team, etc.
3) MIT is teaching Python in its intro course. If having Haskell or any other academically "interesting" language is so important then they are doing a great disservice to their CS students. What are the chances this is true? I think it's much more likely that the MIT intro course language is either an uninteresting choice or very specifically chosen to be of interest to non-academics. Now, I don't think MIT is necessarily the be-all end-all in CS education, but is anyone prepared to argue they are worse than UPenn, which uses OCaml in a similar course? (I'm a fan of OCaml too, fwiw!)
- wyager 10y ago> Does learning Java keep you from learning CS concepts like pure functions and category theory? Dijkstra certainly thought so. http://www.cs.utexas.edu/users/EWD/OtherDocs/To%20the%20Budget%20Council%20concerning%20Haskell.pdf http://www.cs.utexas.edu/users/EWD/OtherDocs/To%20the%20Budg... > They may contribute actual production code, but probably not if it's Haskell. Not only can interns learn new languages on the job, but any student worth hiring probably knows multiple languages already. The argument here is that theory courses should be in a theoretically sound language; that doesn't preclude students from learning corporate-approved languages as well. For what it's worth, I picked up new languages in two of the internships I did in college. It never took me more than a week or two, and happened contemporaneously with me figuring out the codebase and dev environment. In at least one of those, which was a JavaScript codebase with many functional elements, having a strong functional background as well as a strong imperative background was what allowed me to comprehend it without too much effort. > then they are doing a great disservice to their CS students. I'm inclined to agree. This is, of course, a matter of opinion.