| I'm unsure programming can be made accessible, and there's a very specific reason for this. Simplifying the medium of something (in other words making it so somebody could genuinely learn a programming language, from nothing, in 5 minutes) does not necessarily make task implementation any easier. Consider writing. It's something that anybody of mean intelligence is more than capable of. And writing a novel requires nothing technically more than just writing, yet somehow there is this entirely different skill set there that is not really learned and one that many people for whatever reason seem incapable of developing. Even if I could get 24/7 attention from Dostoyevsky, Stephen King, and George R.R. Martin for years on end - I'm not going to be a strong novelist. This could be genetic issues, but even if we want to discount that (which is not really a reasonable thing to do) - my potential would certainly be killed off my by my interest. I simply don't get pleasure from writing. Programming is very much the same thing. Even if you make the 'human interface' to programming as trivial as possible, you've barely scratched the surface of actually creating desirable things. And unless you get pleasure from this creation and have this sort of 'feel' for doing as such, it's going to be a low involvement grind with a mediocre final product. I think the thing we're fooled by is the confounding issue that programming languages are not easy. And so it's easy to think that if we just make the languages easy, that programming would thus be easy. But I see absolutely no reason to think that this is where the 'real' barrier to entry is. Making a tool easy, does not make the task that tool is used for easy. |
Except when it does. Programming in an IDE with code completion, IntelliSense, on-line help and an attached debugger is easier than going all macho developer and programming exclusively in raw text with the pico editor, using println traces as debug.
Sometimes, merely reducing the cycles that the human brain wastes on interacting with the medium makes the whole task simpler. If you don't force the user to think about building a program, they are freed to think about solving a problem.