AI Eats Software
chasingpeaks.substack.com
chasingpeaks.substack.com
Sure, have ChatGPT generate your app for you. Do you plan to independently generate tests for all the functionality or are you just going to YOLO and hope everything's correct?
It's only a matter of time before someone uses ChatGPT to generate an app that loses them millions of dollars because of some misgenerated functionality. Good times...
It's similar to any disruptive technology at the beginning of an S-curve if you've read Innovator's Dilemma. At first, it just handles small niche use cases and the incumbent (software engineers) move upmarket to customers with higher demands that the disruptive technology can't satisfy (maybe the Autonomous driving software) but then the disruptive technology gets good enough as companies pour resources into developing it until it can satisfy even the higher demand customers.
"Chips for America" i think was the news article headline i read last week about upcoming chip manufacturing subsidies. even our government is spending big $$$ on it
Not every problem can be solved by throwing money at it (or at all, even). Nobody knows how far AI can go. Those who invest a ton into it just hope that it will become profitable, but really they don't have a clue. It's just a big bet.
Sure, it can auto-complete such that the developer does not have to remember anything (which is arguably making developers worse at doing their job), but it cannot understand the reality of the person who will be using the program.
It is already a problem with human developers who write programs that they don't use themselves, solving problems that they don't understand themselves.
The thing is: natural languages are for humans, and they are ambiguous by construction. Programming languages are for machines, and must be unambiguous in order to work. The role of a software developer is to translate the "human requirements" into unambiguous code.
Now say you manage to specify a program in a natural language in an unambiguous manner, then you have just invented a new programming language. And people will have to learn it, because it won't be a natural language anymore. It will just be a programming language that somehow looks like a natural language.
IMHO, that is fundamental: there will always be a need to translate between the natural language and the programming language, and that is the role of a human who actually understands the natural language (as opposed to an IA that interpolates between data points it was trained on).
I'll take my chance here and will say that the author seems to be living in a bubble. I don't know anyone who is waiting for that signal. Or maybe that is my bubble?
> I think it’s time we declare coding-level AGI
Source: "I used AI to write an iOS app that is so small that it required less than ten lines of my own code for minor tweaks. I won't tell you what the app does, or if it had bugs".
If the author told me that they got their "coding AGI" to write all the code for an autonomous car that performs similarly to the current ones, it would make me think. But I am pretty damn sure this is not possible today.
On the other side of the spectrum, AI can certainly produce very trivial code that just needs to appear to work and no tests. One question I would have there is: if you know what you are doing, are you really faster prompting the AI to generate code for you than writing the code directly? I would argue that for something completely trivial, I can completely imagine that I have written the code in vim before the IDE integrating the AI has even loaded.
The remaining part is something that is not "too hard" (autonomous car) and not "too easy", where the AI helps the developer get something that appears to work faster. What about correctness? If you let the AI write tests for you, you need to review them, right? Reviewing is tricky, because it's super easy to overlook something. As a maintainer of open source projects, many times it takes me longer to review a PR than to actually write it myself from scratch. How can AI help with that?
And my final question is: when you have a bug in the codebase, does the AI find it for you? Because if you have to debug it yourself, it may not be fun to have to dig into AI-generated code.
All that to say that I am not convinced that AI makes development fundamentally faster, but at some point it makes it very annoying: I am not a tester because I like coding more than testing without ever seeing the code. AI has the potential to make me hate my job, and it's not even clear if it will be doing it better.
> Think about how many startups are just basically building a CRM right now.
Sure, and with AI they will be replaced by the same amount of startups building a CRM with AI.
I think it's too extreme a definition. It's not like we need to wait to get to that level to seriously consider the effects when 90% of software is not that. It feels more relevant to consider where the domain of things it can accomplish is equal to 90% of software creation.
> if you know what you are doing, are you really faster prompting the AI to generate code for you than writing the code directly? I would argue that for something completely trivial, I can completely imagine that I have written the code in vim before the IDE integrating the AI has even loaded.
This would indicate me you're far higher than the median software engineer -- you're maybe top 0.1%
> when you have a bug in the codebase, does the AI find it for you? Because if you have to debug it yourself, it may not be fun to have to dig into AI-generated code.
AI is probably better at debugging than most software engineers. If your point is that it's worse than the top 0.1% of debuggers, then I'd agree but I'd argue it should get better over time. The question of if there's physical or theoretical limitations on it getting better is an interesting one. There's still a massive amount of code to train on.
> Sure, and with AI they will be replaced by the same amount of startups building a CRM with AI.
Yes, perhaps this implies value must accrue to something that's not the CRM and more how the AI plays into it.