Gen-AI Vibe #4: From Machine Code to English Prompt
Generative AI is changing how we write software. To see why it matters, let’s first take a trip down memory lane.
I created a program for the Apple ][ to time ski races in the Swiss Alps. Yes, this was a long time ago. I sat in a Fiat Panda with the Apple ][, a matrix printer, and an electric heater; a long electric cable supplied power from a nearby house. I coded the program mostly in Basic, and a short machine code routine that performed the actual timing from opening the gate to hitting the light sensor at the finish line. I had to learn the instruction set of the 6502 processor, and how many cycles each instruction took, so that one loop took exactly the same time, regardless of the branch taken. To calibrate the timer, I could POKE a number into memory from the Basic program to set a wait loop. Creating the program was time-consuming, but also a fun learning experience. After the race I pressed a button to print out the ranking. The villagers would not believe how fast I could “type“ that list.
At the ETH I learned to code in assembly, the first abstraction above machine code, but still very closely related to it. We created an assembler in assembly for a TI processor. Initially we used the assembler provided by the vendor. Once ready we could assemble the assembler with our own assembler. Again, an interesting and fun learning experience on how you can bootstrap software.
Later I learned higher level languages such as Pascal, Modula 2, C, C++. I started to appreciate the abstraction and productivity higher level languages bring. I also discovered that the ecosystem of a high-level language tends to get bloated over time. This happens to a point where it becomes counterproductive. I initially loved the Java language (I even had a GO4JAVA California license plate), but then the language and libraries got so convoluted that I stopped using Java.
Fast forward to a few years back. My go-to language became JavaScript, both on the server with Node.js and in the browser. It’s a clean language, offers fast iterations due to its scripting roots, and has a large ecosystem of NPM libraries.
Nowadays, JavaScript is also my go-to language in conjunction with generative AI. In my previous articles I described the productivity gain and speed of implementation AI brings, but also at the cost of using more and more resources.
We see a shift in how software is created. The prompt is the code. In other words, English has become the new programming language. The barrier to entry is lowered considerably, which is a double-edged sword. Suddenly people without any coding background can create apps that are “good enough“. The cost is low, the time from initial prompt to finished app shrinks to a level where you can create “what if” apps, and iteratively narrow down to a custom app that fits your needs.
When English is the code, clear thinking becomes the new programming skill. The iterative-throwaway style works well for small apps, but breaks down for larger software projects that have a long lifespan.
The best way to develop this new skill is hands-on. Start coding with AI agents on real problems. Learn where the agent shines, where it needs clear guidance, and where you still need to be in the driver’s seat.
#GenAI #SoftwareEngineering #SystemArchitecture #VibeCoding #vibecommunity #CursorAI #Anthropic #Claude #Gemini



