Art of Programming Explained

Before talking about art of programming, let's ask ourselves: what is art after all? Is art anything that manages to find an army of adepts that call it as such or is there something that can objectively be quantified, traversed by a common goal regardless of means?

What is art and what is not art?

To answer this "dilemma" it is enough to take a Rembrandt and a Picasso self-portrait side by side and place a neutral onlooker who never heard of either share his views:

In Picasso, what he will see is just ugly chaos, something that looks to be the product of a sick mind. No message, just something made to shock, ride the trend and get rich/famous thanks to it. In Rembrandt, however, he sees a broken old man that looks deeply into viewer's eyes and communicates his mind as well as appearance. Through the vehicle of painting, the essential parts of that old man survived for eternity...

Be it expressed in a Bach's fugue, a Rembrandt's self portrait or Einstein's theory of relativity, art is timelessness achieved by virtues of integrity, harmony and simplicity. It comes as a byproduct of someone's neverending quest towards achieving aesthetic perfection, the goal of creating something that stays unbreakably beautiful.

Can there be an art of computer programming?

The word art can be justly applied to any human endeavor that produces condensed beauty, regardless of the field in which it was achieved (music, architecture, science). There is thus no reason, as long as above principles are kept, why it shouldn't extend to computer programming as well:

While crafting a program, author must only be in a race against his own ever higher standard of excellence. On any sign code fails above principles, author should work at peeling off imperfections in order to achieve perfect symmetry: for users benefit as well as his own delight!

But what does Lucinda Framework have to do with it?

This framework is author's personal journey towards distilling web development into something condensed beauty in terms of quality of code (coherence, harmony), quality of usage (simplicity, modularity) and quality of execution (speed, efficiency).

×