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

One point that is not raised or discussed, which I think is important, is that these learning platforms are not “the real thing”. They’re just artificial environments with building blocks designed for making toy projects, but no engineer would ever use them to build something of significance.

This is not to take away from the work - I’m a big fan of Cynthia Breazal’s group and the work her graduate students have done over the years. But it would be nice to see effort put into removing the artificial separations between user/programmer, or learner/professional. An apprentice carpenter uses real hammers and table saws, an apprentice baker uses real flour and sugar and ovens, so why are apprentice programmers using the plastic playset/ez bake oven equivalent of Tensorflow?

(and if the answer is just “because tensorflow is too hard for a 7 year old”, then how can we get somewhere where there is something as powerful, if not more so, than Tensorflow, while also being accessible to 7 year olds?)




An apprentice carpenter often does not use 'real' power tools. Nail guns for example are significantly more expensive and dangerous than a hammer, but also more specialized.


Students routinely are given machines/equipment/tools that is massive overkill for the task they are being asked to do so that it can be assured that their effort is spent learning instead of fighting their way around the limitations of their tools/equipment.


An apprentice is not really just students in that they are paid reasonably well. That pay is based on the idea their going to get a job done reasonably efficiently while not breaking stuff or getting someone hurt.

Put another way, you generally don't give interns root access to production servers.


these learning platforms are not “the real thing”. They’re just artificial environments with building blocks designed for making toy projects, but no engineer would ever use them to build something of significance

It doesn’t have to be like that tho’. The original Beeb was designed for pedagogical uses sure, but people used them for “real work” too, including controlling lab experiments, machine tools, even financial applications. People used STs and Amiga’s for real work too.


I've seen this sentiment expressed dozens of times, but I've never seen it manifested in an even remotely concrete way. I strongly suspect the essential complexity of programming is still too much for most people to pick up, and I even more strongly suspect that while Piaget's developmental model isn't necessarily perfect, that trying to create a programming language satisfactory for both the concrete operational stage [1] and the formal operational phase is just not going to happen. (And those of an egalitarian bent may not want to look at footnote 47 too closely.)

(You want the people complaining about how Go doesn't have generics to be stuck with a programming language that contains "only concepts a 7 year old can understand"? I'll even stipulate you the 99th percentile 7 year old. You'd never read about anything else on HN ever again; it would be nonstop complaining.)

[1]: https://en.wikipedia.org/wiki/Piaget%27s_theory_of_cognitive...


If you don't want adult programmers to feel artificially limited by a language, it will of course have to be able to express concepts that are too difficult for 7-year-olds.

But that doesn't mean that every feature has to be that complex. The concept of typing commands into a Basic prompt was apparently not too difficult for many kids who were lucky enough to have access to a computer.

I think the crucial ingredient to make a feature easy to understand is the ability to see its effect, so that you can experiment with immediate feedback, and many common language features can actually be made to satisfy that requirement with the help of a sufficiently powerful debugger.


The best of these building blocks tools allow you (and encourage you!) to easily modify them under the hood.


Who's giving real hammers to 7 yo carpentry apprentices?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: