Learn computational thinking (using computer languages) and learn to write (using natural languages), These are both learning to compose in different languages! So you need to learn to compose, which means you should study the mathematics of category theory. :)