undefined

Coding with Music

By Jason Riggs

When I was thirteen, I always liked creating electronic music on my computer. But for all my endless nights making music, I never understood how all my music-making machines worked: synthesizers, drum machines, and all the other goodies music producers live and breathe.

Learning computer science is what showed me the insides of my music. Instead of using other people’s software to create music, I got to create my own music-making machines.

Learning computer science is what showed me the insides of my music. Instead of using other people’s software to create music, I got to create my own music-making machines.

This way of learning computer science is different from what most students expect, but it was perfect for me. Usually, a budding programmer learns by writing code that does exactly what someone else tells them it should expect. “When your program completes, all of the numbers should be arranged from lowest to highest.”

“Do I like how it sounds? Does it sound musical?” There was no right or wrong answer; it was subjective, an art class.

But the only constraint for me was, “Do I like how it sounds? Does it sound musical?” There was no right or wrong answer; it was subjective, an art class.

This was a happy revelation for me, and this kind of mindset drove me to learn to create video games, too. There’s no objectively correct program for a video game. The success of a program is not just, “Is the output correct? Does it have any problems?”, but rather, “Is it fun to play? Is it beautiful? Does it feel right?”

Many students think programming is for folks who are interested in rigid rules, structure, and mathematical gymnastics.

But if you like, you can think of a computer as an instrument, a guitar or flute.

But if you like, you can think of a computer as an instrument, a guitar or flute. If you practice your instrument enough, you can create beautiful things. Maybe you’ll find as I did that aesthetics will be your most powerful motivator in learning to program. I’ve met many others who feel this way, too.

And if you do, you’ll find something else magical will happen. The code itself will become as beautiful as whatever program it creates. To the uninitiated, computer code may look cold, unforgiving, and cryptic. But that’s how a violin feels if you’ve never played it. Once you’ve put in sustained, focused practice, you’ll find that coding itself becomes something you love.”

Jason Riggs creates music, software, and sometimes music software. He’s studying to receive a masters degree in computer science.

Tools and Languages Used: There are like 50. Here are random ones I like: Web languages, Rails, C/C++, Python, Swift, ChucK!