Python certainly makes sense to new programmers because the only thing that makes people wonder is the indentation. But with good resource out there (books, stackoverflow, Codeacdemy, Coursea, visual Python), Python tutorials have been better. The language also makes reading code quite easy.
On the other hand, Javascript seems to be always start with HTML and CSS. That's where the obstacle is. People begin playing around with three separate technology and the learning is really high.
however, if you ask me "yeukhon do you recommend freshman start with C / C++" I'd say absolutely. I am a bit bias since I knew a bit C++ before I started Python (although my first official programming class in college was Python and Matlab... funny right?) but I think the learning curve in statically typed languages like C++ is absolutely helpful in the long term.
I think that depends on how it's being taught. My cofounder learnt to code via python this year. He just did courses with my assistance along the way. Python is playful, and you feel like you're getting somewhere on your own. I'd wager that if he'd started with c (or c++!) it would have knocked the enthusiasm out of him. I learnt c early at university, but there you're dedicated to learning software full time.
I agree with this. I currently teach beginning programming using JavaScript in HTML, and we currently just provide pre-made web pages for the students to write their basic programs in. They come in already knowing basic HTML as they've taken a previous class.
But I've been thinking of rewriting the curriculum to use Node.JS for about a year now. The only reason I haven't yet is that the students seem to enjoy doing things in web pages.
I think there's something awesome about writing console apps, but I don't know if they really hold the attention that today's students have.
True, but remember, if you google javascript or look around books in the book store, many are still teaching with web technology :) which is unfortunate (although the intent is great).
the asynchronous model of node might be a bit hard to grok for beginners though (when I was in high school I tried writing actionscript(which is basically JS with types) without really understanding event-based programming, and it was pretty surreal)
On the other hand, Javascript seems to be always start with HTML and CSS. That's where the obstacle is. People begin playing around with three separate technology and the learning is really high.
however, if you ask me "yeukhon do you recommend freshman start with C / C++" I'd say absolutely. I am a bit bias since I knew a bit C++ before I started Python (although my first official programming class in college was Python and Matlab... funny right?) but I think the learning curve in statically typed languages like C++ is absolutely helpful in the long term.
If people want to learn Python without Hello World, try http://www.youtube.com/watch?v=RrPZza_vZ3w