“It could allow non-coders to simply describe an idea for a program and let the system build it” This is not a new thought. The problem with it, however, is that such a description would have to be very precise or else leave room for different interpretations which in turn could lead to very different programs being generated. In particular, as programmers know, it's often the edge cases that pose the main difficulty…
AI learns to write its own code by stealing from other programs
151–160 of 160 posts
Re: AI learns to write its own code by stealing from other programs
#152e.g. Assembler -> C -> C++
There recently has been a post @ HN about the missing programming paradigm (http://wiki.c2.com/?ThereAreExactlyThreeParadigms). With the emerge of smarter tools, programming will get easier in one way or the other, releasing the coder from a lot of pain ( as C or C++ did realse us from tedious, painful assembler ). However, I am quite sure that it won't replace programmers since our job is actually not to code but more to solve a given problem with a range of tools. Smarter tools will probably boost productivity of a single person to handle bigger and more complex architectures or other kinds of new problem areas will come up. Research will go faster. Products will get developed faster. Everything will kind of speed up. Nevertheless, the problems to get solve / implement will remain until there's some kind of GAI. If there's an GAI smart enough to solve our problems probably most of the Jobs have been replaced.
Re: AI learns to write its own code by stealing from other programs
#153Earlier quoted context omitted.
> im told that "software developers are the one job that will never be at risk of automation" The AI is itself a program. If the AI can write programs, it can write a better version of itself. A few iterations of this, and it will have far surpassed human intelligence. So it would be more accurate to say that writing programs is the last job that will be automated.
> The AI is itself a program. If the AI can write programs, it can write a better version of itself. Not necessarily (or even likely). There's a huge difference between being able to write "programs" (for example the ones described here are ~5 lines) and being able to write a large and very complex piece of software, which such an AI would undoubtedly be. There's also the question of what constitutes "better." Improv…
That's true. real-life programs that programmers get paid to write are typically more complex than 5 lines. Any AI good enough to replace real programmers is going to be very close to good enough to rewrite itself.
Re: AI learns to write its own code by stealing from other programs
#154Earlier quoted context omitted.
Doesn't TDD basically provide a spec? Write a test, then let the AI generate a program that passes the test. If the program is still buggy, you didn't write sufficient tests.
I don't think it's that simple. Imagine a simple add(int32, int32) int32 function. Unless you write a test for all 2^32 * 2^32 possible inputs and their expected outputs, how could you guarantee that the AI will come up with the "correct" implementation? Automated tests are generally not practical for proofing program correctness. Why would you expect them to be sufficient as a specification format?
Re: AI learns to write its own code by stealing from other programs
#155Earlier quoted context omitted.
>economics says that decreasing price, the price for a given unit of work going down increases the demand for such an AI costs nothing in the long term, so you are agreeing here that demand for AI produced software will rise more sharply than demand for human developers, because they are more expensive. So if you accept that basic law of economics, then you must arrive at the conclusion that human labor will inevitab…
There is zero reason to believe that software less capable than artificial general intelligence will provide any non trivial software.
Re: AI learns to write its own code by stealing from other programs
#156Programming is translation of requirements written in natural language, graphical notation, and mathematical notation to a deterministic syntax. There has been much improvement in making these syntaxes more closely match these older forms of communication, and I'm sure this is one tool that will be used in the future. However until AI can gather its own requirements, there will always be a translation step that peopl…
Re: AI learns to write its own code by stealing from other programs
#157“It could allow non-coders to simply describe an idea for a program and let the system build it” This is not a new thought. The problem with it, however, is that such a description would have to be very precise or else leave room for different interpretations which in turn could lead to very different programs being generated. In particular, as programmers know, it's often the edge cases that pose the main difficulty…
In my experience, people have trouble describing something in sufficient detail that another human can build what they want. I think we're a ways off yet from AI being able to do so.
Re: AI learns to write its own code by stealing from other programs
#158Re: AI learns to write its own code by stealing from other programs
#159Earlier quoted context omitted.
If you can describe something then you can just code it. I can see AI being used in an advanced IDE as an assistant. Just write your specs and let the AI build the app.
making people in an industry more efficient at their jobs == job losses for that industry. if one programmer can now do the work of 5 with the help of an AI, companies will quickly be hiring less developers. yet everytime i mention this, im told that "software developers are the one job that will never be at risk of automation"
Re: AI learns to write its own code by stealing from other programs
#160“It could allow non-coders to simply describe an idea for a program and let the system build it” This is not a new thought. The problem with it, however, is that such a description would have to be very precise or else leave room for different interpretations which in turn could lead to very different programs being generated. In particular, as programmers know, it's often the edge cases that pose the main difficulty…
Isn't that the idea behind https://en.wikipedia.org/wiki/Prolog ?