While trying to teach everyone to code certainly is well-intentioned and to some extent beneficial the idea falls short of what most people require of computing environments. Most people don’t need comprehensive and complex development environments. They need to accomplish specific tasks that lend themselves to being solved by code yet most people don’t need to develop enterprise-grade web applications or mobile apps.
What’s actually needed are simpler tools that allow non-developers to solve computational tasks. UI visionary Bret Victor has a clear idea about how such tools should look like: Programming tools should provide immediate, responsive feedback to your coding. What you code is what you see.
Another example is Light Table – an IDE inspired by Victor’s talks that emphasizes instant feedback and traceability of code changes. It also disconnects functionality from the actual place in the file system where that functionality is located. In Light Table functions not files, namespaces or packages are first-class members.
Compare that with the way programming is still mostly done today: By navigating through folder hierarchies, tons of source code files and – if you’re extremely lucky – heaps of XML. Debugging such a mess is painful to say the least.
However, the best example of a programming tool that allows non-developers to code in my opinion still is Microsoft Excel! I’ve – like many other fellow developers – loathed Excel for years but more recently I realized that Excel is the perfect tool for getting things done in terms of data analysis and number crunching in business contexts. Not only doesn’t Excel require knowledge about the inner workings of software development frameworks but it also provides the user with instant feedback.
We should consider this and think about how this might inspire us to create easy to use tools for manipulating and aggregating data for the 21st century.