[{"content":"","date":"23 March 2026","externalUrl":null,"permalink":"/blog/tags/ai/","section":"Tags","summary":"","title":"Ai","type":"tags"},{"content":"Over the last few weeks, I have been working on a side project. Usually, when building something from scratch to the point of a fully functional MVP, I learn the guts of it: the domain, the tech stack, the language, the framework, the infrastructure. But this time it is different.\nIf I can design and build a fully functional app, why would I take the time to study a new language? In the past I would have spent a few months learning Node.js, React, and JavaScript because I needed to. Claude enabled me to build something without grokking the programming interface. Claude Code became the interface.\nWhen that realization sank in, I felt something that I can only describe as grief. Grieving the loss of programming languages as a medium. No more holy wars about the best framework or favorite language. No more nitpicky code reviews. No more anticipation of new fancy syntactic sugar. We won\u0026rsquo;t even need an IDE anymore, only the coding agent console.\nOver the last seventy years, programming languages and frameworks were constantly evolving to meet the requirements of human developers. Their goal was to abstract the complex mechanics of programming a computer: memory allocation, garbage collection, and later operations on collections, files, and web requests, so we could finally comprehend the complexity of the software and focus on delivering business value.\nNow history is taking another turn because the primary author and reader of code is an LLM. How do I know? Because Anthropic built native LSP support into Claude Code — giving the agent the same semantic layer your IDE uses to understand code. But what is the next step?\nJava is converted to bytecode for the JVM to run. C# is converted to CIL and executed by the .NET CLR. As soon as we stop reading, writing, and learning high-level programming languages, they will be replaced by \u0026ldquo;LLM-bytecode\u0026rdquo; because they only exist for our convenience. Imagine languages optimized for tokenization, or frameworks that produce code so expressive it fits better into the context window.\nSkeptical? Fair enough! \u0026ldquo;But what about all the software that is already out there?\u0026rdquo; — Claude will rewrite it, just throw more tokens at the problem! \u0026ldquo;But how will engineers of the future fix all the mess existing LLMs are making?\u0026rdquo; — they will have more powerful models. Humans will never read all the slop.\nIn fact, a similar shift happened many times before. If you are a millennial or older, think of your childhood. Did your family have a film camera? You took pictures without knowing what they looked like, then dropped the film off at the photo lab to be developed and printed. This job was done by a darkroom technician whose skills included developing film in chemical baths, enlarging negatives onto photosensitive paper, dodging and burning, combination printing (compositing multiple negatives).\nThen suddenly you switched to a digital camera and chemical processing disappeared from your photography experience. The timeline was swift. Digital camera sales overtook film around 2003–2004, and Kodak went bankrupt in 2012. So roughly 10 years to completely replace the interface between a person with a camera and a beautiful photograph on paper.\n\u0026ldquo;But people still use film!! There are darkroom technicians out there!\u0026rdquo; — this is the good part, my dear reader. Film photography exists as a niche hobby. It is not an entirely lost craft, but it is not one that is necessary to work as a professional photographer. Our programming craft will probably persist in some form, but will stop being a professional requirement and become a personal choice. A niche artisan hobby for those who enjoy typing and debugging obscure compilation errors. For the rest of us — onward into the new era of software engineering.\nP.S. I wrote this article the \u0026ldquo;old way\u0026rdquo;: manually typing my thoughts, because I don\u0026rsquo;t like the cookie-cutter LLM style of writing (I used an LLM as my editor and history consultant, though). The only part Claude made was the title. I find it genuinely hilarious.\n","date":"23 March 2026","externalUrl":null,"permalink":"/blog/posts/claude-wrote-the-code-i-had-the-feelings/","section":"Posts","summary":"","title":"Claude Wrote the Code. I Had the Feelings.","type":"posts"},{"content":"","date":"23 March 2026","externalUrl":null,"permalink":"/blog/","section":"Offensive Programming Blog","summary":"","title":"Offensive Programming Blog","type":"page"},{"content":"","date":"23 March 2026","externalUrl":null,"permalink":"/blog/tags/opinion/","section":"Tags","summary":"","title":"Opinion","type":"tags"},{"content":"","date":"23 March 2026","externalUrl":null,"permalink":"/blog/posts/","section":"Posts","summary":"","title":"Posts","type":"posts"},{"content":"","date":"23 March 2026","externalUrl":null,"permalink":"/blog/tags/software-engineering/","section":"Tags","summary":"","title":"Software-Engineering","type":"tags"},{"content":"","date":"23 March 2026","externalUrl":null,"permalink":"/blog/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"Welcome to Offensive Programming Blog.\nI\u0026rsquo;m a Staff Developer writing about code, systems, and the craft of software engineering.\n","externalUrl":null,"permalink":"/blog/about/","section":"Offensive Programming Blog","summary":"","title":"About","type":"page"},{"content":"","externalUrl":null,"permalink":"/blog/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/blog/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","externalUrl":null,"permalink":"/blog/series/","section":"Series","summary":"","title":"Series","type":"series"}]