Podcast 302: Programming in PowerPoint can teach you a few things
In this episode, we discuss the appeal of great API design, when it’s worth spending money on a custom CMS, and why every app evolves towards greater complexity until it can send email.
The starting point for today’s conversation was an argument made by Guillermo Rauch in this blog post. “And each time, your frontend has an opportunity to impress, delight, perform, be accessible and memorable. What’s more, frontend is an area of technological and artistic differentiation, while backend becomes increasingly commoditized, turnkey and undifferentiated.”
Sure, programming in PowerPoint isn’t very practical. That doesn’t mean it can’t be lots of fun, and teach you a few things.
Speaking of learning things, we chat a bit about Alan Kay, who has a wonderful talk on the ways we can use computers to illustrate complex concepts to children.the stack overflow podcast
I actually like listening to you guys speak in wandering generalities, but may I point out a few things?
1. Email is not a computational model; it is a service. Adding email to any program should be thought of as merely a link to that service; our thinking should be evolving towards creating usable services and mashing them up in this way. A better metaphor is “every programming language eventually evolves towards Lisp.” See also https://en.wikipedia.org/wiki/Inner-platform_effect
2. There’s a difference between programming in PowerPoint, and hacking a Turing-complete machine into it using shapes. The former has a practical concern; the latter is merely an intellectual exercise.
3. That some folks don’t know how to use PowerPoint effectively or artistically is not the fault of PowerPoint. You don’t paint a Mona Lisa in PowerPoint for the same reasons that you don’t create a mission-critical enterprise solution in Access.
4. Every tool has its appropriate uses; PowerPoint is no exception. There are a number of successful ways to use PowerPoint as a platform, none of which involve creating a Turing machine. One of these ways is COM Interop; a better way is to manipulate PPTX files directly using OpenXML. The latter technique is especially useful in a backend server environment. VBA is not required; C# is perfectly adequate.