3 ms·
> I don't like Python. But it is difficult for me to look past the empirical evidence that it is (a) remarkably easy for new programmers to pick up, and (b) an
by pcwalton 4y ago
> I don't like Python. But it is difficult for me to look past the empirical evidence that it is (a) remarkably easy for new programmers to pick up, and (b) an extraordinarily popoular, load-bearing tool for actual practitioners in the field.
I pretty much agree with all of this. I don't love Python from a PL nerd perspective, because of its weird hostility to functional programming and proper lexical scoping. But when people ask me what language to learn as a beginner, I always say Python. Empirically it's in the sweet spot of both being easy to pick up and practical enough that people can start out making useful things.
I also agree that you shouldn't teach Rust as a first language. You shouldn't teach any typed language, honestly--types just complicate things before you learn what they're for, which only hands-on experience will teach you.