News for hackers. Stuff that matters.
Re:Ten Thousand Years by Balgair on Sunday July 27, 2014 @06:07AM (#8092375)
I've been working with a Kiwi for a bit now. He grew up on the only 'computer' in NZ back in the 70's, a punch card machine that he had to actually fight (with real fists he says) to use time on. This guy has seen the digital revolution up close.

There was an article on HN a while back that mentioned the #1 programming language being taught today was Python. I told the Kiwi this and he just sighed. Python is a 'batteries included' type language. You don't have to really worry about any memory issues, any special loops that will go to infinity, none of the real stuff. Yes, it teaches you the 'idea' of programming, but programming is much more than an idea, it is a set of instructions you send to an electrical machine to preform a task. If you take away the entirety of the actual physical world, you have done the kids a disservice. Programming, real programming, is not supposed to be easy.

I'll mention the Kiwi was here in the US on a work holiday. I was trying to get a chip working (yes, with actual registers) and spent ~6 months on it. The Kiwi, I kid you not, spent about 3 hours. The guy really did know his stuff.

Re:Ten Thousand Years by drdaeman on Sunday July 27, 2014 @09:27AM (#8092679)
> none of the real stuff

It's really good to know how things works underneath, but insisting that constantly messing with low-level details is "real" programming (and implying high-level details aren't "real") is weird. Both aspects - high and low-level - are important.

Beginners are taught high-level languages because it's easy to start with - one could create something useful without learning lots of things. If they care about their craft, eventually they will learn all the gory details of the stack underneath down to bare metal - an occasions (bugs, weird behaviors or just curiosity) where, say, Python programmer is invited to go and peek under the hood of their interpreter or libc or kernel or even hardware happens every now and then.

Unless all that pythonista's doing is bashing some boring CRUDs with Django. Then, a knowledge of low-level stuff seems almost unnecessary. But, hey, someone has to do that kind of programming, too.