Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Writing a spec thorough enough for AI to generate code that verifiably meets in and solves your problem means you're still programming, but specs instead of systems.


That was always the pitch of higher level programming. Pseudocode is slightly more of a spec than compilable C; C is slightly more of a spec than assembly language. It gets advertised as being "all you have to do is write a spec" and then it becomes just programming later.

Regardless, the studies have already demonstrated this: As you go higher-level, you write roughly the same amount of code and bugs per line, but also implement more features per line.

An AI tool will be ready for use when it demonstrates that same capability of "same bugs per line, more features per line".


Sure, the human element will still be there. But note that the detail of your spec will converge to the natural "resolution" of your problem as the power of your AI increases.


But at what scope? The how will always matter. Your AI could design a system that bankrupts you on the first day. To prevent that you need to specify constraints and it's turtles all the way down. It would free you from spending time on areas you don't care about, but that's already true with SaaS.


The how that matters must be part of your spec, of course. It is turtles all the way down, but the point is that apart from the top turtle, all the other turtles will be AIs. That's a big difference.

Just the step from "program" => "spec" is already a big one. So big, that it is rarely done today. Test-driven development is an attempt at this, but the problem is that tests cannot truly verify a spec. Proofs can. Of course, you can combine tests and proofs, for example proofs for correctness, tests to make sure other measures like speed and cost are sane. But if you want to be absolutely sure, you will need to replace all tests by proofs.



Hehehe. Well, the important ingredient missing from this comic strip is proof. You can see proof as code, if you like, but the important thing here is that you can trust the proof generated by an AI without having to look yourself at it.

Most people don't understand proof, but if you don't understand proof in 10 years, you will be out of a job as a programmer.


> if you don't understand proof in 10 years, you will be out of a job as a programmer.

No, that's not gonna happen. Can you write a proof of an order for you go to go a fresh market to buy ingredient of a menu I want to cook? "Hey, go buy ingredients for my noodle menu whose result is my taste"


What? You are going to hire a programmer to do that for you?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: