Musical composition is algorithmic when it is the result of some formula or other, but but there is no one formula that generates all algorithmic music. Here is an example of algorithmic composition:
Here the algorithm is: Step 1. Come up with chord progression. Step 2: Compose variations at twice and four times the tempo of original chord progression. Step 3: Combine all of the above. That algorithm works, but there is obviously a lot of good music (including good algorithmic music) that it does not generate. All you need is one formula—one recursive procedure. Here is another example. Start with a melody. Convert it to non-pitched percussion. Superimpose the original melody at one half speed. That will yield grammatical music. Good music? Sometimes. But it will work. If you want your music to have some merit, you have to spend a little more time on the algorithm. But I can come up with algorithms for musical composition all day. It’s like rolling off a log. And it has nothing to do with ‘programming languages’, since an algorithm can be implemented by any programming language (and usually doesn’t require one).