The Art of Abstraction, in Code
Many people believe in a separation existing between arts and sciences. Science is bound to rules and knowledge while art is limited only by imagination. Most people agree with this idea. However, an artist’s brush is beholden to the same laws as any scientific invention. Meaning that the only true difference between them is the intention brought to different mediums.
A common misunderstanding associated with sciences is that there is one way to do things. It’s simply not true. Much like art, scientific endeavors are completely dependent upon their principle, making any process and result infinitely variable, and arguably, an individualistic pursuit.
The divide between art and science is inherently blurred as a software engineer, being that the code a person writes must be drafted, edited, condensed, re-written, and so forth; much like the work of a novelist.
This leads to a fascinating topic; abstraction. Abstraction has long been a term seemingly owned by the arts. Abstraction lacks detail, science depends. Right?
Being abstract is something profoundly different from being vague…. The purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.