

What's the State of Automated Software Development? - jyu

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.<p>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%.<p>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?
======
pchristensen
This 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.

------
gruseom
Yes, there are impossible problems in developing such software. Fully
specifying what a program needs to do is no less complicated than writing the
program.

------
amichail
Are you familiar with undecidability?

