Programming Languages are like Toolbox
A post explaining why we need more than one programming language. Here is the analogy:
Programming languages are like tools. When you’re trying to hang a painting, a hammer is better for driving a nail than a mallet. A mallet will do the job, but that’s not quite what it’s supposed to be used for. And, most importantly, you couldn’t do everything you needed to do with just a hammer. You could do a lot, and get close to almost all of it, but in the end it’s nice to have other tools in the box.