What is programming, anyway? – Felienne @ NDC London

Posted July 10, 2018 in Ideas, Links, Thoughts


This talk affirms so much of what I have been working on with this “algorithms of CSS” business. Felienne is an amazing and engaging speaker, and I recommend you watch this talk! And we have a similar affinity for the Apple Pencil slides strategy 🙌

Here is a summary of the points that resonated most, for me:

The tech community tends to be more negative and judgemental than other communities (shocking, I know) – if someone is excited about programming, the response, from at least a few outspoken people, is some form of “that’s not real programming”. Other communities see enthusiasm about their and encourage it. Why don’t we be like that?

Engineering is a metaphor

Using the term engineering for programming is a metaphor: writing software is not the same as building a bridge, no matter how you spin it, and that’s not devaluing writing software, that’s saying they are two different practices albeit with similar qualities. The fact that engineering is the most prominent metaphor for programming excludes those of us (🙋🏻‍♀️) who see heavy math and logic and react with, “That’s not for me”.

You know what else is an integral part of programming, besides math and logic? Devising creative, context-dependent solutions to problems, and then communicating them to team members with a set of knowledge different that yours.

Programming is writing

What other metaphors can we use for programming? Felienne suggests that programming is writing. At a high level, the goal when writing is to take an idea and figure out a grouping of words and phrases that will communicate that idea. Isn’t that what we do when we write code?

There are two distinct types of writers: plotters and pantsers. Plotters think very carefully about what they will write, then do it all in one go. Pansters “fly by the seat of their pants”, so to speak. A pantser tries one method, scraps it and tries another, over and over and over until they are satisfied. There is certainly a good mix of plotters and pantsters in programming!

On the other hand…would you trust a pantser to engineer the scaffolding of a skyscraper? Probably not.

Programming is writing!

Ah, I just love, love this so much. Thank you Felienne!

Comments

What do you think? Do you have any questions, thoughts, or related links to share? Did I make a mistake in my post?

Submit a Comment