Hacker News new | ask | show | jobs
by oytis 1299 days ago
We're getting closer to automate programmer's job too though. In the end it's a text problem - get a textual description (ticket) and generate code that fits it. We have models that can generate non-repeating art, why not non-repeating code?
5 comments

Programming in 50 years would be then formulating the textual description accurate enough to the AI will not create garbage. So basically what programming already is.
Also fixing or at least iterating the corner cases and bugs that AIs generated. Someone needs to be there to tell AI to repeat what they did until solution generated is correct.
...but once you get your "textual description" to be as exact as it needs to be so code can be generated from it directly, it will be basically indistinguishable from code.
Unless the AI is allowed to ask questions, like a regular programmer would?

I think we're getting close to strong AI there though, so I don't see it happening any time soon.

>> I think we're getting close to strong AI there though, so I don't see it happening any time soon.

It's unclear which clause is meant to be negative or positive here. If we're close to strong AI, systems which ask clarifying questions would be close as well, no?

Sorry. To be clear: I think strong AI is "fifty years away" and has been for seventy five years.

So yeah, an expert system that can read a natural language description of a feature and ask questions until it has enough detail to generate the code is science fiction in my opinion.

Having said that, maybe it could be achieved in a limited domain, SHRDLU-style. But that's just a way to deal with the ambiguity by excising it.

It doesn't have to be exact, no more than your input to Dall-E should be exact. Give the AI some understanding of intent of the project, some automatic metrics that will check AI's job quality and let it optimise against it. If AI doesn't generate what you wanted on the first run, correct it and let it learn. Basically what you would do with a junior developer.
Programming is as much encoding a domain and human communication as it is computation. If you can automate the first two, which is what you're claiming will happen, then all of human knowledge work could be automated. Call me skeptical.
its already changing

The issue is that natural language is often ambiguous. So what you want is to define a formal language that takes out the ambiguity.

Over the last decades, we have grown from writing assembly languae, towards ever more generic languages, that allow us to express the same idea with less effort.

I see programming advancing in this direction. It will still require training to 'speak' the formal language to communicate with computers, but it will always become easier and easier, only leaving computer scientists as a niche occupation to actually build the layers supporting the higher levels.

good luck explaining an enterprise sized system to an AI, validating all the use cases match the requirements ... and don’t forget our best friend: change. This will be a full time job