An art or a science?
I don’t know about where you are but in Australia there’s been a lot of talk lately about encouraging students to participate in STEM (Science Technology Engineering and Maths) subjects in order to prepare them for the careers of the future. Programming, in any language, officially falls into the technology category and if you’ve programmed for any length of time you’ll also know that it involves a lot of maths and quite a bit of science as well.
There is another perspective on programming that might not be as well accepted, that is the idea that programming is also (and equally) an art form in much the same way as any other creative art. That’s not to say that taking a well described algorithm and translating it into code is anything more than pure science, what I mean is all the other aspects of coding that are not about algorithms or formulas. Things like the look and feel of an application, the way information is presented to the user and even the colors chosen for the display.
In a large application there might be specialists handling each of these items but more often than not it is one person who has to make all of these choices and more, many of these have nothing to do with code and are purely artistic or at least aesthetic.
But there is another even more intangible aspect to coding, that is the art of writing the code itself, the act of creating something from nothing more than an idea. This is the real art of code and the reason I think there should be an emphasis not just on STEM but on the artistic expression that code can be.
The world needs more good coders, perhaps encouraging those with an artistic flair would help to realise the next generation of great code.