4 ms·
That's my favorite: "Why can't I just tell the machine what I want?" (Often preceded by "What I want is simple.") When people tell me something like that, I st
by blunte 9y ago
That's my favorite: "Why can't I just tell the machine what I want?" (Often preceded by "What I want is simple.")
When people tell me something like that, I start asking questions about what they want. It only takes one or two questions to evoke a reply from them of, "Oh, I don't know... maybe it should do this, or maybe it should do that; it kind of depends..."
And therein lies the real problem. When the end user cannot even clearly define (or even decide!) what they want when a certain situation comes up, how could a computer possibly know? Put the user next to a good developer, and I promise the bottleneck will be the user.
- deleted 9y ago[deleted]
- catnaroek 9y ago> When the end user cannot even clearly define (or even decide!) what they want when a certain situation comes up, how could a computer possibly know? Is it too hard to say “No program for you until you make up your mind about what you want” ? --- seanmcdirmid: > ”programming to think“ If the user wants to take this approach, I am more than willing to give them programming manuals and references to other learning resources. I don't want to be involved any further than that with it, though.
- notaboutdave 9y ago> No program for you until you make up your mind about what you want This is more or less the HN response to questions like this every time they come up. You can't fully automate programming because it is the very act of communication that defines the program. Without some type of brain-computer interface that could download your mind and "execute" it, you still have to communicate. Programming is the most direct and precise way to do this.
- catnaroek 9y ago> You can't automate programming Nobody is talking about automating programming. The point to my previous message is “There's no point to writing programs for users who don't know what they want.” At least not if you're acting in good faith. If you want to manipulate other people, that's a-whole-nother business, but I'm not enough of a psychopath to want to do that kind of thing. > it is the very act of communication that defines the program Programs are defined by the syntax and semantics of a programming language. > Without some type of brain-computer interface that could download your mind and "execute" it, you still have to communicate. You only need to communicate if you want to transmit an already existing program to someone or something else.
- fao_ 9y agoYou're both arguing the same point...
- catnaroek 9y agoNot at all. I emphatically disagree with this: > it is the very act of communication that defines the program.
- fao_ 9y ago> it is the very act of communication that defines the program Programs are defined by the syntax and semantics of a programming language. In what way is the language of programming not communication?
- catnaroek 9y agoYou don't need to communicate your programs to anyone or anything for them to exist. If I write a program on a piece of paper, and don't give this piece of paper to anyone else, a program still exists. (I might have to transcribe it into a computer if I don't want to run it manually myself, though.)
- 9y ago
- seanmcdirmid 9y agoWhatever happened to “programming to think”, is it just “thinking to program” now?
- taneq 9y agoExactly. And this is the core "irreducible" difficulty of programming which visual languages, literate programming, etc. cannot solve. Sure, we can set up a nice set of defaults which bypass a lot of the starting-out work but as soon as you try to actually make something new, you're back to square one: What do you want to achieve? How are you going to do that?
- tincholio 9y agoActually, literate programming can help with this, as it forces you to write what you mean to do (and then you can compare that to what you're actually doing in the code). Literate programming is not "natural language" programming...