News for hackers. Stuff that matters.
Re:AutoDev: Automated AI-driven development by Microsoft by davedx on Saturday March 16, 2024 @07:59AM (#39725110)
Yeah. The shocking speed of progress on AI - especially for coding - tells me quite clearly what the future holds for much of software engineering. Despite the human factors (yes, requirements gathering and specification is messy) our profession is intrinsically automatable at the end of the day. Being in denial is pointless.
Re:AutoDev: Automated AI-driven development by Microsoft by UK-Al05 on Saturday March 16, 2024 @08:01AM (#39725127)
I think software engineering will just go up the stack to requirements engineering.

Those requirements will be specified as tests or in a very high level language that doesn't allow for ambiguous meanings. Which is essentially another programming language just more high level.

Re:AutoDev: Automated AI-driven development by Microsoft by idle_zealot on Saturday March 16, 2024 @08:12AM (#39725209)
I basically agree. We'll have AI create some very high-level programming languages that suit various ways of specifying problems precisely, then program in those. Of course, the AI will also know how program in these languages, which will make development very accessible as you could describe a problem vaguely in natural language, get a specific solution back, then confirm it works for your needs or tweak it until it's suitable.
Re:AutoDev: Automated AI-driven development by Microsoft by aerhardt on Saturday March 16, 2024 @08:35AM (#39725375)
I agree, and I’m thrilled about it. I love programming but while I’ve had bouts of enjoyment coding “in the small”, it’s my least favorite part. I love systems and software architecture, and seeing things come to life above all else. ChatGPT is greatly improving my enjoyment of it all.

I also doubt traditional programming languages are going anywhere in the short term, seeing there are trillions of lines of code for critical systems in the wild. Good luck replacing that in a few years only, or fully delegating its maintenance to Devin.

Re:AutoDev: Automated AI-driven development by Microsoft by junior44660 on Saturday March 16, 2024 @10:33AM (#39726295)
> I love programming but while I’ve had bouts of enjoyment coding “in the small”, it’s my least favorite part.

Yes, okay, but what will happen to junior to mid level engineers? In many companies these levels can't even have an influence on architecture.

Re:AutoDev: Automated AI-driven development by Microsoft by flir on Saturday March 16, 2024 @09:20AM (#39725657)
If the hypothetical high level language doesn't allow for ambiguous meanings, you can write a compiler for it and you don't need the AI.

(Not saying you're wrong about "higher and higher levels of abstraction" - that's the way it's always been - but the unique promise of AI is the ability to deal with ambiguity in the requirements).

Re:AutoDev: Automated AI-driven development by Microsoft by UK-Al05 on Saturday March 16, 2024 @09:28AM (#39725710)
Ambiguity in requirements is where the majority of bugs come from now. So I don't think AI would improve things.
Re:AutoDev: Automated AI-driven development by Microsoft by flir on Saturday March 16, 2024 @09:46AM (#39725869)
Assuming a (hypothetical, doubtful) AI as good as a human programmer, I think the advantage becomes speed. Think of it like a REPL that you program in English. Patching ambiguities with "Oh, I didn't mean X, I meant Y" becomes the work of minutes, not hours.
Re:AutoDev: Automated AI-driven development by Microsoft by skydhash on Saturday March 16, 2024 @12:27PM (#39727232)
In this case, you don’t really need AI. People like Forth and Lisp because you can built an efficient DSL which you can converse with. What people have trouble with is formalism, and logical and abstract reasoning.
Re:AutoDev: Automated AI-driven development by Microsoft by internet101010 on Saturday March 16, 2024 @04:11PM (#39729081)
Exactly. There will be a lot less of the "we will have to look into it" 2-day lag time.
Re:AutoDev: Automated AI-driven development by Microsoft by password54321 on Saturday March 16, 2024 @08:36AM (#39725378)
"The shocking speed of progress on AI"

Not sure what is shocking. Some of us used Codex in 2021 and nothing has changed since that has revolutionised software development by any capacity. Feels like people are just saying whatever some tech CEO or worse, some guru says.

Progress isn't some infinite exponential either where you can just keep increasing the capacity of models and expect better results. Also not sure where they are going to get better training data when they already polluted the internet with AI generated data.

Re:AutoDev: Automated AI-driven development by Microsoft by flir on Saturday March 16, 2024 @09:28AM (#39725705)
Yeah, to me it feels like a step change to a new level, followed by a lot of exploration of that new level. It feels like there's lots of exploring left to do, but we're not going to reach "magic box that turns English into flawless programs" on the current level.

Speaking just to programming, yes there's probably lots of AI-generated code in the training data now. But the generation of that code was guided by, and (presumably) confirmed to be working by, a human. So it's been filtered.

I suspect that AI-and-human produces better code than human, on average. I know that if I throw any twenty lines of my code into it, it can usually suggest some improvement, even if it's just a variable name.

Re:AutoDev: Automated AI-driven development by Microsoft by mkleczek on Saturday March 16, 2024 @09:24AM (#39725677)
I am quite confident my job is not in danger. Sure - scaffolding and boilerplate can be automated using ML - but problem solving - not at all.

The reason is simple - to find a solution is to create a program that has a specific set of properties. This - by Rice's Theorem - is not possible to realise using a Turing Machine. So as long as the solution search space is small (ie. we are talking about very similar programs to generate) - ML based methods are fine.

But once we are talking about finding solutions to non-trivial problems - I am sure human is needed.

Re:AutoDev: Automated AI-driven development by Microsoft by Smaug123 on Saturday March 16, 2024 @10:06AM (#39726040)
The world contains a great many arguments invoking Rice (or equivalently the halting problem) to "prove" non-mathematical statements, and they are almost all specious. a) the mere fact that there is no fully general procedure to do some particular task doesn't imply some human can do that task any better than the best procedure we can find, and b) even if you believe there's something noncomputable about the human mind, it still allows the existence of a procedure that will solve all instances of that task which will actually arise in reality.

It's a purely empirical question about the extent to which Church-Turing holds of the real world.

Re:AutoDev: Automated AI-driven development by Microsoft by mkleczek on Saturday March 16, 2024 @01:39PM (#39727853)
Until a computer can solve the problem “how to redesign this particular database design (tables/partitioning/indexes/queries) so that it can handle expected load in next 5 years” I can safely assume it does not hold :)
Re:AutoDev: Automated AI-driven development by Microsoft by Smaug123 on Saturday March 16, 2024 @03:19PM (#39728667)
Ah, now you're talking price! How many years do you bet before this happens - three? Five?
Re:AutoDev: Automated AI-driven development by Microsoft by mkleczek on Saturday March 16, 2024 @04:26PM (#39729204)
I don’t believe it will happen at all. There will always be some problems that only a human can solve because it’s a human that defines them.

It is always _by definition_ a game between humans where computers are just tools.

At least as long as AGI does not happen…

Re:AutoDev: Automated AI-driven development by Microsoft by Smaug123 on Saturday March 16, 2024 @05:01PM (#39729434)
I don't at all see why "How to redesign this particular database design (tables/partitioning/indexes/queries) so that it can handle expected load in next 5 years" is a problem that only a human can solve because only a human defined it. Forecasting load is in the realm of machine learning without even needing LLMs, and LLMs are already capable of designing database schemas and so forth, so this seems much more like a question of "when will the existing technology, which can do this sometimes, get to the point of being able to do it always".

Recall that things are true "by definition" if they're not true for any other reason; you're free to define yourself out of the race against the machines, but the real world need not pay attention to your definition!

Computers are "just tools" is certainly true, but I find it harder to automatically agree that the programs running on them are "just tools". Here is a rather bad analogy which is suggestive: in school we learn that there are seven features which are necessary and to some extent sufficient to identify a living organism ("movement, respiration, sensitivity to surroundings, growth, reproduction, excretion, nutrition"). Programs certainly move (thanks to Kubernetes, for example), are sensitive to their surroundings (think of self-healing clusters or load-shedding), grow (scale up in response to demand), and excrete (cleanup jobs on databases). They don't respire, but then that was only ever a contingent feature of how life evolved on Earth; they don't take in nutrients unless you really stretch the analogy; they don't currently reproduce, although LLMs being able to code means it's only a matter of time before an LLM can train another LLM (even Claude 3 Opus is able to train small ML models). All this is to say that the word "tool" is a very poor description of what an LLM is: "tool" calls to mind things which don't have any of those lifelike properties, whereas even large non-intelligent software systems such as Kubernetes have many of those properties.

Re:AutoDev: Automated AI-driven development by Microsoft by mkleczek on Saturday March 16, 2024 @05:20PM (#39729573)
What I am trying to say is that even if computers are going to be able to solve todays database design problems (which I am sceptical of by itself) - we are going to have bigger/more capable databases and other problems that computers are not able to solve.

It is going to happen by definition - people by definition want more than they have today and want to solve unsolved engineering problems ("problems" that machines can solve are simply not problems anymore).

The only way it can end is creation of some overwhelming intelligence (AGI) that would govern (or some might say: enslave) people so that their demands are controlled.

Re:AutoDev: Automated AI-driven development by Microsoft by 93po on Saturday March 16, 2024 @11:54AM (#39726978)
The problem is software development is 95% stuff that has been done a million times before. If you disagree you’re probably not exposed to enough of the industry to see this.
Re:AutoDev: Automated AI-driven development by Microsoft by skydhash on Saturday March 16, 2024 @12:35PM (#39727301)
Is it the problem? Most of the time I’ve coded something is because the code I found did not solve the problem according to my needs. There’s a plethora of music players, but no one is alike. That’s because the domain of music playing is vast and each developer had to compromise to find something that can work for him.
Re:AutoDev: Automated AI-driven development by Microsoft by 93po on Saturday March 16, 2024 @05:57PM (#39729846)
If you make a VLC clone from scratch but intended to be used for kiosks, the mixture of features and how it operates may be different, but the individual features have assuredly already been programmed elsewhere before. Which is basically my point. It still basically renders video on a screen, and maybe has options to play/pause/mute/etc. Most websites are CRUD apps with stuff that's been done literally a million times before.

Yes, some people do novel problem solving with software. But it's super rare in the grand scheme of the millions of people in the world who program.

Re:AutoDev: Automated AI-driven development by Microsoft by mkleczek on Sunday March 17, 2024 @03:05AM (#39732495)
What you are describing is a pipe dream of software reuse. People try to do it from the very beginning of IT industry with mixed results.

The devil is in the details - your mixture of features is different than mine. We have constant upgrade of video codecs that offer more capabilities. We have unavoidable security issues that need to be somehow addressed (by version upgrades or replacing some components). Etc, etc, etc...

IMO it is quite arrogant to claim "all problems are the same problem" - they are not even though they might look similar.

Re:AutoDev: Automated AI-driven development by Microsoft by 93po on Wednesday March 20, 2024 @11:10AM (#39767722)
I agree that the premise of software reuse with humans is not realistic. However my point being that an LLM trained on the entirety of available code could realistically mix and match features across different pieces of software and build something cohesive
Re:AutoDev: Automated AI-driven development by Microsoft by mkleczek on Saturday March 16, 2024 @01:32PM (#39727798)
That would mean 95% of problems are already solved.

I don’t agree with this - the space of problems to solve is as big as that of solutions (both are programs in the end).

I don’t think suggestion about lack of experience deserves any response.

Re:AutoDev: Automated AI-driven development by Microsoft by 93po on Saturday March 16, 2024 @05:54PM (#39729827)
> That would mean 95% of problems are already solved.

No, it means 95% of effort spent is spent towards already solved problems. This is, in part, why I hate capitalism. People are doing tons of work simply to compete with others instead of working together to solve meaningful problems.

Re:AutoDev: Automated AI-driven development by Microsoft by mkleczek on Sunday March 17, 2024 @01:47AM (#39732209)
It is difficult for me to dispute this as I don't think I am in any way entitled to define what problems are "meaningful".

BTW - lack of an authority deciding what problems are meaningful is the core idea of capitalism. And I'm telling you as a person that lived many years under communism: this is much better for everybody.