You Have One Voice
I was originally going to call this post “What makes a programming language real?” because I saw some people picking a fight on the internet about this type of topic, yet again, and it got me thinking as to why we even broach the topic in the first place. Surely, one might think, a programming language can just exist peacefully without being questioned as to its legitimacy, right? Well, clearly not. But, that brings to mind for me: why exactly do we care so much? What’s the point?
However, I realized there’s actually a more important point here, lying underneath the surface. We’re human, which means that we all have one voice, one life, and one source of energy. So, why do we spend time tearing others down when we can build them up?
All Languages Are Real Because No Language Is Real
I’m going to start this by talking about the idea of what makes a programming language real. So, I’m going to be giving you my personal opinion on things, and then we’ll go over how I got here, why I changed my mind, and where I’m at now. I’m going to try and avoid generalizing this to "the community should… " because, honestly, most of y’all are adults and you’ve already mostly made up your mind; it’s not really a productive use of anyone’s time to try and actually sway people one way or another, so I’m not going to. But, I think it’s important to express why exactly I approach this topic the way I do (spoiler alert: it has very little to do with the question as literally phrased).
So, first off: I think all programming languages are real and equally legitimate. Java, C, C++, Go, Rust, Haskell, and so on? Great. Typescript, Elixir, Coffeescript, and other transpiled languages? Excellent. HTML, CSS, XML, YAML, and other “markup/configuration”-esque languages? Absolutely, those all count.
Yes, HTML counts too; yes, so does Yaml; yes, even CSS; yes to all of them. Not only do I think all of these count as real programming languages, I think they’re all equally valid and legitimate.
I’m going to go ahead and pause here for a moment so that y’all can get a new cup of coffee, clean up your keyboard, yell at the clouds, touch grass, or otherwise center yourself. I’ll wait.
Ready?
Okay, cool. Before I get into why I think these are legitimate, I want to talk about the young me from a while back, several years ago, who did not have the same opinion. Young me absolutely would’ve dunked on people for thinking CSS or HTML was a real language; not only that, but PHP? Being as legitimate as Haskell or Java? Seriously? Pffh. Not only did I have a fairly hard line for what “real” and “not real” meant, but I also had a fairly nuanced taxonomy and tier list for how legitimate a language was and how appropriate it was to use for a certain task. Only absolute idiotsssssss would use a language for an inappropriate use, obviously. I was vocal about it, as well; you absolutely would’ve heard my opinion on this if you knew young(er) me.
Gatekeep Me Not
I didn’t change my mind on languages for a while. My special interest and passion used to be Programming Language Theory, and I very seriously deliberated and nearly went to pursue a PhD for it, with a particular interest in optimizing compilers and type theory. However, something very specific clicked for me the first time I read an article on the internet of how another person had changed their mind and had stopped dunking on languages (it was Aurynn Shaw, with her lovely article on contempt culture, which you should totally read).
Her reasoning? As I understood it, what happened for them was that someone laid out for her that many of the journeys and paths into tech that she was criticizing were ones dominated by women. So consequently, if she spend her time criticizing those languages or frameworks, then she’s inadvertently targeting things primarily used by certain demographics of people. And, well, is that really what she want to do with her time? After she sat down and reflected on this… She decided to not be part of the problem.
That article had quite the impact on me, to say the least. Not necessarily because of its main point, but because of two larger hidden points behind it.
The first point. Tech is not a vacuum, nor is it apolitical; regardless of how objective we might want to make an analysis of technology, the people who build it and use it and think about it remain. Those people are going to find part of their identity in the tech that they use, and that is a feature of humanity, not a bug. We should lean into that! It’s awesome! But it also means that when we belittle and attack technology, we are inevitably attacking groups of identities that choose to associate with that technology.
The second point. When we declare the legitimacy of something, as a society, we often do so at the expense of another thing. Likewise, when we declare the illegitimacy of something, as a society, we often do so in order to belittle or ostracize or otherwise hurt a particular group associated with it. Whether intentional or not, that is a profound and inescapable result. It doesn’t “have” to be that way; there’s definitely ways to say “this tech is legitimate” without criticizing another tech choice, but be real, how many times have you actually seen that happen? Yeah, I thought so. So, as a person in technology that people look up to, I have a choice: I can spend my energy putting groups of people down, or I can spend my energy lifting them up.
I decided a long time ago that I will always choose to spend my energy lifting people up rather than tearing them down. This remains, today, one of my most central viewpoints that I try very hard to adhere to. Even if I want to vent, or want to rant, or get so enormously frustrated with a certain technology product or language or community that I want to talk about it, I try my very hardest to talk about things in a constructive manner rather than an inherently negative and unproductive manner. If you ever catch me saying “this tool is garbage”, feel free to call me out, because I will absolutely rephrase that.
Experiencing The Shift
I’m going to get a bit more specific here for a second. I’ve been talking fairly broadly, but now I’d like to zoom into a community that I’ve been in and adjacent to for the entirety of my tech career, which is the front-end and design community. Did y’all know that for years I thought I wanted to be a graphic designer, and I even bought books in grade school and practiced designs and got pretty solidly good at it before I even graduated high school? Given that most people on the internet know me for sociotechnical, organizational, and infrastructure related stuff, that might come as a surprise, but I was very much a digital artist vibes kinda person in high school. It’s one of the reasons I’ve put so much time into the design of my blog; I care about it a lot!
But I’m going to be real here. In the last decade or so, the trend I’ve noticed more than anything else in the front end community is two things:
- The rise of ReactJS, and subsequently the creation of the full-stack javascript engineering role as a discipline
- The feminization of graphic/web design, and its subsequent loss of respect, lowering in pay, and cutting of headcount industry wide
These have not been amazingly sudden, but the schism created has been stark, divisive, severe, and sustained. Chris Coyier talked about this in his article The Great Divide, although he didn’t point out some of the things I’m saying here. While I don’t have hard data to back up the second point, it’s a trend I’ve personally noticed and have heard from several others as well. It’s not particularly a new thing either, because this has happened in several other industries too; in fact, there’s this thing that seems to happen whenever an industry shifts its perceived gender.
Male dominated industries tend to have a few qualities:
- they’re perceived as being legitimate
- they’re perceived as being difficult
- they’re perceived as being merit based
- they’re almost always more high paying
- they’re almost always more respected
When they shift to being female dominated, they lose all of those qualities. For example, when nursing went from being male dominated to female dominated, you could chart in real time the public perception of it along all of these qualities; it’s not that the nature of the work changed, it’s that we don’t want to respect women. Likewise, when I noticed the front-end community split into a “respected” engineering + “disrespected” design chasm, I saw the exact same thing happen.
Seeing a community go from uplifting CSS and heralding things such as the CSS zen garden as a feat of engineering to seeing just about nobody give a single flying fuck about the incredible works of Jen Simmons is… Surreal. I can’t even say “this happened in my lifetime” because I’m too fucking young to be saying shit like “this happened in my lifetime.”
But we’re here now, and it’s been very interesting to reflect on how the changing language I’ve seen utilized, the technological choices people have made, and how engineering organizations and communities approach certain problems has fundamentally shifted public perception of this type of work in such a profound way that it’ll take decades to undo the damage. It’s breathtaking. How the hell did we get here, anyway?
I’m not going to put on a tinfoil hat and say that us shitting on CSS as being “a fake language” ruined the web industry and caused billions of dollars of economic damage. Really, I’m not. What I am going to say, though, is that things have consequences, and systematically devaluing an entire industry of people is going to have very unintended and far reaching consequences. We need to think about that lot harder than we do now.
Human Legitimacy
You know what about this really worries me? I get really worried when I look at the state of the tech community and what we’re about to go through in the next two decades. We are not ready to undergo the changes that the industry is about to go through, and a huge issue preventing this is precisely the “legitimacy” gap I brought up. As long as we tear down each other rather than build each other up, we’re going to keep fucking up this tech thing and ruining it for everyone, “elite in-crowd” included. What happens when we tear down all the people who would’ve grown up to help shape the future of the industry? That’s right, we end up not having a real future.
It’s not just about tech choices, it’s also people, and their communities, their backgrounds, and their cultures, too. How many people shit on Americans from the south, with their “unrefined” and “unintelligent” southern accent? How many people grow up having to learn how to lose the accent they were born with in order to be taken seriously in the tech field? How many people in developing countries are going to get relegated to being viewed as trash off-shore keyboard monkeys because that’s all the “hot and trendy” tech market thinks they’re good for?
How many legitimate, wonderful, brilliant people are we going to massacre at the alter of elitism and tech exceptionalism before we realize that we’re destroying all of the humanity in world for the sake of nothing?
Cut it out, already. People are people, we’re all one group, and we’re all on the same fucking planet. Javascript is legitimate, HTML is legitimate, people who do wordpress are legitimate, compiler engineers are legitimate.
You’re all legitimate and wonderful and amazing and capable of so much incredible stuff, especially if we learn how to lift each other up and support each other rather than tearing each other down.
You Have One Voice
In the end of the day, you have one voice. Humans are single threaded; no matter how many plates we have spinning in the air, there’s only one word that can come out of your voice at a time. There’s only one thing you can type at a time, and only one thing you can do with each moment of your life.
Whenever you spend time on one thing, you also don’t spend time on everything else. This compounds severely with the understanding we now have of negativity being more impactful to human memory than positivity.
So, you have a choice: you’re going to be remembered for the impact that you’ve had and the time that you’ve spent achieving that impact. Do you want to be remembered as someone who tore down other people? Or as someone who lifted them up? Do you want to be a negative impact on the world? Or a positive one.
You have one voice. One life. One moment at a time. What are you going to do with it?
As for me, I made my choice a long time ago: With every word I say, and every moment I have, I will try my hardest to lift up my communities. Because we’re all in this together, and the world we can make together is so breathtakingly beautiful, why would you not want to be a part of building that?