3 ms·
These are good points. However, one of the main things that I've seen drive people from programming is frustration. Not just with setup tools but with their own
by avivo 12y ago
These are good points. However, one of the main things that I've seen drive people from programming is frustration. Not just with setup tools but with their own code.
So I would add ineffective "error handling" as one of the main "gaps" that prevent people from trying anything beyond basic programming.
This makes sense. How learnable is an application which gives you unintelligible feedback when you use it incorrectly? Would your web app be as popular if it just showed users raw server errors when form inputs were invalid!?
Unfortunately, this is very tough thing to fix - it's difficult to explain to someone with some arbitrary level of knowledge why an insanely complex abstracted system isn't behaving in the way they expect it to. I think successful approaches might combine ideas from adaptive learning, omniscient debuggers, fast feedback editors, sophisticated type systems, visual languages, and even "realtime" stackoverflowish peer support networks.
It's possible to do much much better than what we currently have - but it isn't going to be easy!