A martial art for a programmer
ryanelkins: I study Krav Maga. I prefer a practical self defense oriented approach. It is the system developed by and taught to the Israeli military. Moves are generally very simple (important so you can be effective without years of training). The problem with pretty much all other martial arts everyone is mentioning is that they have morphed to work ideally in a competitive environment. Sure, knowing just about any martial art will give you a huge advantage against someone who isn't skilled but there are alot of things people just don't train for with BJJ, Tae Kwon Do, etc.For example, one of the first things we learned is defending yourself from various holds and chokes. The first move, after securing your throat or loosening their grip is generally to hit them in the balls. This is one example of something most martial arts won't teach you because that's generally "against the rules", however, in a self defense scenario, there are no rules (there are however laws that you may break so keep that in mind).You really want to avoid going to the ground if at all possible. It just makes you more vulnerable if anyone else decides to jump in and you never know what you're rolling around on. Besides, what are you going to do, put someone in a submission until help arrives? A really effective way to break a hold is to grab their pinky and twist it in a direction it doesn't want to go. If they don't let go just move on to new fingers. Also, feel free to bite them. Hard. You can also pull hair, gouge eyes, fishhook, etc. It's great to know how to defend yourself on the ground, but you want to be on the ground as little as possible as it can be a dangerous place because your opponent is probably not playing under the same rules you are.If you want more of a philosophy then it's probably not right for you. This is pretty much just about winning fights when it matters the most.