6 ms·
The headline made me think: Imagine the irony if, after years of various human jobs being replaced by software, someone one day completes the cycle by inventing
by omarforgotpwd 11y ago
The headline made me think:
Imagine the irony if, after years of various human jobs being replaced by software, someone one day completes the cycle by inventing an AI that can develop applications for humans.
Far off, but funny to think about.
- sz4kerto 11y agoSoftware development is mostly not about syntax and programming languages, but domain knowledge and understanding humans. If a non-programmer could really describe what he wants, then you could write a compiler for that text. But it's not possible yet, as the AI would need to have a human-like intelligence, and that's very far away.
- raverbashing 11y agoIt's closer than you think You are right about humans knowing about domain knowledge, but you don't need human level AI to have computers writing software Maybe future programmers will be more like spec writers than actual coders
- Qwertious 11y agoI'm pretty sure there's either a Paul Graham or Joel Spolsky essay on the subject, but basically: What's the difference between a sufficiently complete and formalised specification, and a high-level programming language?
- TheOtherHobbes 11y agoDomain specific knowledge? An AI would know how to fill in the gaps when you said "Make me a blog page" or "Make this server scalable." This may sound outrageous, but some very large percentage of coding practice is wheel reinvention. Developers the world over solve the same problems over and over again. One of the first applications for useful AI will be to collect and automate that repetition. There's already a "make me a blog" project, and Bootstrap is so cliched now I'm surprised there aren't more site builders being developed. So this isn't entirely impractical. The hard part is the visual design. It's much harder to automate that in a way that includes some genuine original creativity. Of course web apps != general scientific or business coding. So AI isn't a complete solution. But it doesn't need to be to be useful. (Domain specific, after all.)
- nickpsecurity 11y agoDownload the Tokeneer project's Z specifications and Ada source code to see the difference. I'm sure it will nicely illustrate it.
- codeshaman 11y agoI think what we're looking at in about a decade are interactive natural language development, in which one 'architect' will replace an entire team of programmers, designers, testers, etc. "When I tap on this thing " - put the finger on the control "Go ahead and get the latest articles from HackerNews" The System contacts "Hacker News" and queries for "latest articles" API. The systems negotiate an API key, account, etc and is good to go. The result is a list of articles with title and number of comments. "Now use a nice table. " System formats output. "Show me other styles" Lists table styles. "This one. Now if the number of comments is more than 100, show them in red" And so on. In the end, the System can generate source code in a multitude of languages (why?), some kind of pseudo code and of course an interactive, editable video of the "programming" session which others can watch and fix if necessary. So basically, one person can design the whole "application" in a couple of hours. We're not that far from that. And as we get closer, it will become better and better and it will be a lot easier to extend and modify this "System". Imagine developing the System using the System. Programming as we know it will remain a thing of the distant past as is the case with all things that evolve over time.
- waitForCompiler 11y agoThat is highly optimistic and I do not buy into this. This would require an understanding of the human language and here we are FAR off, considering that it is currently even hard for engineers to grasp a user's requirements.
- seanmcdirmid 11y agoRNNs can already write what looks like viable code without any human intervention. Of course, the code doesn't do anything useful and is just a reflection of its training, but all we have to do is figure how to guide that. We are doing OK in human language recognition as well as understanding in simple dialogue frames. The technology is also moving awfully fast at the moment. You are thinking in terms of human level intelligence, but it really doesn't have to be that good. It only has to provide enough random-but-feedback guided choices until the user finds what they are really looking for. Put it this way: if the user could get what they wanted from the computer directly just by "searching", the process would be more efficient since the most inefficient part about programming is human-to-human communication and coordination.
- seanmcdirmid 11y agoWe could have AI assisted tools; e.g. very intelligent code completion systems that are trained on your's and everyone else's code. Sometimes programmers don't know exactly what they want, but when given a few plausible choices based on some initial code, can generally pick out what they really wanted. Up from enhanced code completion, AI can become effective in coding even before they are human-level intelligent simply by creating a conversational feedback loop with a human; e.g. more to the right, more to the left, redder, yes! One could argue that the human is still programming, but they might not need any specialized programming training to use such a system. In that case, we really aren't as far away as many think.
- wsxcde 11y agoSome amazing progress is being made in the field of program synthesis. In particular, there have been a lot of successes in generating programs from input/output examples, provided the domain is sufficiently restrictive and/or the programmer provides a "sketch" or partial program to start off the synthesizer with. One good paper to start looking at is: Oracle guided program synthesis, Jha and others ICSE'10. This algorithm has made its way into Microsoft Excel: http://research.microsoft.com/en-us/news/features/flashfill-020613.aspx http://research.microsoft.com/en-us/news/features/flashfill-.... You might argue this isn't "true" program synthesis, but in some cases it can outdo human programs, because the synthesizer can be tied into a verifier to produce only "correct" programs, where correctness is defined by a few simple and declarative properties. One example of this sort of thing is from Udupa and colleagues in PLDI'13: http://dl.acm.org/citation.cfm?doid=2462156.2462174 http://dl.acm.org/citation.cfm?doid=2462156.2462174. They're able to generate correct cache coherence protocols from a partial specification and input/output examples. This is a big improvement over the current state of the art, where a lot of very smart people think really hard and come up with a coherence protocol, convince themselves it's correct, and then some other very smart people spend a few months playing with automated verifiers trying to prove the protocol correct, and finally someone actually implements the protocol in hardware, and you might still run into bugs at this stage.
- bottled_poe 11y agoFirst they came for the factory workers, and I did not speak out - Because I was not a factory worker. Then they came for the vehicle drivers, and I did not speak out - Because I was not a vehicle driver. Then they can for the accountants, and I did not speak out - Because I was not a accountants. Then they came for me - and there was no one left to speak for me.
- keithb- 11y agoLet's not conflate this with the Holocaust even as a joke. Automation like this is a step forward even if it only inspires a dreary debate about economic theory.
- innguest 11y agoWhat is the connection between "First they came for..." and anything Jewish? The original does not mention Jews: http://www.martin-niemoeller-stiftung.de/4/daszitat/a31 http://www.martin-niemoeller-stiftung.de/4/daszitat/a31 Let the guy (or gal) make a joke, we don't need to be reminded that we only care about the Jewish holocaust and not the Ukrainian holocaust 10 years prior by the same mustache shape on a different tyrant. EDIT: Not to mention the person who said that actually hated the Jews: https://en.wikipedia.org/wiki/Talk:First_they_came_...#Poem_as_a_Confession_of_an_Antisemite https://en.wikipedia.org/wiki/Talk:First_they_came_...#Poem_...
- duaneb 11y agoAutomation is not a step forward. It increases the resource burn rate.
- raverbashing 11y agoSure, now tell me about your hand-woven clothes collection