Well, obviously we're progressing in terms of the ratio of human work to computer work, but I was thinking of a program that, rather than taking actual algorithms, takes specifications, and not exact ones like Prolog and the like require--some sort of natural language processing/artificial intelligence kind of thing that understands something like "I want a Firefox extension that will automatically do...". Of course, it would have to have knowledge about different protocols/methods/algorithms/etc., and we'd have to give it that knowledge manually at first, and sometimes you'd probably have to work with it, especially in the development of new algorithms. There would probably still require some significant work to put a non-trivial program together, but it would mean a lot less learning UI libraries, putting together basic systems (I'm thinking of games especially here), etc.
This isn't to say you couldn't put together programs manually still, of course--it'll always be fun. But you could get rid of most of the tedious bits. Also, Lisp (or something Lisp-y) seems like the most likely candidate for putting code together this way.
Comments
Well, obviously we're progressing in terms of the ratio of human work to computer work, but I was thinking of a program that, rather than taking actual algorithms, takes specifications, and not exact ones like Prolog and the like require--some sort of natural language processing/artificial intelligence kind of thing that understands something like "I want a Firefox extension that will automatically do...". Of course, it would have to have knowledge about different protocols/methods/algorithms/etc., and we'd have to give it that knowledge manually at first, and sometimes you'd probably have to work with it, especially in the development of new algorithms. There would probably still require some significant work to put a non-trivial program together, but it would mean a lot less learning UI libraries, putting together basic systems (I'm thinking of games especially here), etc.
This isn't to say you couldn't put together programs manually still, of course--it'll always be fun. But you could get rid of most of the tedious bits. Also, Lisp (or something Lisp-y) seems like the most likely candidate for putting code together this way.