Hacker News new | past | comments | ask | show | jobs | submit login

Even if it does, it will end up looking more like a mathematical proof with exact definitions, sub-definitions and the equivalent of "lemmas" and such.

Or maybe it will like current laws & regulations, legal code, maybe something like this (first legal code I could think of...) [1].

But I'm sure it will not look like what people imagine when they first hear "programming in English" - a book or a nice story or a conversation.

[1] https://codes.findlaw.com/ca/vehicle-code/veh-sect-23152/




It will look a lot like this: https://chat.openai.com/share/345d0bca-7fc3-4b91-a1f1-95b1e8...

In other words, English (or your human language of choice.)


90% of the work of building real world applications is imo fixing and adding features, i.e. maintenance. I see it rarely considered when talking about "english as code". How does this work in a more complicated application with multiple "pages" and "features"? One conversation per feature? How do you make changes to those when requirements change? If you just go back and change parts of the conversation, how do you make sure the final product still covers all the existing use-cases?

The example is outputting (afaict, skimmed most of it) effectively 15 lines of code. In terms of features, the equivalent of a single button on an ops dashboard page.

That's just not maintainable. Sure, you can write one-off, throwaway "code" this way but there's no way you could build (and maintain) a business this way, at least imo.

You'd need to "regenerate" chunks of your business logic from changed requirements, hoping they'd remain about the same. Thus why I think you'd converge on Math or Legal Code, precise and hopefully reproducible output when slightly tweaked.


My thinking is this: strip out everything but my requests, tidy it up a bit, and feed it to ChatGPT in a fresh context window, and you'll (presumably) get the same Python code out, or something functionally equivalent.

It's like running early C++ code through cfront to generate a C program that is then compiled and executed as usual. Except this time, the input is not C++, it's plain English. That is not a small distinction!

For one thing, any reasonably-literate person can now get the computer to do what they want. The specification is now the program itself, a longstanding holy grail of programming. Decades of marketing hype and empty promises of "5GL" languages are now within reach.

As for maintenance, the document that is 'maintained' is the English, not the Python. When the requirements change, regenerate the output. Ideally no human ever needs to see the Python code, much less edit it. (Notice that ChatGPT isn't just generating the code from scratch, but successfully editing it.)

There is no reason to think that small random variations in the exact output code will be a showstopper. Automated test generation will be a big part of the picture, of course.


That is sort of what I mean, to be able to continuously regenerate the output in the same manner and achieve consistent results, imo, you would probably converge on something that leaves little open to interpretation - so mathematical notation or legal code.




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

Search: