Live data from Hacker News

What ChatGPT and AI-Based Program Generation Mean for Future of Software

cacm.acm.org

21–30 of 119 posts

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#21
post #10

So... If it's so revolutionary, why can't I get it to solve level 1 advent of code problems? Like here is what it generates for the 2016 day 1 problem: def find_distance(instructions): x, y = 0, 0 direction = 0 # 0: North, 1: East, 2: South, 3: West visited = set() visited.add((0,0)) instructions = instructions.split(", ") for instruction in instructions: turn = instruction[0] distance = int(instruction[1:]) if turn…

There’s evidence that it can already solve more difficult problems when given the right prompts and constraints. https://github.com/openai/openai-cookbook/blob/main/techniqu...

> given the right prompts and constraints

Yep, that seems to be the key, and some realized that already: https://news.ycombinator.com/item?id=34463061

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#22

I feel that in the short run, all programmers will simply become more productive. But in the medium and long run, the narrow SE roles will become obsolete: Such as any SE role where there’s a “certification process”, eg: Cloud (AWS, GCP, Kubernetes), iOS, Android, even CCNA, etc. A generalist SE (side note: like how I assume HN’s readership bends towards) will be the one to benefit, as a good generalist SE can have n…

I agree. I think we are getting close to where a machine can do "programming" but it will be a while before a machine can do "software engineering".

I.e. maybe you will be able to use AI to solve a problem, like "write a lambda to to accept JSON in this format and put it in a database with this scema", or even potentially "optimize this function to run as fast as possible on a multi-core processor", but it seems we're quite far from something like "write an application with a GUI that looks like this which has the following functions".

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#23
post #19

I just don’t feel threatened by AI at all. Maybe I’m not seeing the full picture, but the quality of your software necessarily depends on a constant re-evaluation of customer needs, business priorities, human values, etc. Lots of squishy stuff. Programming is not just taking product requirements and spitting out the correct algorithms.

chatGPT is not a threat. ChatGPT is an omen for the threat that currently exists in the future. A lot of people haven't really played with chatGPT in depth. This thing is next level. It's not just spitting out generic things, there is genuine understanding here and genuine creativity. Here's a snippet from a chatGPT conversation I had based on your post: ME: Give more examples of squishy stuff that software developer…

Any other examples of what you mean by creative

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#24

What kind of basic programming does one have to do to fee threatened by chatgpt? This tool does great at regurgitating basic coding but anything a little more complex is a mix of nonsense and confidence. Do people actually write “leet code” on a daily basis?

Same kind of basic programming that was "threatened" by no-code/low-code solutions before that.

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#25

Some years ago (perhaps 2015) I told a non-programmer that MOST programmers would be obsolete by the end of the century because of AI. Surprisingly he scoffed saying there is no way AI will be able to handle all those business edge cases. The stuff in the article is pretty basic and a long way from complex business logic, but we are on our way. I just hope business application developers like myself can survive until…

What’s a business application developer?

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#26

Knowing what you want is both the fun and the hard part of most software development. That and understanding the environment you are operating on. Both of these things are not something I feel an AI has a strong advantage with given the fact that you need to provide this information. Perhaps I can try to say, "Please decide what browser features I should use to maximize profit.", and it will actually do some proper r…

In the case of automated theorem provers, they should generate a certificate together with "true", so their proof can be checked. And that is also the answer to checking AI: let them generate a proof that what they did was correct. Of course, that only works if you ask the AI for a theorem, but a lot of tasks can be framed that way.

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#27
> The kind of thing that you witness once in a generation. (The last two times were object-oriented programming and the World-Wide Web.)

Folks, let's get real.

I kind of snarked at this but then I realized it's written by Bertrand Meyer and the conclusion is spot on: I agree that should these tools proliferate it will highlight the importance of formal methods and verification.

Even if ChatGPT-like systems get faster and gain deeper models of computer syntax and structure, I suspect the one problem that will be difficult to solve is elegance and abstraction. Often the abstractions we choose are based on laws and ways of thinking that help us manage complex phenomenon using laws and notation which make it easier for us to reason about them.

And even if that does get solved some how, we're going to have to understand them some how. A stronger emphasis on proofs and model checking will be useful to anyone who wants to be sure that the program the FutureGPT produced isn't simply "some what right" but is actually right.

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#28
post #13
post #10

So... If it's so revolutionary, why can't I get it to solve level 1 advent of code problems? Like here is what it generates for the 2016 day 1 problem: def find_distance(instructions): x, y = 0, 0 direction = 0 # 0: North, 1: East, 2: South, 3: West visited = set() visited.add((0,0)) instructions = instructions.split(", ") for instruction in instructions: turn = instruction[0] distance = int(instruction[1:]) if turn…

> So... If it's so revolutionary, why can't I get it to solve level 1 advent of code problems? Because it's a nascent technology that hasn't been optimized for solving advent of code problems. It can, however, do a lot of other cool stuff.

Except it should have been trained on probably tens/hundreds of thousands of 2016 advent of code solutions posted on github and other sites, shouldn't it?

It often starts hallucinating the input in the exact format advent of code gives, so I'm like 99.9% certain it has been trained on a large corpus of advent of code.

Personally I use codex sometimes for debugging help so I agree it can do cool stuff. I just disagree it is "almost" right at solving problems -- it almost never generates code that even compiles for me when prompted to do anything not super trivial like advent of code brain teasers.

Re: What ChatGPT and AI-Based Program Generation Mean for Future of Software

#29

I just don’t feel threatened by AI at all. Maybe I’m not seeing the full picture, but the quality of your software necessarily depends on a constant re-evaluation of customer needs, business priorities, human values, etc. Lots of squishy stuff. Programming is not just taking product requirements and spitting out the correct algorithms.

They are just trying to hire less programmers, because programmers are expensive. They will have even more business / system analysts than before. And they will still have to have programmers to piece stuff together and debug systems. They just think if they could have less programmers they would save money.

There's a reason the world doesn't run on low and no-code platforms. This is worse, because it still takes a programmer to verify and apply changes.
Post reply on HN