Follow the history of computer science, and it’s a series of solutions that make programming easier. The early days required punch cards and hours of compile time. The C language is not difficult when compared to assembly. Modern languages and computing in the cloud have further simplified the programmer’s life. Assuming this trend continues, programming in the future won’t look much like it does today. Maybe the “learn to code” movement is premature because the future has everybody un-programming.
There are signs of this non-technical future today in the proliferation of APIs and the popularity of tools like Zapier and If This Then That. Anyone can automatically send an email when a spreadsheet is updated or even turn on their lights when they check-in at home. An imagined future of machines interacting with minimal human involvement is not far-fetched.
At SXSW Interactive, I’ll be teaching a workshop to try out an un-programming approach to learning to code. Or, should we even call it learning to code?
Even for “real developers” today, most of our app functionality relies on other services. We might host the app on a PaaS and use a database in the cloud or even a backend-as-a-service. Notifications likely come from your friendly neighborhood transactional email service.
Earlier this year we asked if everybody should learn to program. The answers ranged from “yes, anyone who sets an alarm is already programming” to “no, some people have better things to do.” With the trends towards simplification of programming, I’m wondering whether those two answers are really that far apart. Perhaps we all have better things to do and all programming needs to look more like setting an alarm.
What do you think?