Finally someone put it this way! Natural language has embedded limitations that stem from our own mental limitations -the human mind thinks sometimes too abstract or too specific things, and misses important details or generalizations. As a programmer, I know first hand that the problems or even absurdities of some assignments only become apparent after one has begun implement the code as code, i.e. as strict symboli…
The man has been dead for 23 years
Dijkstra On the foolishness of "natural language programming"
151–160 of 281 posts
Re: Dijkstra On the foolishness of "natural language programming"
#152Personal context is tacit experience. Cultural context is aggregate. Wittgenstein stated that the differences between personal and cultural language makes it impossible to agree on anything foundational to philosophy. Godel did something similar to discrete structures by hacking self reference -- a kind of recursive self reference with no exit state. I think pair programming with an LLM is interesting. You get to com…
Re: Dijkstra On the foolishness of "natural language programming"
#153So many Dijkstra links amount to "Dijkstra on the [pejorative noun] of [whatever was bothering Dijkstra]." I promise to upvote the next Dijkstra link that I see that does not present him as Ambrose Bierce with a computer.
Re: Dijkstra On the foolishness of "natural language programming"
#154Earlier quoted context omitted.
you guys are not wrong. explain any semi complez program, you will instantly resort to diagrams, tables, flow charts etc. etc. ofcourse, you can get your LLM to be bit evil in its replies, to help you truly. rather than to spoon feed you an unhealthy diet. i forbid my LLM to send me code and tell it to be harsh to me if i ask stupid things. stupid as in, lazy questions. send me the link to the manual/specs with an RT…
If you don't mind sharing - what's the specific prompt you use to get this to happen, and which LLM do you use it with?
Re: Dijkstra On the foolishness of "natural language programming"
#155The question is "natural" to whom, the humans or the computers?
AI does not make human language natural to computers. Left to their own devices, AIs would invent languages that are natural with respect to their deep learning architectures, which is their environment.
There is always going to be an impedance mismatch across species (humans and AIs) and we can't hide it by forcing the AIs to default to human language.
Re: Dijkstra On the foolishness of "natural language programming"
#156People are sticking up for LLMs here and that's cool. I wonder, what if you did the opposite? Take a project of moderate complexity and convert it from code back to natural language using your favorite LLM. Does it provide you with a reasonable description of the behavior and requirements encoded in the source code without losing enough detail to recreate the program? Do you find the resulting natural language descri…
Re: Dijkstra On the foolishness of "natural language programming"
#157People are sticking up for LLMs here and that's cool. I wonder, what if you did the opposite? Take a project of moderate complexity and convert it from code back to natural language using your favorite LLM. Does it provide you with a reasonable description of the behavior and requirements encoded in the source code without losing enough detail to recreate the program? Do you find the resulting natural language descri…
Re: Dijkstra On the foolishness of "natural language programming"
#158Earlier quoted context omitted.
Language can carry tremendous amounts of context. For example: > I want a modern navigation app for driving which lets me select intersections that I never want to be routed through. That sentence is low complexity but encodes a massive amount of information. You are probably thinking of a million implementation details that you need to get from that sentence to an actual working app but the opportunity is there, the…
You call it context or information but I call it assumptions. There are a ton assumptions in that sentence that an LLM will need to make in order to take that and turn it into a v1. I’m not sure what resulting app you’d get but if you did get a useful starting point, I’d wager the fact that you chose a variation of an existing type of app helped a lot. That is useful, but I’m not sure this is universally useful.
In this example, setting the system prompt to something like "You are an experienced Android app developer specialising in apps for phone form factor devices" (replacing Android with iOS if needed) would get you a long way.
Re: Dijkstra On the foolishness of "natural language programming"
#159Finally someone put it this way! Natural language has embedded limitations that stem from our own mental limitations -the human mind thinks sometimes too abstract or too specific things, and misses important details or generalizations. As a programmer, I know first hand that the problems or even absurdities of some assignments only become apparent after one has begun implement the code as code, i.e. as strict symboli…
And now we're converting this imperfect form of communication (natural language) into a language for machines (code), which notoriously do exactly what you say, not what you intend.
NLP is massively, and I mean massively, beneficial to get you started on the right path to writing an app/script/etc. But at the end of the day it may be necessary to refactor things here and there. The nice thing is you don't have to be a code ninja to get value out of LLMs, but it's still helpful and sometimes necessary.
Re: Dijkstra On the foolishness of "natural language programming"
#160Earlier quoted context omitted.
If you don't mind sharing - what's the specific prompt you use to get this to happen, and which LLM do you use it with?
The rudest and most aggressive LLM I've used is Deepseek. Most LLMs have trained-in positivity bias but I can prompt Deepseek to tell me my code is shit very easily.