Programming is quite a remarkable activity:
- It has an extremely low barrier to entry
- You don't need expensive equipment
- You don't need to be in a particular location
- You don't need special credentials
- You can finding information / resources just by opening the internet
- You can learn it / do it independently
- It gives you rapid feedback (which can lead to rapid growth)
- It gives you frequent rewards (which gives a huge boost in motivation)
- It's objective and unforgiving (this is a good thing, because it teaches you how to confront reality)
- It's intellectually stimulating
- It's useful in the real world
- Corollary: you can make money or even build a career out of it
- It's badass (or are you telling me that Hackers WASN'T your favorite movie of all time?)
- Electronics (but this is basically still programming)
- Math (lacks "rapid feedback" and "frequent rewards"; "useful in the real world" is also questionable)
- Go, poker, video games (usually lacks "useful in the real world", sometimes lacks "badass")
- Juggling, poi (lacks "intellectually stimulating" and "useful in the real world")
LOL. Not that this was an entirely serious suggestion, but what expensive equipment do you need? Why do you need special credentials or a school? Why any mistake automatically leads to death?
Lots of rope, grappling hooks, throwing stars, daggers, blowgun and darts, noiseless shoes, noiseless clothes, smoke bombs...
You need at least very specialized training in infiltration, poisoning, different unarmed and armed combat styles, wilderness survival...
Falling off a roof, falling off a tight rope, falling off a wall, swallowing your own blow dart, cutting yourself with your own poisoned dagger, being caught by the enemy...