top of page
Search

Vibe Coding in the Anthropocene

Writer: Riley Howe
Riley Howe
Apr 20
11 min read

The poet Haim Nahman Bialek wrote that reading a poem in translation is like kissing a woman through a veil. Most likely, he wasn't thinking about Python or C#. And yet, programming trends like "vibe coding" beg the question: is there something imperative we lose out on through translation, even if we're communicating with computers and not people? And if so, where is the point of no return?



This article is dedicated to me hearing the phrase"I think something awaits for me in the divine for resisting" echo around my skull every time I'm confronted with the possibility of vibe coding.



Vibe coding's popularity right now is the product of a perfect storm, bolstered by both an increasing demand for easy-access DIY software development and an increasing availablility of (heavily marketed) AI development "tools".


The term was coined by Andrej Karpathy in 2025, and it (sort of) means what it sounds like. Instead of manually writing your own code in a programming language, you tell an AI what you want your program to look like—the general vibe—and the AI writes the code for you. No Python required. No annoying, tedious, work. Just vibes.


In vibe coding, the programmer is less of an actual programmer and more of a supervisor, testing and refining the work that the AI model spits out. They don't have to know how a computer thinks, much less the language that it thinks in. That all happens far, far, behind the scenes; so much so that they can, "forget that the code even exists" (direct quote from Karpathy).


With AI-assisted coding, the difficult and time-consuming labor of learning a programming language is pointless and silly. Why bother, when—and here's another direct quote from Karpathy—"the hottest new programming language is English*?"



*Delightfully Anglocentric. We're off to a strong start. Also I hope it's obvious I'm being sarcastic about the annoying and tedious part.


You probably already have an innate sense that something about this whole concept is "too good to be true", and also weird. And you would be right: vibe coding is risky, polarizing, and a security hazard. We already know that AI-generated information is unreliable at best and dangerous at worst, and besides that, vibe coding forecasts the extremely alarming possibility that we could end up with a new generation of software engineers that quite literally don't know how to engineer software.


But beyond the security issues and skill atrophy, I think there's something else interesting at play here, and it has more to do with anthropology than technology.





First, it's probably worth providing some basic context on the history of programming languages. Right now, the most popular programming languages are Python (released in 1991 and currently on version 3.14.4), Javascript (1995), and Java (also 1995, although it's an entirely separate language from Javascript). Vibe coding is very new—certainly not 30+ years old— and in some ways very alien to the history of software development, but in other ways it's just another notch carved into a long line marking the evolution of "high-level" programming languages.


High-level versus low-level here is referring the amount of "abstraction" a language has from the core fundamentals of what a computer can understand, i.e., zeroes and ones. For anything to physically happen—for the software to interact with hardware so that the technology actually carries out the task you want it to do—the command must be given in binary information. Anything else requires translation (!).





Okay, so, let's say Ada Lovelace is the first computer programmer, and let's say the first machine languages go back to the mid-1800s. And now, let's say that binary—our zeroes and ones, written in specific operations and formats— is machine language, essentially as if we are speaking to the computer in its native language; i.e., I speak in English, and, if your native language is also English, you comprehend what I'm saying with barely any delay or effort exerted on the work of translation.


Label Planet (2020) What is ASCII definition | Labelplanet. Available at: https://www.labelplanet.co.uk/glossary/ascii/ (Accessed: January 1, 2025).



However, since this kind of machine language is very difficult for the human mind to grasp, our next step is the "assembly language" created in the 40s and 50s as sort of a step in between binary and human language. As this random person on Medium puts it, "[a]ssembly language is probably the closest you can get to hardware without losing your mind". Using mnemonics, a programmer can code with shorthand terms like ADD, SUB, LDA, INP, etc, and then have an "assembler" program translate them into binary.





Following our linguistic analogy, assembly language then would be sort of like having a conversation with a translator standing right between you and the other person. A few seconds delay, a bit of a translation gap, but you're pretty much looking each other in the eye.


After this, though, things start to get a little more detached.



Moving into the 50s and 60s, programmers found success with "high-level" languages: methods of communicating with a computer that were even more "abstract" than the mnemonics of assembly language. Less chafing against human understanding of language, these moved the goalpost a little further down the spectrum; just a little closer to what humans could readily understand, just a little bit farther away from what computers could understand without translators.


More translation, more distance, more asynchronicity, more veils.


One of these high-level languages was BASIC, and— to quote another random compsci person on the internet—Reddit user FloydATC reports that, "...the only sensible reason to learn BASIC in this day and age is to discover for yourself all the reasons why BASIC is no longer in practical use".





But in the 70s, BASIC was responsible for tipping the scale even more towards the "human" part of the human-computer dialogue. Compatible with the new and exciting microcomputers that made having a "personal computer" possible, BASIC— which literally stands for Beginners' All-purpose Symbolic Instruction Code, since its purpose was to be broadly accessible and usable— pushed computer scientists to sacrifice closeness to machine language in order to make a computer that would be worth having in your house. (After all, relying entirely on the fairly smallish consumer base of hyperfixated nerds self-studying software development Does Not a Lucrative Company Make.)


So, once again, we invested in translation for the sake of accessibility. Traded proximity to machinery's native language for a bigger audience.


Also important was the release of the language C in 1972—which was considered somewhat an intermediary level between "high" and "low" level programming languages, and after all this time still holds the number two spot for popularity in programming languages— and its more abstracted evolution C++ in 1985. What this in mind, the 1991 and 1995 releases of the programming languages we still work with today (albeit in updated forms) don't seem so near nor so far away. But they are abstractions.






And again, more abstraction = less translating for the human doing the coding = more translating for the various computer programs. And well, you could say, programming languages have been getting more abstract for years now; and god, who cares about machine language?, and vibe coding is just one more natural step in that evolution, so what, who cares, let people have fun, it doesn't matter. But I think actually, maybe, it might matter after all.



The history of programming spans 200 years minimum, depending on how you define it. Only 75 of these years feature what we've termed high-level languages. Python, today's #1 language, made it into the top 10 most popular list in 2006—approximately sixty-six years after the first high-level code was developed— and it hit the number 3rd spot during COVID.


Only a few years later, Karpathy coins that oh-so-contentious term "vibe coding" and Collins Dictionary titles it word of the year.


Now (well, back in January), Boris Cherny—one of the founding engineers for Anthropic's Claude Code*—reports that pretty much 100%" of his team's code is written by Claude Code. In an article elaborating on Cherny's statements, Fortune magazine also quotes an anonymous OpenAI researcher as saying, “[p]rogramming always sucked. It was a requisite pain for ~everyone who wanted to manipulate computers into doing useful things, and I’m glad it’s over.”


And there, in that anonymous tweet, is the crux of the anthropological issue with AI coding.




*Claude Code differs from Claude.ai in that it is a terminal AI agent, meaning that is housed in your computer's terminal and gets automatic, complete, and uncensored access to your PC's actual files. Claude.ai on the other hand runs just in your website browser, where it has Dory-style short-term memory and needs to have files uploaded manually. Neither are safe, strictly-speaking, especially considering how little we still know about AI, but terminal agents are much more monopolizing and comprehensive with your data.



Since the advent of the field, software engineers have managed to carve out a path from 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001 00001010 to "Claude, write a program that says 'Hello, World'.


From assembly language to BASIC to C to Python, programming has evolved into something that hides more and more of the actual machine behind a curtain, choosing to ignore the minutiae of what goes on behind the scenes. That might be an unavoidable necessity as the programs we run and the technology we use gets more and more complicated (and therefore hard enough for the human mind to work through even in word form, much less binary).


However, we should also ask: is there an added benefit for profit-centric, hypercapitalist, businesses that "coding is solved" and society is now free from the "requisite pain" of manual programming?


Andrej Karpathy, the aforementioned originator of the term "vibe coding", took to social media again in February to clarify he'd rather refer to AI coding in the professional (as opposed to experimental and hobbyist) realm as "agentic engineering...because the new default is that... you are orchestrating agents who [write code] and acting as oversight".


Karpathy's statement affirms that—at least for the men with their fingers on the trigger—the modern fantasy of "success" in software engineering has nothing at all to do with personal skill or even achieving status as some kind of computer savant or genius. It's just capitalism. It's boring. It's a vapid ego boost. It's dreaming about supervising cubicles while your inferiors are up close and personal with something potentially world-changing, potentially exhilarating. Sitting in the cuck chair while a computer writes something remarkable in a language you've forgotten.


How could that possibly be worth dreaming about?




Admittedly, maybe computer science as we know it has always been rooted in economic oppression, intertwined with (as most things are) class warfare, gendered discrimination, and labor inequality.


Right now, tech supply chains are precariously balanced on a foundation of modern day slave labor and human trafficking, particularly in countries like Malaysia and Taiwan. Taiwan, for example, produces 90% of the world's advanced computer chips (including, ironically, the high-energy microchips that power AI systems). Women in the tech industry—particularly women of color— report harassment, gatekeeping, exclusion, and hazing; all of which reinforce an echo chamber of discrimination that keep software development an 81.6% male and 53.1% white field.


It also seems readily apparent that for something like thirty years, working-class people clung onto the idea of an "underdog" programmer/genius/CEO archetype: a mythology of "pulling yourself up by the bootstraps", grinding away for long hours in a garage workshop, and somehow coming out the other end with no college loans hanging over your head and enough money to your name to buy your parents a house by the shore. Eventually, though, even that reverie burned out in a haze of Bill Gates and Mark Zuckerberg nepotism accusations...and, of course, the infamous Elon Musk emerald mine unconfirmed (confirmed?) reveal.


In these aspects, maybe the "fall from grace" for computer science is not so far, and it's never been a field that is fundamentally grounded in genuine passion or respect for their work or their equipment. It would be easy to glorify the "good old days" when people knew how to write code from the ground up, and even easier to attribute some kind of nobility or martyrdom to older generations of programmers as if they were performing some kind of anti-capitalist rebellion by studying machine language or BASIC. But those aren't full truths, just as they're not not truths.


The journey to abstraction has been a long one, and complex.


Because the thing is: there is value in both abstraction from and proximity to machines. We can say that one or the other sacrifices speed or simplicity, but in fairness, that depends on how you're defining those terms. By making programming more accessible and understandable, abstraction saves time for programmers (at least, they don't have to sit down and copy out endless streams of 0s and 1s), and might make their process more efficient by preserving their sanity and energy. But, abstraction also sacrifices CPU speed—the computer has to take the time to translate—and simplicity—you're not actually down in the weeds with the hardware, seeing the core of the problem right at the DNA.



The problem with abstraction is that, when enacted in totality and with carelessness, it is fundamentally a rejection of any kind of language other than human language. And in that totality it becomes a kind of functional weapon which devalues not only the concept of non-human language but also the instinct to seek out alternative ways of thinking, alternative ways of seeing the world, and alternative ways of engaging with reality. It reaffirms a prioritization of ease and effortlessness over the possible significance of interacting with the world in an entirely unique, unnatural, and fascinating way.


The problem with abstraction is that in the minds (and therefore the wallets, and public sway, and business/political/military connections, etc.) of AI's leading authorities, programming languages are impediments in the way of faster, bigger, profit. They are a blockage that dissuades potential new users who could be bleeding out time and money into a constantly churning, endless, fractured, machine of profit-seeking. As of mid February, Anthropic was valued at $380 billion. Is their encouraging of vibe coding actually about accessibility?


The problem with abstraction isn't really the abstraction at all. It's about the consequences of not having to do any work in making something else understand you—not having to meet it halfway, even in the slightest. It doesn't even particularly matter that the secondary party here is a machine which technically feels no emotions.


The total incorporation of AI labor into every facet of our lives is dangerous: it is making it too easy for people to forget that it's important and good for you to not get the things you want so easily all the time.


Vibe coding is seductive because of the ease it offers. Even setting aside its impacts on the environment and the safety concerns raised by its uses in professional settings, I'm sure that vibe coding actually does make programming more accessible for the everyday person, and I'm sure many of the systems people put in place make their life easier or more enjoyable.


But vibe coding isn't just used by the everyday person; it's used by businesses, corporations, healthcare systems, AI CEOs and engineers. It's a dangerous extension of an already dangerous technology, wielded by extremely dangerous people in power. And becoming reliant on it is very, very, dangerous.



Ultimately, as far as programming methods go, nothing could be more abstract—more removed and more hollow—than vibe coding. As far as the heights of high and low languages go, vibe coding is, figuratively speaking, on the moon.


If machine language is speaking to someone in their native language, vibe coding is carrying on whole conversations through sixteen intermediary translators. It's talking to someone without ever trying to see their face. I find it strange how normal it is for programmers to not be bothered by that.


The total severing from machine language that vibe coding offers does erode the computer-programmer relationship. It recontextualizes programming from an act of collaboration to a managerial wet dream. It warps coding from a labor of love into just another extension of the hyper-capitalist appetite, entirely content to consume and use without a single second of intrigue afforded to what it could be like to compromise, to meet somewhere halfway. Any intimacy that could exist between a programmer and their program is made sterile, arid. Impotent.


Vibe coding does have its uses, but it also robs people of the opportunity to feel accomplished in a much more real and impressive way than AI could ever provide. We're already robbed of that feeling often enough. Why are we admitting defeat so easily?






 

 
 
 

Recent Posts

See All
salliemae login info

dizzy i’m nothing I’m nothing i used to think that was cruelty now i know it was wishful thinking little thing hands over ears it’s not real it’s not real there’s no place like home click click tap pl

 
 
 

Comments


IMG_3143_edited_edited.png

coming soon...

Thanks for submitting!

Powered and secured by Wix.

bottom of page