I want to teach my son how to program and I've been wondering what language to start with. I work with Ruby day-to-day but if I teach him that first I feel like it'll sully him for other languages and "taint" him. I was thinking of going with Go since it's very basic, clean and explicit. It's a C-style language so he will be able to branch out to other languages years down the line if he wants to. On the other hand, distributed systems are on the rise and probably the future of computing. Something like Elixir will go a really long way in teaching how how to think in a functional, distributed manner. What do you guys think? Fathers, what languages have you taught your son first?