←back to thread

170 points mogambo1 | 1 comments | | HN request time: 0.204s | source
Show context
OptionOfT ◴[] No.45290784[source]
And the value of AI as pushed to us by these companies is in doing larger units of work.

But... reviewing code is harder than writing code. Expressing how I want something to be done in natural language is incredibly hard.

So over time I'm spending a lot of energy in those things, and only getting it 80% right.

Not to mention I'm constantly in this highly suspicious mode, trying to pierce through the veil of my own prompt and the code generated, because it's the edge cases that make work hard.

The end result is exhaustion. There is no recharge. Plans are front-loaded, and then you switch to auditing mode.

Whereas with code you front-load a good amount of design, but you can make changes as you go, and since you know your own code the effort to make those are much lower.

replies(5): >>45291216 #>>45291738 #>>45291762 #>>45298898 #>>45301645 #
nicce ◴[] No.45291738[source]
> Expressing how I want something to be done in natural language is incredibly hard

Surprise, surprise… that is why programming languages were created.

replies(2): >>45291806 #>>45297471 #
dragonwriter ◴[] No.45291806[source]
Programming languages don’t solve that problem, since someone still has to explain what needs to be done in natural language unless the end customer is also the programmer.

Programming languages were created because of the different problem of “its very hard to get computers to understand natural language even if you know how to express what you want in it”.

replies(4): >>45291960 #>>45294677 #>>45295928 #>>45297725 #
SkyBelow ◴[] No.45294677[source]
>Programming languages don’t solve that problem

The idea is that a programmer will work with natural language dynamically to create enough of an understanding to create a formalized specification within the programming language (eh, we technically need to include the entire ecosystem needed to run the code, but rarely is that an issue). Often it won't be perfect, but then a demo can occur where natural language can then comment on what was missed, which can then better be captured in the formal language. This continues until we get close enough that further effort to refine isn't justified.

This isn't the only reason programming languages were created, much as rarely anything has a single reason it was created. They were created as a way to get computers to do what we wanted without needing to modify the hardware, and then higher level languages were created so we can write more specification faster while losing a bit of the lowest level exactness.

Also why we have many different programming languages, as they try to fit into different levels of trade off between the different reasons for a programming language to exist. Well, one of the reasons we have many different programming languages....

replies(1): >>45299375 #
1. dragonwriter ◴[] No.45299375[source]
> The idea is that a programmer will work with natural language dynamically to create enough of an understanding to create a formalized specification within the programming language

I don't disagree that that is some people’s idea of the idealized process (though there are others, too.)

I disagree, though, that it is the purpose for which programming languages, as a category of tools, were invented. In fact, there were a whole bunch of tools for solving the problem of clarity of communicating expectations of sysstem behavior between humans in unconstrainted natural language invented, and that it was until fairly recently (well into the period of dominance of Agile, or at least “Agile”, methodss) the usual expectation in non-trivial programming projects that some combination of those would be used to solve that problem, and then the programmers, understanding the intent through those tools, would use programming languages to solve the problem that languages that are ideal for communicating between humans are not ideal for source languages for practical compilers or interpreters in computers.