Teaching kids how to code
I recently found this presentation, which I enjoyed quite a lot:
The presenter, _why the lucky stiff, is regarded a key figure in the Ruby community. And he makes a pretty compelling case for simple, no-frills, interpreted languages as suitable tools for learning how to program. While I am not really convinced of the general superiority of these languages over more traditional ones (such as Java, or C++), as argued by some, scripting languages are definitely a great tool to solve small problems, and to get the job done quickly.
However, _why has got one thing right for sure. The current programming ecosystem is too much focused on the state of the art, which exposes too much unnecessary detail to the developer by default. This is not only a major stumbling block for beginners (not only children), but it also makes the life of all developers harder than it should be.
And it’s not only languages, also our tools. It still amazes me, for example, that Eclipse is filled to the brim with buttons, options, and preferences, and every new release adds some more (Galileo is out now, by the way!). How large is the number of developers who actually use more than 5% of what Eclipse can do? I don’t know, but I would guess not a lot of them.
Maybe this is something to think about. Make things simpler, reduce the number of options shown by default, and streamline usage processes wherever possible. Not only for developer tools. We can all help to make the world a better place, one bit at a time.