Hacker News new | comments | show | ask | jobs | submit login

Teaching kids Ruby? What happened to dreams? Do we want our kids engineering the next mobile dating platform for the enterprise? We should be teaching them OpenGL, C++, or maybe javascript.

OpenGL, C++ and Javascript? The winning ticket for the "brokenness" trifecta. I can't think of a combination in modern computing that would rot a mind quicker than these three.

There are already languages and tools that combine simplicity, sophistication and conceptual elagance. Scheme, Scratch, Oz, and yes, Hackety Hack.

I'm not understanding why you are praising Scheme and criticizing Javascript - the biggest differences between them seem syntactic.

You don't know Scheme if you think their differences are just syntactic. Hint: what about that whole prototype object sysytem?

There is a running joke in PL research that "programming languages = lambda calculus + constants". Scheme IS λ + k. JavaScript is that plus the kitchen sink with the Ringling Brothers Circus caravan in tow.

Syntax is critically important when teaching the average beginner.

You have to start simple with young children. Something has to happen relatively quickly to maintain engagement. Typing may not be fluid in most children still in single digit years. I suspect (but cannot prove) that if architectural ideas, and skills of 'debugging' and analysis are learned young, they will be able to learn more powerful languages and concepts later with less overhead.

Scratch (http://scratch.mit.edu/) is getting a lot of attention from teachers in the UK. The government recently scrapped the existing IT curriculum in schools and wants more programming taught in schools.



OK, HNers, here is something to chew on...

You have around 5 million children in schools between 5 and 11 years old. You have professional and well trained teachers but with variable skill sets, remember teachers teach everything to a single class in that age group. You have decent numbers of PCs/Laptops and some tablet use. The government wants all children to learn programming. What are you going to do?

1. Make programming a compulsory subject in high/secondary schools.

2. Hope that some of those students become teachers after their tertiary education where programming is included. Now you have 8 year olds being competently taught how to program.

3. Realise that teaching every kid to program doesn't work. The nerds now do hardware.

4. Government decides that all kids should learn to tinker with arduino.

My point is: not all kids needs to learn to program, only to know that it is something they might be interested in.

I take your points, especially the one about hardware, but the government has decided that, indeed, programming of some kind will be taught in schools! The development timescale is next year or the year after, so these skills will be delivered by existing staff.

My point is: teaching environments like Scratch, or Web sites with visually appealing interactive content related to programming will be in demand. Watch the social stuff though, we have a big safeguarding agenda in the UK.

What does the government want to achieve with this program? Has it been done elsewhere (Im thinking India but its not the same, is it?) You're right, visual appeal is key but I'd go lower and start with something physical, lego-like and kid-friendly, meant to filter for those who can, at that age, program something. Then work up thru scratch etc to actual coding. But the biggest problem will be to get the teachers used to teaching it. Would like to read more about it, any links?

The official stuff is here


but you wont find anything specific in that (our dear government is good at saying what is wrong, and demanding change but less good at saying what it actually wants - you can't be wrong then!)

The links in my original post give the flavour. There was further consultation and a couple of speeches by Gove. I'll dig those out after tea

EDIT: one proposed curriculum model


This tells you where the ICT teachers are


(the emphasis on basic computer skills probably represents the managerial response to the previous National Curriculim: skills development was ghetto-ised into ICT instead of word processing as part of English, spreadsheets in Maths &c)

Teach kids Ruby and if they are interested they will learn other languages later. Ruby (before you go on to rails) is very flexible in its use and good to branch from. C++, javascript, and opengl have very particular use cases, which is fine if you know thats you want to do, but pointless if you just want to learn generalised programming concepts...

If you want to go lower-level better to learn some assembly (or at least C) instead...

Agreed on assembly. Some beginners take exceptionally well to the "purity" they perceive in assembly (given that it's a good assembly language for a well thought out processor - a processor that doesn't physically exist could even be the best one).

Edit: Purity in the way that the crucial ideas are presented directly, and an intuitive understanding of primal computation can be gained directly.

Might I suggest Python instead? It's more immediately useful to kids interested in the sciences.

Let's do both.

Applications are open for YC Summer 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact