Learning a dance is quite like learning a language.
Learning a programming language is also quite like learning a language.
Programming languages are actually quite similar to dances. There are first principles, from which order is built, and ultimately – structure. There’s a community behind each programming language, and behind each dance. You go through a unique language/dance-specific learning curve, and ultimately come to be able to express yourself in a new medium.
Learning to dance, and then engaging in that dance – mirrors learning a programming language and writing in it.
Ballet is like Assembler. Get to the metal, think in terms of the underlying mechanics of the body.
Tango is like C – you can go as deep into the hardware as you like, even down to assembly; but it’s a new way of thinking that helps humans connect. The jedis who have figured out Tango or C are an elite group, so it’s easy to be a tango snob or a C snob
Yoga is like NAND gates – because it’s not even dancing or programming, it’s the stuff that dancing and programming is made out of, man.
Fusion is like Python – because it embraced positive influences from many different branches of language it was exposed to, and arrived at something new, familiar, with recognizable roots, found a way to make it all work together, and of course there’s always work to get rid of the things that weren’t working well in your roots.
Zouk is like Ruby – because it’s just so nice to program. It’s already been thought of before you even needed it – you are taken care of. This move is allowed, and this language construct also. Igotchu. Take some of the best ideas around, and just make them work together in a bowl. Then, somehow, through the wonder of the sense they both make at their high level of abstraction, complex moves and concise multi-functional single-line commands – somehow you are more intimately connected with where you came from than ever before.
Ballroom is like Java. There are rules, man, and they’re very explicit, it’s a very competitive environment. Everything is specific, your thinking is structured for you, and you have to jump through a lot of hoops to get to where you’re going – but it’s a steady, trodden path, with a lot of support. A lot of innovation, leadership, good foundations… and a lot of legacy.
West coast swing is like C#. You’re just having fun doing it, it’s light, not too heady, gives you what you need really… It’s fast, energetic even. Many of the wild moves or code constructs you dreamed of – are possible.
Salsa is like Javascript. It’s the most popular dance/programming language. There are many different kinds of salsa and javascript. There are good salseros, and there are mediocre javascripters, and even bad ones. It’s so popular, it has everything. The highs can be high, the lows are low, and at this point it’s human nature in a blender.
Zouk is also sometimes Javascript ES6. The problems of being the most popular and trying to fit every need across every platform/culture/nation is apparent. But maybe it’s possible to unite and dance anyway!