I don't believe that non trivial apps can be built with conversational programming and we've had plain English programming since COBOL, so no to that either.
The "mind blowing" example of auto generating a "layout" can draw circles with a color fill or an HTML button with text. What kind of programmer needs or would use this? Should I really type, "I need a button that says Login and goes to the login page when you click it" every time that's the case? And for my second button, do I type that again with the new text? This sounds awful. If someone is amazed by an <a> tag, I would question their programming chops.
I have yet to hear even rumors of any AI that could generate anything like a real program from a conversation. Not gonna happen.
I must add here that debugging is 70% of the programmer's job. Conversational AIs don't help there at all. Can you ask it why your function returns weird output when sent something from another function? No, you cannot. Yet these are the real problems programmers face all day long.
To add on to this. Code generators are only good if you don’t have to maintain the generated code and if they can be relied on to produce good code. Copilot fails both of these tests: when I use it to generate some code, I can’t commit only the comment and run copilot in CI, because the outputs are non-deterministic. Additionally, I have to read the code it generates and verify that it handles the edge-cases correctly: and I have to do this review without having recently gone through the mental work of thinking through the implementation of a spec.
Speaking as someone who only dabbles in HTML rarely, and JavaScript even more rarely, it's not so irrational to think I could ask my computer, maybe even using voice, to generate a simple HTML interface for something I'm working on.
Certainly a lot less tedious than typing a bunch of angle brackets and trying to recall which tag is used for text input fields.
After about the second one, you will want to just copy and paste your first ine and mod it -- not describe it all again from the beginning.
The density of text simply cannot be equalled by speech. Try showing someone one of Edward Tufte's marvellous tables and see what they can glean from it, versus how long it would take you to explain the same information verbally.
There's no jumping the shark on text. It has always won on information density, succinctness, and reusability.
I have yet to hear even rumors of any AI that could generate anything like a real program from a conversation. Not gonna happen.
Yet. The current state is admittedly primitive, but Copilot certainly feels like a step towards AI being able to reprogram itself. There's no doubt in my mind we'll eventually reach that state, which would propel us even quicker towards the singularity.
Comments
I don't believe that non trivial apps can be built with conversational programming and we've had plain English programming since COBOL, so no to that either.
The "mind blowing" example of auto generating a "layout" can draw circles with a color fill or an HTML button with text. What kind of programmer needs or would use this? Should I really type, "I need a button that says Login and goes to the login page when you click it" every time that's the case? And for my second button, do I type that again with the new text? This sounds awful. If someone is amazed by an <a> tag, I would question their programming chops.
I have yet to hear even rumors of any AI that could generate anything like a real program from a conversation. Not gonna happen.
I must add here that debugging is 70% of the programmer's job. Conversational AIs don't help there at all. Can you ask it why your function returns weird output when sent something from another function? No, you cannot. Yet these are the real problems programmers face all day long.
To add on to this. Code generators are only good if you don’t have to maintain the generated code and if they can be relied on to produce good code. Copilot fails both of these tests: when I use it to generate some code, I can’t commit only the comment and run copilot in CI, because the outputs are non-deterministic. Additionally, I have to read the code it generates and verify that it handles the edge-cases correctly: and I have to do this review without having recently gone through the mental work of thinking through the implementation of a spec.
Speaking as someone who only dabbles in HTML rarely, and JavaScript even more rarely, it's not so irrational to think I could ask my computer, maybe even using voice, to generate a simple HTML interface for something I'm working on.
Certainly a lot less tedious than typing a bunch of angle brackets and trying to recall which tag is used for text input fields.
After about the second one, you will want to just copy and paste your first ine and mod it -- not describe it all again from the beginning.
The density of text simply cannot be equalled by speech. Try showing someone one of Edward Tufte's marvellous tables and see what they can glean from it, versus how long it would take you to explain the same information verbally.
There's no jumping the shark on text. It has always won on information density, succinctness, and reusability.
Yet. The current state is admittedly primitive, but Copilot certainly feels like a step towards AI being able to reprogram itself. There's no doubt in my mind we'll eventually reach that state, which would propel us even quicker towards the singularity.