5 ms·
What's the State of Automated Software Development?
On the surface, it seems that automated software development is a difficult, but solvable problem. What I mean specifically is that you have a bunch of inputs and data, the desired or associated outputs, and then formulate a black box with predictive capabilities using new inputs.
So for instance, if you feed the program a bunch of stock market information (quotes, news, P/E, etc), it can create algorithms and software for creating a stock portfolio that can give a return of i% in 6 months, and a 95% confidence interval of +-5%.
Is something like this possible?
Are there impossible problems in developing such software?
Are there research institutions or private corporations that already have similar technologies/programs?
- amichail 19y agoAre you familiar with undecidability?
- gruseom 19y agoYes, there are impossible problems in developing such software. Fully specifying what a program needs to do is no less complicated than writing the program.
- pchristensen 19y agoThis is basic information theory. If there's a smaller way (a formula, a pattern, etc) to represent data, then the larger representation has wasted bits (wow, that was a frightfully poor explanation, sorry). OK, how about this - lets say there is an ideal smallest way to represent a problem, and you can generate any other view of the problem based on that ideal representation. Well, that's just a DSL - pg is always saying "write a language for the problem, then write your program in that language". That's about as small as you can get. Other views of the same problem are accidental complexity or Steve Yegge's rants about code compression (Java vs Ruby/Javascript vs Lisp). As far as your stock market example, you could use a genetic algorithm to predict a formula to invest with. But as they say, past performance is no guarantee of future results. This is a problem that humans can't even figure out, let alone computer programs.