I’ve thought this for some time, but I want to get it in writing now.
I believe Bloc’s mission is twofold, or at least we have a two-fold opportunity to really change the world.
First, our stated goal is to change education. We’ve started with web development, because that’s what we know. Along the way, we’ve had to dissect everything we do, as programmers, on a daily basis. Some of these things are difficult, some are easy, some are simple but difficult, etc. Mostly it’s horrible tedious work, with moments (hours) of flow, followed intermittently by frustration and debugging and stress.
There are two ways, as I see it, to teach people to code. You can:
1) Bring the student to a level of competence (literacy, if you will) that matches “the industry”
2) Make programming easier for more people.
If you can accomplish #2, #1 becomes trivial.
So, perhaps the biggest problem we’re solving is not that learning to program is hard.
It’s that programming is hard.
If we continue to use the literacy analogy (which I think is an excellent one, more and more), reading and writing were easy enough that children could be taught, even if they weren’t intrinsically motivated to learn.
If we’re to realize the full capability of the computer-human symbiosis we seek, and allow future generations to build upon our shoulders, we must make programming easier.
It’s a future exercise to compare and contrast what MAKES learning to read/write easier, and what MAKES carpentry easy to begin (as compared to programming).