'We often think of a programming environment or language in terms of its features – this one “has code folding”, that one “has type inference”. This is like thinking about a book in terms of its words – this book has a “fortuitous”, that one has a “munificent”. What matters is not individual words, but how the words together convey a message.
Likewise, a well-designed system is not simply a bag of features. A good system is designed to encourage particular ways of thinking, with all features carefully and cohesively designed around that purpose.
This essay will present many features! The trick is to see through them – to see the underlying design principles that they represent, and understand how these principles enable the programmer to think." ’
@Jmv38 like when you watch kids figure something out. They don’t seem to care about obstacles or the proper way of doing things. They just push the system in all directions until they find the boundaries — like the microwave example in that essay; I think kids would figure it out by playing with the buttons and watching what happens.
That said, I really enjoy Bret Victor’s work and it has inspired a lot of the features in Codea.
No, it’s a fairly adult toy, rather like remote control model aeroplanes - but unlike a model aeroplane, Codea doesn’t destroy itself if your program crashes
It’s for adults who sometimes want to feel like kids again. You can’t really go back and program on a C64 or the like. It won’t be the same. But Codea somehow achieves the impossible and gives us a new old toy and happy memories
My name is Gary Bloom, and I’m interested in any technologies that help with learning programming (especially, because I’m so bad at it). People learn in many different fashions, and I’m astonished that there has been so little progress in technology-assisted learning to program.