Earlier quoted context omitted.
> Do you find the resulting natural language description is easier to reason about? An example from an different field - aviation weather forecasts and notices are published in a strongly abbreviated and codified form. For example, the weather at Sydney Australia now is: METAR YSSY 031000Z 08005KT CAVOK 22/13 Q1012 RMK RF00.0/000.0 It's almost universal that new pilots ask "why isn't this in words?". And, indeed, mos…
I wonder why the legal profession sticks to natural language
Dijkstra On the foolishness of "natural language programming"
241–250 of 281 posts
Re: Dijkstra On the foolishness of "natural language programming"
#242Earlier quoted context omitted.
That's a really deep question. Obviously there are types of creativity that don't require words, like painting or sculpting, or improvising music, but I'm having real difficulty imagining programming without something at least resembling natural language. The closest my imagination gets is Scratch/Blockly, but even then you're essentially creating an AST composed out of statements and expressions, even if they're pic…
I think you're the kind of person who has an internal voice talking in their head, and can't imagine any other kind of thought? Math is all about abstract shapes and properties, for me. So is much of programming.
Re: Dijkstra On the foolishness of "natural language programming"
#243Earlier quoted context omitted.
Although if you look at most maths textbooks or papers there's a fair bit of English waffle per equation. I guess both have their place.
People definitely could stand to write a lot more comments in their code. And like... yea, textbook style prose, not just re-stating the code in slightly less logical wording.
"You came from these few places, you might go to these few places, watch out for these bugbears if you go down that one path."
Re: Dijkstra On the foolishness of "natural language programming"
#244Earlier quoted context omitted.
You claimed they weren't deterministic, I have shown that they can be. I'm not sure what your point is. And it is incorrect to base your analysis of future transformer performance on current transformer performance. There is a lot of ongoing research in this area and we have seen continual progress.
I reiterate: > This is assuming by "deterministic," you mean the same thing I said about programming language implementations being "controllable, reproducible, and well-defined." If you mean it produces random but same results for the same inputs, then you haven't made any meaningful points. "Determinism" is a word that you brought up in response to my comment, which I charitably interpreted to mean the same thing I…
Re: Dijkstra On the foolishness of "natural language programming"
#245People 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…
We're still going to have AI tools, but seriously complex applications, the ones we pay money for, arn't going to yield many LLM based curation strategies. There will probably be some great documentation and testing ones, but the architetural-code paradigm isnt going to yield any time soon.
Re: Dijkstra On the foolishness of "natural language programming"
#246this clearly has nothing to do with the current main usages of LLMs, it's about using natural language as an interface to produce accurate results, as a further abstraction on top of general purpose languages.
What is the difference between those things?
We will see if and when an algorithm can be parsed and executed from a natural language "source code" and if that is an improvement.
Also note that "source code" implies it is a code. Natural languages are not a code, that is, a unique mapping from a set to another.
Re: Dijkstra On the foolishness of "natural language programming"
#247Earlier quoted context omitted.
That's a really deep question. Obviously there are types of creativity that don't require words, like painting or sculpting, or improvising music, but I'm having real difficulty imagining programming without something at least resembling natural language. The closest my imagination gets is Scratch/Blockly, but even then you're essentially creating an AST composed out of statements and expressions, even if they're pic…
I think you're the kind of person who has an internal voice talking in their head, and can't imagine any other kind of thought? Math is all about abstract shapes and properties, for me. So is much of programming.
Re: Dijkstra On the foolishness of "natural language programming"
#248Earlier quoted context omitted.
> Or weak typing. How many languages thought that simplifying strings and integers and other types into "scalar", and making any operation between any operands meaningful, would simplify the language? Yet every single one ended up becoming a total mess instead. Yet JavaScript and Python are the most widely used programming languages [1]. Which suggests your analysis is mistaken here. [1] https://www.statista.com/stat…
JavaScript is indeed weakly typed, and is widely lampooned and criticized for it¹². But Python has strong typing, and has always had it. (Both JavaScript and Python have dynamic typing; Python’s type declarations are a form of optional static type checking.) Do not confuse these concepts. 1. https://www.destroyallsoftware.com/talks/wat > 2. https://eqeq.js.org/ >
Re: Dijkstra On the foolishness of "natural language programming"
#249Earlier quoted context omitted.
> Or weak typing. How many languages thought that simplifying strings and integers and other types into "scalar", and making any operation between any operands meaningful, would simplify the language? Yet every single one ended up becoming a total mess instead. Yet JavaScript and Python are the most widely used programming languages [1]. Which suggests your analysis is mistaken here. [1] https://www.statista.com/stat…
JavaScript is indeed weakly typed, and is widely lampooned and criticized for it¹². But Python has strong typing, and has always had it. (Both JavaScript and Python have dynamic typing; Python’s type declarations are a form of optional static type checking.) Do not confuse these concepts. 1. https://www.destroyallsoftware.com/talks/wat > 2. https://eqeq.js.org/ >
Re: Dijkstra On the foolishness of "natural language programming"
#250People 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…
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…
So sure, natural language is great for spitballing ideas, but after that it's just guessing what you actually want to get done.