Last year, Paul Ford wrote a great piece for Wired on ‘real’ programming as an elitist myth.
He opened with a story about his partner and how she used a database service called Airtable to manage a mutual aid group.
“Real” coders in my experience have often sneered at this kind of software, even back when it was just FileMaker and Microsoft Access managing the flower shop or tracking the cats at the animal shelter. It’s not hard to see why. These tools are just databases with a form-making interface on top, and with no code in between. It reduces software development, in all its complexity and immense profitability, to a set of simple data types and form elements. You wouldn’t build a banking system in it or a game. It lacks the features of big, grown-up databases like Oracle or IBM’s Db2 or PostgreSQL. And since it is for amateurs, the end result ends up looking amateur.
But it sure does work. I’ve noticed that when software lets nonprogrammers do programmer things, it makes the programmers nervous. Suddenly they stop smiling indulgently and start talking about what “real programming” is. This has been the history of the World Wide Web, for example. Go ahead and tweet “HTML is real programming,” and watch programmers show up in your mentions to go, “As if.” Except when you write a web page in HTML, you are creating a data model that will be interpreted by the browser. This is what programming is.
I get hot every time I hear the phrase “HTML isn’t a programming language (it’s a markup language” as if that’s meant to mean something. Gatekeeping those 1’s, 0’s, and oddly shaped brackets only serves the (predominately [white]) men who use them to make unnecessarily verbose code that no one can read but them. And they break just as much as “the amateur who doesn’t know what he/she is doing”.
It’s about time we just let people get involved with code and program how they want. If it’s with Python, good! There’s no need to shit on it and say why Java or C++ is better or scrutinise its popularity.
Filed under: Paul Ford programming