A Peanut Butter and Grape Jelly Sandwich on a Wooden Cutting Board

A Peanut Butter and Grape Jelly Sandwich on a Wooden Cutting Board

getty

AI has mushroomed. We know that generative AI has already become ubiquitous. Augmenting, assisting and even replacing the things we do. GPU company CEO Jensen Huang declared earlier this year that “English is the new programming language” and tools like Codex and Claude Code are generating apps and resolving GitHub issues. With digital applications becoming more prevalent than ever, some think the value of coding skills may be eroding.

So then, is vibe coding and writing now the de facto standard… and, is coding itself dead and buried?

Dr. Rania Khalaf is chief AI officer at application development and identity and access management company WSO2. Khalaf reminds us that humans have always wanted to communicate with computers as naturally as we do with one another. From punch cards to DOS prompts to GUIs and the mouse, she thinks we’ve come a long way. But since the world had its ChatGPT moment, even Alexa and Siri feel outdated. On the other side, programming computers has evolved from assembly to high-level languages… and now to ‘vibe coding’.

Future Coding Is Hybrid

“On the surface, we appear to face a choice: the use of natural language or traditional code to create digital applications. Suggesting that programming is dead sells clicks, but it’s misleading,” said Khalaf, speaking to press and analysts at a coding symposium. “The future is in fact hybrid – a fusion of symbolic, deterministic coding and descriptive, nondeterministic language. We must teach and learn both, from computing fundamentals, coding constructs and systems architecture, alongside a clear understanding of language and how to guide generative systems.”

She then delivers what may be the killer line in this discussion by saying that “prompting alone is brittle”, which is perhaps a realization that many have failed to step back and consider. But how is this suggestion validated?

Prompt engineering emerged as a purely natural language-based way to coax systems into exhibiting the behaviour required of them. McKinsey calls it the practice of designing inputs for AI tools that will produce optimal outputs. IBM says prompt engineering is critical because it directly influences the quality, relevance and accuracy of generative AI outputs. “A well-crafted prompt helps ensure that the AI comprehends the user’s intent and produces meaningful responses, minimising the need for extensive postprocessing,” notes Vrunda Gadesha, AI advocate at IBM.

Khalaf says that prompt engineering is already being replaced by the broader concept of “context engineering”, which requires a deeper understanding of programming because it touches on the subsystems, tools and external sources at play.

“Approaches like DSPy intermingle deterministic coding with prompts by letting users create optimizable, programmatic pipelines around prompt building blocks. Our own work on Natural Programming introduces natural expressions and natural functions into a general purpose programming language so you can choose to use either natural language or code in different parts of your program depending on what works best for the logic you want to express,” explained Khalaf.

She thinks that the level of abstraction is being raised yet again. The logic of programs is now an interweaving of code, natural language and eventually images and audio.

This evolution provides an extra tool in the toolbox. If you grew up in a multilingual culture, it’s kind of like when you reach for the phrase in whatever language best expresses our intention… the same can now be done with programming. It is therefore evident that programming is becoming a collaborative process between human and machine, resulting in multilingual artifacts mixing prose and code.

Lessons From Peanut Butter & Jelly

“I once led a group of students at a NYC school through the famous Peanut Butter and Jelly Sandwich exercise that went viral in this YouTube video. Participants write a set of instructions that, when followed verbatim, should result in an edible PB&J sandwich. It’s harder than it sounds, showing the gap between intention and execution,” said Khalaf.

She references Edsger Dijsktra, one of the founders of modern computer science, who wrote lamenting “the foolishness of natural language programming”, stating that, “When all is said and told, the ‘naturalness’ with which we use our native tongues boils down to the ease with which we can use them for making statements the nonsense of which is not obvious.”

“Imagine expressing an algorithm or a proof with words instead of mathematics (or code). It is painful. That’s the reason programmers may baulk when offered to write certain tasks in natural language that is used to generate code and prefer to write the code directly themselves. On the other hand, generative AI models do much better at certain tasks with minimal input,” clarified Khalaf. “For example, summarizing an article, analyzing sentiment in text, or answering questions on a corpus they know of. Writing that logic from scratch in code is painful and using a generative AI model would be preferred. It may also be preferred for situations where the model is able to generate all the details needed from a high-level description and the developer is able to understand, debug and maintain the resulting program. Again, we see that the future of programming systems is hybrid: a mix of code plus prose.”

The Illusion Of Fluency

In light of these observations, people building programs at any level will now need to understand both and will still need to learn to code, but how they learn and what they learn exactly is likely to change. When we create a program without touching or seeing code, it creates an “illusion of fluency” in our minds We might be able to get something up and running, but without understanding how it works or why it does what it does.

When it is time to change something, fix a problem, or handle choices about underlying systems or quality of service needs, Khalaf insists that the creator is at an impasse. The suggestion here is that students with that kind of (lack of) understanding can indeed create code faster, but they struggle to take it to the next steps or explain how their application will behave in certain situations.

Khalaf points to an exposition in support of coding by authors from the Raspberry Pi Foundation, which explains that learning to program goes beyond computing literacy to providing what they call “digital agency” now, helping people shape and participate in the digital world rather than simply being influenced by it. When people study software engineering, programming education doesn’t only cover coding constructs; it also necessitates an understanding of how to break a problem down into its component parts and how to be specific enough so that the solution can be realized and executed.

Blended Prose & Code

“These, I believe, are life skills that underpin a powerful systems thinking approach to problem solving. In brief, computational thinking matters more than pure coding ability,” said Khalaf. “AI will be as integral to software as data and APIs are today. The future software engineer will also be an AI engineer. But this role demands a rare blend – fluency in both prose and code. STEM-trained developers may struggle with writing; liberal arts graduates may fear code. To bridge this, universities are considering computer science curricula within liberal arts programs,” concluded Khalaf.

Software application development is clearly seeing a fundamental transformation. The aperture is widening, bringing creation into the hands of more people. Technology advocates and evangelists think that we can be certain of one immediate future truth: the future is hybrid i.e. humans who know how to code, how to write and how to collaborate with technology.

Just like a peanut butter and jelly sandwich, the future of software application development appears to be an amalgam of two very appealing ingredients. Oh… and before you ask, creamy with grape, obviously right?

Making peanut butter and jelly sandwiches, top view with copy space

getty