Hudební skladatel je v podstatě programátor
Párkrát jsem nad tím přemýšlel, protože můj děda a jeho otec byli hudebníci a živili se tím. Skladatelé vyloženě nebyli, ale nějaké skladby si třeba přepisovali z jedné tóniny do jiné, upravovali je pro komorní orchestr apod. A já jsem nemalou část svého života hrál na housle, takže vím zhruba o co jde. Programování se věnuji teprve cca 4 roky. Myslím si, že hudební skladatel a programátor přemýšlí v mnoha směrech stejně.
Noty jsou v podstatě jednoduché instrukce (jako v assembleru) a hudebník je interpret. Čte jednu notu za druhou a interpretuje ji tak, že zahraje na konkrétní nástroj
konkrétní tón (nebo i více tónů najednou). Noty mohou být různé délky. Rychlost interpretace určuje takt, např. 2/4, 4/4, 3/4 nebo 3/3 (to je jako taktovací frekvence). Mezi tóny mohou být vkládány pomlky (instrukce noop). Noty mohou obsahovat skok na jiné místo (instrukce skoku). Pokud si dobře vzpomínám, tak i opakovaně. Noty mohou určovat i způsob, jakým mají být zahrány, např. staccato, legato apod. Tóninu určuje klíč - houslový, basový atd. (to je takové počáteční nastavení, či inicializace nástroje). Hudební skladatel, který píše nějakou melodii, si ji musí v duchu přehrávat, stejně jako programátor musí mít představu, co jeho kód dělá. Skladatel často píše třeba u klavíru a melodii si hned zkouší (debuguje). Pokud skladatel píše skladbu pro více nástrojů, provádí v postatě paralelní programování. Musí mít představu, co který nástroj v dané chvíli hraje (interpretuje) a v jakých místech dochází k synchronizaci (programátor řeší semafory a kritické sekce). Větší skupinu hudebníků může synchronizovat dirigent, který udává takt (CLK). Hudebníci se mohou synchronizovat i mezi sebou, např. krátkým pozdvihnutím nástroje (jako signály wait/notify mezi vlákny). A jak jsem psal, je možné skladbu transformovat do jiné tóniny (jako přepsat program z jednoho jazyka do jiného) a nebo pro jiný orchestr (jako napsat program pro jiný typ CPU). Skladatel s tímhle vším musí počítat. Vemte si třeba Dvořáka nebo Smetanu, když psali své dílo pro celý orchestr. To byli vyloženě špičkoví "programátoři". A na vyzkoušení své melodie neměli kromě živých hudebníků žádné moderní technologie. Dnes pokud někdo tvoří třeba elektronickou hudbu, tak to dělá v pohodlí domova, za počítačem, má tam časovou osu, melodii skládá z předem definovaných bloků (moc jsem práci v FL studiu neviděl, tak neznám moc detaily).
Co tím chci říct? Ani nevím, je to spíš takový námět do diskuze. Možná teda, pokud někdo hraje na nějaký nástroj a opravdu ví co dělá, tak může vyzkoušet i programování. IMHO má k tomu dobré předpoklady (smysl pro systematickou práci, myšlení dopředu). Opačně to asi moc platit nebude - hudební sluch je vrozená vlastnost a nedá se naučit.