Why do we have different programming languages?

I made a little girl cry recently. "But why do I have to learn Python?" She wailed, "I like Scratch!" "I know," I said, "But there are different programming languages for different sorts of tasks." "That's stupid" she said, with all the perception of 6 weeks Code Club experience. "You can do everything in Scratch." I found it hard to argue with the twelve-year-old – you can do just about anything with the child-friendly Scratch programming language. You can even build an entire Operating…