Am I the only one that sees commoditization of programming as a good thing? I long for a world where everybody could define simple-to-moderately-complex automated behaviors, without needing to pursue a career in programming.
Tools like Apple's Automator or Android's Locale provide low barriers to scripting for the masses, but they fall short of providing a good, easy to use abstraction mechanism; in the end they amount to classic imperative languages, which are difficult to master.
On the other hand we have the Spreadsheet, the only widely successful End-User-Development tool, ever. This one provides a really good for building abstract data models and workflows - I've seen it used by people without any programming understanding to develop complete form-like applications, collaboration tools and storage repositories. Unfortunately, using those required a lot of repetitive actions. The spreadsheet model does provide a good abstraction mechanism but does not support automation capabilities; you still need a classic scripting language to automate behaviors.
I hope the recent live programming fad initiated by Bret Victor's "Inventing on Principle" will finally produce widely used reactive environments; those are a good basis for non-programmers to begin programming without a steep learning curve and only up to the point that they really need.
Tools like Apple's Automator or Android's Locale provide low barriers to scripting for the masses, but they fall short of providing a good, easy to use abstraction mechanism; in the end they amount to classic imperative languages, which are difficult to master.
On the other hand we have the Spreadsheet, the only widely successful End-User-Development tool, ever. This one provides a really good for building abstract data models and workflows - I've seen it used by people without any programming understanding to develop complete form-like applications, collaboration tools and storage repositories. Unfortunately, using those required a lot of repetitive actions. The spreadsheet model does provide a good abstraction mechanism but does not support automation capabilities; you still need a classic scripting language to automate behaviors.
I hope the recent live programming fad initiated by Bret Victor's "Inventing on Principle" will finally produce widely used reactive environments; those are a good basis for non-programmers to begin programming without a steep learning curve and only up to the point that they really need.