Olympiad programming as an art

“Nowadays it is considered universally recognized
that of everything related to art,
nothing can be considered universally recognized anymore.”
Theodore Adorno

It all started when one person tried to figure out the solution to the contest problem that was taking place at the moment. The task was very simple, it was obvious to everyone that this person would not take a good place, would not receive a T-shirt, etc. Nevertheless, none of the 5000+ community members gave a single hint (well, or at least out of 30+ people who saw this and knew the answer). For me, such a result has long seemed logical, and I tried to explain it in a nutshell. Now I will try in a little more detail. I apologize in advance to people who are not investing in this concept that I am. I just wanted to state my opinion.

First, a bit of theory from Wikipedia: Programming , Programming Olympiads , Art . Please note that the last article states "The concept of art is extremely broad - it can manifest itself as an extremely developed skill in a particular area."

It always seemed to me that programming is a kind of art. There is a narrow area - a class of Olympiad programming problems. The ability to quickly and accurately solve problems is similar to sports, and often Olympiad programming is called sports, because here, as in sports, you train for several years, then you perform one time, merge everything and put it into programmingYou achieve some results and enjoy it. But on the other hand, sport is not a very creative occupation. Usually strategies are not drawn up by the main participants and they do not shine with originality and beauty. But in programming, this is not so.

No one will argue that poetry is art. But what is poetry? Poetry is the ability to put your thoughts into the clear framework of rhythm and rhyme, style and vocabulary. There are many limitations that prevent you from simply stating what you want. Why are they? This adds beauty and grace to the verse, it shows that the author made an effort to express his thoughts in this way, respectively, these thoughts were carefully considered by the author, turned, and received a material form in the form of a verse. In addition, the language of thoughts is very different from almost all languages ​​of the world, be it the language of words, the language of images, the language of sounds or the language of architecture.

Similarly, the situation is with programming. If the author wants to write a poem, he needs to submit a thought, and then create a verse expressing this thought. In order to solve a problem, you must first come up with a solution, and then subsequently turn it into an algorithm, then a program in a programming language. But the programming language does not fit well with the language of thoughts, therefore, we must find a way to express our thoughts through this language. And we are improving this skill year after year by creating more and more perfect works of art.

Here you see a board in a city house of creativity. The exhibition of children's drawings is written in even letters on the blackboard above, and under the inscription various episodes from children's life are not so evenly depicted. Try to answer - is this art? My answer is yes, of course. These children found their way to communicate with the world, to show them their thoughts. Let them be very primitive and roughly depicted (although it happens in different ways, some children are capable of masterpieces that adult artists have never dreamed of), but this is art. Perhaps someday, one of these children will paint legendary paintings, and people from all over the world will come to look at them. It all starts small.

I would like sites like Topcoder or Codeforceswere some kind of clubs in the art of programming (as, for example, the people of the past ), in which people communicate, share secrets, create together, help newcomers, but never give out other people's thoughts as their own.

Also popular now: