4 ms·
I think the point the author is making is that Python eliminates a lot of overhead in learning fundamental programming concepts. I think it's easier for a begin
by fearandclothing 12y ago
I think the point the author is making is that Python eliminates a lot of overhead in learning fundamental programming concepts. I think it's easier for a beginner to grasp the meaning of something like
for i in range(0, 3):
than, say,
for (int i; i < 3; i++)
Haskell is also a great language, but not a great choice for beginners, I think, because it adds a lot of overhead in learning basic programming and CS concepts because of the whole purity thing. I certainly wouldn't try to teach first-year CS students how to implement things like stacks, queues and graphs in Haskell.
- thu 12y agoI don't understand how your "easier for a beginner" example relates to fundamental programming concepts. Are you talking about variable assignments, jumps, control structure, or about syntax ? Again how is "the whole purity thing" an overhead w.r.t. to learning the fundamentals ? If you take your loop example in Python, how does leaking the `i` variable outside the loop's scope (actually there is no such scope) a fundamental that beginners need to grasp ? What would you say about `map f [0..2]` ? So Python makes a lot of things easier than in C or in Java I get it. That in itself is not an argument for teaching it instead of, say, Haskell. If you can choose between A, B, ... Z, sure it is better to use B if it is better than A, but not choosing F because you never use it is a wrong reason (at least if your goal is to teach students).
- deleted 12y ago[deleted]