Hacker News new | ask | show | jobs
by rgoulter 2260 days ago
"Which programming language" to start with is something people can have strong opinions on. (e.g. I could understand people saying C is a great language to start with, or that C is a terrible language to start with).

There are always going to be reasons why any language will be bad as a first language to learn. I'm sure there will be reasons why a language would be a good one to learn.

Python is a nice language to start with. I think Racket is a nice language to start with, too.

The intro to programming course I took was loosely based off of SICP. (My batch was the last taught using Scheme; the next was taught the same material using a subset of JavaScript).

As an example of something nicer about Racket than Python: There was a nice 'simplicity' to the material. A list is either empty, or some item followed by a list. Computing stuff either deals with a base case, or deals with a recursive case. Almost all the functions we used (car, cdr, map, accumulate, member, etc.) could be implemented with what we'd learned. -- This feels more analogous to seeing how the proof works rather than learning just a bunch of formulae.