for me the programming is an art and is not an art.
Simply because the programming is only a tool used to make something. Is like asking if stone-working is an art or a craft.
Take the Cathedral builders of the middle age, it was an art or a craft or something other?
For the architect perspective building a cathedral is sure an art, for the simple worker that cut the rocks and put it together to build the building is a work like any other, it requires skills, but is not an art. In this case cutting rocks is not an art.
If the same rocks where cut by a sculptor, the same rocks-cutting process belongs to the art, and is not a simple rocks worker.
The point is that is not "cutting a rock" that can be called art, is why whe are cutting the rock.
The architect that build the cathedral and the sculptor have a common point, both imagines something and realizes it with some work. The architech delegates the hard work to workers (that are tools for his point of view) and the sculptor make the work itself, but the point is that we begins with an idea and concludes with something "solid".
Programming is similar, a big industry's engineer is like the architect, he imagine a system and then use tools (the programmers and the computers) to realize. An independent programmer make all this work by itself, is more like the sculptor.
In this case the artists are the engineer of the big industry and the independent programmer, and the tools are the workers and the computers.
In both cases we have expressions of art and craft.
At the same time a simple programmer in the big industry can be an artist by itself, but for other programs.
Both aspects are present and we cannot reduce the talk to the simple question "is art or not", the answer can be only one "programming is both art and craft".