←back to thread

284 points borski | 3 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 #
ajkjk ◴[] No.44687195[source]
I think it's absurd to start with Scheme. A graduate who knows Python but not Scheme has a hope of doing something with computer science. A graduate who knows Scheme but not Python is basically unable to use computers at a technical level. The only choices here are "Python" or "Scheme + Python".

(Yes, of course, they could teach themselves Python at that point---but if we're talking about things that people can teach themselves, they can teach themselves the whole curriculum and both languages; the debate here is over what the university should hold them accountable to learn).

replies(4): >>44687237 #>>44687779 #>>44687825 #>>44692888 #
1. wat10000 ◴[] No.44687825[source]
I and about a million other programmers started with BASIC. My second language was Pascal. I don’t imagine I’d be very employable if that’s all I knew, but it turns out that you can learn many programming languages and it’s not all that much effort after the first two or three. There’s no reason to think the language you start with should be one that you could get paid to use.

And no, I wouldn’t recommend starting with BASIC. But starting with Scheme seems like a great choice.

replies(2): >>44688645 #>>44694403 #
2. Daishiman ◴[] No.44688645[source]
BASIC has a thriving hobby scene and there were compilers available for many platforms even if they weren't for "serious" computers. Scheme by comparison has essentially no community.
3. foundart ◴[] No.44694403[source]
> it’s not all that much effort after the first two or three. There’s no reason to think the language you start with should be one that you could get paid to use.

Definitely!

This inspired me to list out languages I've learned to at least some minimal level and written programs in. Here they are, with the contexts in which I used them:

BASIC - middle school ;

Fortran - high school ;

C++ - self-taught & later some work;

Pascal - university;

Motorola 68k assembly - university;

Miranda - university (Programming Languages class only);

Ada - university (Programming Languages class only);

Lisp - university & work (CLOS);

sh - work;

ColdFusion - work;

bash - work and personal;

Java - work;

Atmel microcontroller assembly - hobby;

C - hobby (to replace Atmel assembly);

Ruby - work and hobby;

Scala - work;

Elixir - work;

Solidity - work;

Typescript - work and hobby;

Elm - work;

Clojure - work;

Javascript - work;

Python - hobby (with a tiny smattering of work usage over the years)