Muzyka i programowanie mają ze sobą więcej wspólnego, niż mogłoby się wydawać na pierwszy rzut oka. Przede wszystkim pierwsza i druga dziedzina wymaga dużej kreatywności oraz biegłości. Ta wzajemna korelacja jest oczywista dla niejednego kodera. Być może właśnie dlatego tak wielu programistów wykazuje zdolności muzyczne. Amerykański profesor Bill Poucher, pracujący na Uniwersytecie Baylor w Teksasie, potwierdza to w anegdocie przytoczonej w serwisie Quora. Kilka lat temu w Sztokholmie odbył się ACM International Collegiate Programming Contest World Finals, w czasie którego Poucher zapytał ze sceny młodych koderów, ilu z nich gra na jakimś instrumencie lub śpiewa w chórze. Okazało się, że 75% zgromadzonych na sali programistów miało zainteresowania muzyczne. Inny przykład to Elvis Costello, znany brytyjski muzyk, piosenkarz i kompozytor, członek zespołu The Attractions. Nie wszyscy wiedzą, że Costello zdobył wykształcenie informatyczne i nawet pracował jako programista. Inna osoba, którą warto tutaj wspomnieć, to Tomasz Struszczyk, wokalista legendarnego zespołu TURBO (następca Grzegorza Kupczyka). Na co dzień Tomek pracuje jako programista. To oczywiście tylko kilka przykładów związków muzyki i programowania, ale z pewnością moglibyśmy znaleźć ich o wiele więcej. Zajmowaliśmy się już kwestią muzyki, jakiej słuchają programiści, natomiast dziś chcielibyśmy wrócić do tematu, ale od strony twórców muzyki i grania na instrumentach.
Muzyka a programowanie
Zanim sprawdzimy, na jakich instrumentach grywają najczęściej programiści, warto kilka słów poświęcić związkom muzyki i programowania. Jak wspomnieliśmy na początku tego artykułu, te dwie dziedziny mają więcej wspólnego niż może się wydawać. Niejeden programista jest równocześnie całkiem niezłym muzykiem, a niektórzy nawet mogą pochwalić się własnymi kompozycjami. Generalnie wśród takich amerykańskich blogerów, jak na przykład Rob Birdwell czy Jeff Atwood, panuje przekonanie, że to raczej częściej muzycy stają się programistami, a nie na odwrót (z praktycznych, finansowych powodów), chociaż bywają wyjątki (przywoływany już tutaj Elvis Costello). Tworzenie muzyki ma wiele podobieństw do pisania kodu. W pierwszym i drugim przypadku można wykonywać zadania zarówno indywidualnie, jak i współpracując z innymi osobami. Coraz częściej muzycy muszą również posiadać wiedzę techniczną, wykorzystując różnego rodzaju wzmacniacze, miksery itp. Współcześni kompozytorzy coraz powszechniej używają do tworzenia muzyki różnego rodzaju programy komputerowe, w których muszą w odpowiedni sposób zaprogramować poszczególne instrumenty muzyczne. To jednak nie wszystko.
Komponowanie muzyki może przypominać programowanie. Kompozytor musi mieć solidne podstawy teoretyczne, musi znać doskonale notację muzyczną, podobnie jak programista musi znać podstawy języka programowania, w jakim się specjalizuje. Może się wydawać, że muzyka to przede wszystkim emocje, ale w rzeczywistości wymaga ona przestrzegania wielu różnych reguł logicznych. W kodowaniu jest to samo. Powtórka, a szerzej – pętla, to podstawowa struktura w utworach muzycznych. Czy czegoś wam to nie przypomina? Przecież w programowaniu również pojawiają się instrukcje, które nazywamy pętlami, pozwalające na powtarzanie określonych operacji. Oczywiście można znaleźć szereg innych analogii, nawet mniej lub bardziej naciąganych, na przykład muzyk musi dużo ćwiczyć, żeby zostać wirtuozem, programista powinien w praktyce mierzyć się z różnymi koderskimi problemami, żeby osiągnąć biegłość w programowaniu itp. W rzeczywistości jednak koderzy zajmują się muzyką i graniem na różnych instrumentach głównie dlatego, że to sprawia im przyjemność, relaksuje ich, jest odskocznią od codzienności. Tak przynajmniej koderzy deklarują na różnych forach internetowych.
Nie tylko gitara – na czym grywają programiści?
Kilka lat temu głośno było o czterech australijskich programistach, którzy założyli zespół Rootkit i podbijali listy przebojów piosenką „Patch me up”, opowiadającej o bezpieczeństwie systemów komputerowych. Można także przywołać przykład z naszego polskiego podwórka – w 2016 roku uczestnicy białostockiego Programistoku nagrali rapowy teledysk. Oczywiście nie wszyscy koderzy, którzy są muzykalni muszą jednak zaraz obnosić się z tym publicznie. Wielu z nich grywa na różnych instrumentach dla własnej przyjemności, a niektórzy wykorzystują muzyczne umiejętności również do… podrywania dziewczyn. Bez względu jednak na intencje czy pobudki, jakimi kierują się programiści, chwytając za instrument muzyczny, osoby te najczęściej grają na:
gitara akustyczna (rzadziej klasyczna z nylonowymi strunami i elektryczna);
keyboard;
fortepian;
harmonijka ustna;
perkusja.
Dane zgromadziliśmy, przeglądając różne fora internetowa, a także podpytując dyskretnie zaprzyjaźnionych koderów. Oczywiście poziom opanowania tych instrumentów bywa bardzo różny. Często to tylko podstawowa umiejętność grania, ale zdarzają się również osoby, które ćwiczą intensywnie grę od wielu lat, a nawet mają za sobą średnią szkołę muzyczną.
Czy grywacie również na jakimś instrumencie? A może komponujecie muzykę? Podzielcie się z nami w komentarzach waszą muzyczną pasją.