Automatic programming does exist even today, this field is advancing very rapidly. I've used it to some extent. But I do not programmers will go away, they will probably always be needed - no matter what.
Even if the automatic programming systems gets so advanced that they can solve any problem, there must be a very logical thinking man or woman - a programmer - there who can define the problem with logical statements, and they must also define a function that tells the computer when it has hit the sweet spot.
So we will stick around unless people start thinking straight and speaking Lojban to the AI.
EDIT: Did I forgot that this is going to need tremendous of processing power? Some stuff actually goes faster to solve today with automatic programming, others it is not worth it as an programmer is way much faster.
Automatic programming is best used where it is hard to define a solution but easy to define when the problem is solved. Note that I say when it is solved and not to define the problem.
Basically the computer is using very much brute force to solve a problem, whilst a programmer thinks out a way to solve the problem. Of course the search time is minimized because a programmer defines a function that measures how close to the solution the generated algorithm is.
In order for an automatic programming system to be able to program anything and everything on its own, it must:
- Have a way to automatically be able to define a fitness function (based on what someone tells it).
- Understand some kind of language that a human can use that is logical (a programming language for an example, or maybe Lojban). A non-logical language would probably be too unpractical.
- Have a great reference of every function it is never going to need, and probably a way to improve on that, as there is ought to be bugs there.
- Be totally bug-free, or else we are placing us on a security risk when giving a program such much knowledge and responsibility if there is no one standing and watching over its shoulder.
- Have a tremendous amount of processing power, I'm really stressing this one, right. I really mean it.
- And everything else I've forgot, please fill in for me.
It would probably take another 150 years before that system is available, probably then all would speak Lojban because people were sick of misunderstanding each other ;)
But the question is, would we be ready? Fear for the unknown is a big part of being human, and it is not something that is that easy to get rid of. Some of us are more open than others, I'll not say that I'm perfect on that point either. Maybe more than others, and less than others (I've been afraid of going outside of my known programming paradigms, but I've broken loose and started to learn a language that does stuff different).
What I mean is that people are going to be afraid of that they will accidentally create SkyNet or the HAL computers that turned on humans, SkyNet thinking that humans are parasites and HAL though that the crew was risking the mission. HALs top priority was to make sure that the mission were successful, when its priority one should have been the crews safety.
Even tough it could be possible to get all this things right who would want to do it? Programmers would not want to make their replacement; Unless of course it would mean that everybody would live in an Utopian world and only do the things they like and have food automatically served on the table.
I would want to travel to other planets and galaxies (if that were possible).