Developers: AI will skip 'coding languages' anyway, so stop the discussions about it. Now. Why do we have coding languages like python, javascript, java and C#? Because developers need a way to tell systems what to do. A language needs to bridge the gap between human intent and the execution of processes that do the work. Code is a structured way for humans -a language- to generate machine code, that's it. It exists because it is much more effective to translate our wishes this way compared to instructions on a lower level. Bonus: it requires less skills to master a more abstracted way of storytelling what makes software development more scalable. In the age of AI, we already switch between programming languages easily. A complete product can be rewritten to another stack in days. Models are trained to create code and will very soon be able to fully skip this step, delivering bytecode right away to be interpreted by your virtual machine. Redefine your relevant questions! We are migrating to another coding language generation: natural language.
Too good to be true. Statements like this share a common flaw: the assumption that AI will eventually produce 100% (or even 99%) correct code. It won’t. By its nature as a probabilistic model with safeguards against overfitting, the code it produces will always require review. This is exactly where functional programming and lambda calculus may see a resurgence.
On the contrary, natural language is what led to programming language diversification: precise syntaxes were needed to avoid natural language ambiguity. More programming languages will emerge to address the even greater ambiguity that natural language intentions encompass. Add world models for context and now ambiguity becomes many-dimensional.
I think the direction is right — abstraction keeps increasing, and we’re definitely moving closer to expressing intent rather than writing syntax. But I’m not convinced code “disappears” as much as it shifts layers. Even if AI generates bytecode directly, someone still has to define: → what the system should do → how different parts interact → what happens when things break Natural language is great for intent, but it’s ambiguous by default. Systems need precision, constraints, and predictable behavior. So the bottleneck doesn’t go away — it just moves: → from writing code → to designing systems and defining boundaries In that sense, “natural language as code” still needs structure… otherwise you get outputs, not reliable systems. Curious how you see ambiguity being handled at scale if natural language becomes the primary interface?
I disagree, considering LLMs are trained on code, they will work best with code. There is probably more steps and work involved to convert byte code back into actual code to fix and LLMs are not going to directly fix byte code, that alone would many more steps than working with code. Plus each language has its own runtime/compiler for a reason, there are certain things you can only do with certain languages, compiling to byte code does not resolve that.
AI hallucinates and produces inefficient and over engineered code. It's also notoriously bad at debugging. How do you propose problems and inefficiencies in code get rectified without engineers? "AI can do it" is a cop out and untrue.
Huang zei dit al in 2024, maar ik denk dat toen bijna niemand echt goed geluisterd heeft of het begrepen had… https://thenewstack.io/nvidia-ceo-details-a-new-ai-way-of-developing-software/#:~:text=Nvidia's%20interface%20automates%20the%20configuration,text%2C%20images%2C%20and%20video.
Looking even more forward, maybe you won't even need to learn a natural language: search Dark Software Factory.
Ik heb echt het idee dat ik vreselijk achter loop. Als ik kijk naar de code die Claude code oplevert is dat prima, maar, zeker de laatste week, niet super goed. Vaak kan ik genoeg aanwijzingen geven, maar bij complexe oplossingen, moet ik veel bijsturen. Zou dat dan anders zijn bij anderen? Misschien ligt het aan mijn nieuwe “skills” voor security en quality control hoor. Het klopt wel dat dit AI onbegrip eigenlijk een programmeertaal onafhankelijk probleem zou moeten zijn. Dat we kunnen programmeren in natuurlijke taal is echter een stap verder omdat we dan optimalisaties t.b.v. fysieke beperkingen (lees performance, capaciteit) moeten worden begrepen. Impliciete kennis over de implementatie zou dan overgedragen moeten kunnen worden. Dat zou wel een logische richting zijn, maar vanuit mijn gezichtspunt zijn we daar nog niet. Dus zitten we nog vast aan een taal die we allemaal kunnen begrijpen.
Imagine a system with a flow that checks whether a person is allowed to buy alcohol. The executable contains bytecode or pseudocode like: CMP R0, 21 # if less than 21 JB ... # don't let Now suppose the legal age is changed to 28. How do you make this simple modification? The connection between the constant 21 and the concept of “legal drinking age” is lost at the bytecode level. You would have to regenerate or recompile everything from the original source or prompts to produce a new executable. It should be clear how many problems this introduces.