4 ms·
It seems to do a lot of holding your hand through all those things, but I've always been very skeptical of the idea that the things you listed are real barriers
by stormbrew 10y ago
It seems to do a lot of holding your hand through all those things, but I've always been very skeptical of the idea that the things you listed are real barriers to understanding.
The fact is that those are surface details that are far less likely to tank your understanding of what's going on than basic problems understanding logic and execution flow. When I see beginners struggle, it's not because they've been given sigils they don't understand (it'd be almost impossible not to: even using words like 'or' and 'and' carry various secondary meanings unique to programming and/or formal logic), but because they're having trouble building a meaningful mental model of the execution of the program.
Live visualizations help a lot with that fundamental problem. From there you can learn the details. I think this way around is far more successful.
Fundamentally, this argument's been had over and over and over again, and in the end the languages people learn are the languages people use. BASIC is probably the most successful 'learning language' ever, but it became successful in environments where people were using it for productive work (as the boot rom environment on older computers and with visual basic). Likewise, Pascal only became popular when it became possible to use it for productive work (thanks to Borland Pascal and later Delphi).
Otherwise, allegedly 'easier to learn' languages lose every time to the ones people can move from success to success all the way from learning to productive work.
- kibwen 10y ago> basic problems understanding logic and execution flow I don't disagree with this. My point is that layers of obfuscation on top of the really difficult bits only make it harder to devote attention to the difficult bits. Beyond a certain threshold, beginners throw up their hands and walk away, especially if they're motivated only by curiosity (which seems to be the target audience of this app). I know I reached this stage as a teenager when trying to learn C++ (because I wanted to make video games, you see, and everyone told me this was the only language to use), and trying to perform even the simplest operations was piled under layers and layers of seemingly-arbitrary nonsense. I gave up and didn't touch C++ again until after college. In all, I think there's survivorship bias at work here. We say that these things aren't a problem, that they aren't barriers to understanding, but the only people here in this discussion are the ones who haven't already become discouraged. It's no wonder when things are seen as not-a-problem by people who didn't have a problem with them.
- stormbrew 10y agoI'm not sure appealing to survivorship bias is useful here, since presumably you are also a survivor and just as subject to it. But my argument was based on my observations of other people trying to learn. My experience learning was quite different from most that I've observed, and my observation has actually been that the way I learned is the one that works for fewer people. This is an area of interest for me, so I take opportunities to see how people learn as much as I can. If anything, the better argument against what I'm saying is that it's just anecdata, which is true. I'd welcome research to prove this one way or another, though. Tools like this are quite unlike what I had available to me, and I think they are a much bigger step to creating learning environments for real computing than trying to shoehorn natural language into a box it just doesn't fit. We have been down that road so many times and it never works out the way proponents suggest it should.