I finally figured out what the regularly scheduled programming should be, so WE’RE BACK!!
In grad school, I was SO JEALOUS of the kids who did research on brains or building robot birds. When they told people what they did at grad student parties, people just thought what they did was cool and asked them more questions. But me?
“My research is about programming languages.”
“Um. I use Python for my research. So you, like, make Python better or something?”
These kinds of questions left me so speechless that my friends sometimes had to speak for me. The rest of this post will be about why this was such a hard question for me to answer, and often caused me so much angst my friends would have to speak for me. And how this led me to start this newsletter.
First, for context about what these parties may have been like, below is a photo of me (dressed as the musical artist Ke$ha, obvi) at the MIT Department of Material Science and Engineering (DMSE) Halloween party in 2010. Yes, we were a bunch of social young people. But more than that, we were a bunch of nerds who just wanted other nerds to UNDERSTAND OUR RESEARCH.
Side note: for anyone who doesn’t know who Ke$ha is, here’s the look I was going for. I thought she was so funny and that her style was everything.
Now back to the main topic of this post—and newsletter. What is programming languages research, and why is it so hard to answer how my research related to the Python programming language?
Here’s how I’ve finally come to explain it. Programming languages research and design is like fashion design. At the one end of the spectrum, you have haute couture designers designing for runway shows. This is how you get the models wearing crazy things like feathers on their heads and snakes on their beauty. The designers are not designing for everyday wear: they’re pushing boundaries of art and science to make breathtaking, sometimes gravity-defying designs. The ideas carry over to other designs and often show up in mainstream pieces, either directly or through influencing other designers. But I’m as likely to directly wear Iris Van Herpen’s serpent dress as Facebook developers are likely to directly work in the Idris programming language.
Similarly, what you see in what I’ll call “runway PL” is not usually intended for immediate mainstream production use. The mainstream languages like PHP and Python are like your Target or your Walmart. They are ubiquitous and there’s great bang for your buck. And just like many high-end or boundary-pushing things end up available at Target or Walmart eventually, ideas from obscure programming languages transfer eventually as well! Many of the constructs we have in our mainstream programming languages today, from garbage collection (very common) to algebraic data types (now mainstream with Swift, Kotlin, and more) to ownership types (super cutting-edge—in Rust), came from research from as early as the 1960s and 1970s.
A video clip that somehow perfectly illustrates the parallels between fashion and programming languages is the “You Think This Has Nothing to Do With You” scene from The Devil Wears Prada. (I didn’t come up with this myself; @meat responded to my Twitter thread about PL and fashion with it.) In this scene, Meryl Streep, playing iconic Vogue fashion editor Anna Wintour, delivers an excellent monologue about how the fashion industry has influenced the way everyone looks. Many programming languages geeks I’ve shown this to have been shocked at the parallels there are to languages and developer tools. I’ll leave it at that for now.
Side note: if you’ve made it this far in this post, you may also find interesting this Dartmouth economics paper proposing a mechanism modeling how fashion doesn’t “trickle down,” but is rather dictated by very powerful fashion editors.
One reason I’m especially interested in the similarities between programming languages and fashion is that in the last decade or so, fashion has become amazingly democratized. Designer Isaac Mizrahi’s six-year Target collaboration made Mizrahi a household name—and also made Target more hip. Style blogs like Man Repeller, along with Instagram and Twitter, have made haute couture accessible to everybody. Shows like America’s Next Top Model and Project Runway made high fashion relatable—and gave people an inside look into the process behind it all. (Side note: the first company I ever thought about starting was in the fashion tech space. I was totally obsessed with how this all was unfolding in the late 00’s/early 10’s.)
If this can happen for fashion, then we can make it happen for programming languages. And here’s why democratization matters for programming languages. As we come to inhabit digital spaces more than physical spaces (especially true in these times), software creators have more and more influence in shaping the world that we live in. The communities and norms that form around programming languages and tools have a major impact on who makes software—and how. I want everybody to have access to the conversations that shape this culture. Also, better programming tools makes it easier to build better (more robust, more secure, more inclusive, etc. etc. etc.) virtual spaces. I don’t know about you, but I want to live in the best possible world. And I believe a major step towards that is to make sure that the people designing and wearing actual clothes get all that they can from the people making snake dresses.
Join me in making this happen!! The plan for this newsletter is to take one “runway PL” concept and break it down for the layperson. (Laypeople include non-programmers!) Then, as a beneficiary of democratized fashion, I’ll talk about one or two of my “fast fashion” favorites of the week. I’m always happy to take recommendations for what you want to see me discuss. Excited to see what we come up with. 💖
⚡️ Liked what you saw? Subscribe to JeanStack for your weekly dose of runway PL and fast fashion! Tell all of your friends!!
👾 If you’re interested in accessible PL conversations, you might also like my PLTalk Twitch livestream with Hongyi Hu (security @ Figma) Fridays at 3pm PT. (Watch our latest stream on making PL more accessible here.)
✨ You may also be interested in checking out what we’re doing with API tools at my company, Akita Software. (We’re just starting to talk about what we do, so please be patient as we reveal more—and we welcome feedback!) I want us to be the Isaac Mizrahi for Target of developer tools. Every developer should have access to good visibility and good control, no matter where they’re working or what they’re working with.
this is so, so, so good jean