Programming is an art too. I got inspired to write this post after watching the video of the art making process of the artist below while writing or debugging a program.
When I write a piece of code, I am creating a software. It is the creative process of building something that can be used by others or sometimes just only by you (like that mini calculator or tic tac toe or that stupid looking game) for your own hobbyist utility.
An artist starts with an idea of what she wants to paint. A programmer also always has an idea of how the end product will look like. Then they both gradually work towards it, realizing limitations, bounds in time and space. Like an artist feels his or her limitation with canvas size, availability of color, complexity of shapes; a programmer realizes the bound in memory allocation in the finite RAM of the computer, speed of the operating system, disk space complexity etc. An artist needs to wipe out many parts of the canvas many times or improvise to ultimately produce what he or she really wants to project. A programmer needs to compile and debug many parts of his initially flawed program to fix each part, solve each mini problems to ultimately produce final working version.
But for some reason, most programmers don't call themselves artists or feel like an artist. Is it a perception problem? Programming is perceived as a boring thing. May be the reason lies in the limited visualization power a programmer often has. What I mean is that, an artist can show his or her artwork to a lay-person and more often, people will get it with or without explanation. But it probably requires a lot of education, engineering, computational skills often to understand a program. In that sense, programming may be compared with craft too. But ultimately a program can be used, just like a hand craft can be put on your table to decorate or an art piece like a painting can be hanged on the wall.
For example, I am using my keyboard to write on this text editing program of Facebook to write this post on "Programming as art". This small piece of editing program of the entire program that represents Facebook app or website is probably managed by a group of programmers/engineers at Facebook. They have written the program so that users like me can write their thoughts, ideas and post on their news feed as efficiently as possible; they can tag their friends, thay can put their location, they can add their feelings, they can add to their story, they can customize who can see their post. There are a lot of parts of this small piece of program (in fact it's not that small !). Facebook user like me who have experienced the evolution of this post publishing editorial program since the early age of facebook (like from 2005), knows how this program has changed over time, how it has transitioned into a master, multi-tasking programmatic art-piece.
Now I have touched into another topic of creative process: Solo vs Collab effort. Instead of giving an example of a solo programmer writing his own little program (may be like when Zuckerberg was writing his first facebook code for liking/disliking photos back in the dormitory of Harvard), I have given an example of a collaborative effort towards creating a gigantic program (which is basically what programmers at software companies do). In that sense, it's like a big piece of sculpture or a building that artists are constructing, architects are planning and builders are setting up. I guess, the dynamics and complexity of a collaborative project is just a matter of scale. A single programmer or a solo artist doing the entire program or art, versus working in a part of a collaborative big art, programmatic, software projects.
There is a book named "The art of computer programming" by Donald Knuth (https://www.amazon.com/Art-Computer-Programming-Fascicle-Millennium-ebook/dp/B00RN14FNC).
Now in the end, what I personally think that, any human endeavor can be turned into something artistic. Like cooking, dancing, writing.
Who is an artist? Are you an artist? Is science entirely separate from art? I don't think so. The scientific process can be artistic. Math is also regarded as art.
What makes the distinction between art and non-art? I personally need to think and explore more into this question.