Why do we have so many programming languages?

I don’t know about you but this is a question I’m asking myself constantly when I read about new technologies and methods. My opinion is that we have so many programming languages for two basic reasons.

The first reason is kinda obvious and it’s called evolution. Our need to build more complex systems, our need to simplify common solutions, the software being available to more people has led us into creating new tools trying to solve those increasingly complicated problems.

The second reason which is something I will try to express my thoughts on, is on the same time obvious but really hard to accept and understand. The second reason is that we, as humans, think differently. Let me tell you a small story.

I was once on a meetup here in London and as usual a fellow developer asked me what I’m doing for leaving. She is a well known and respected developer among this specific community and I have no doubt for it. Here is a snapshot of the discussion

me: Currently I work for a fashion firm.
she: And what can you possible do for a fashion firm?
me: We are building the e-commerce platform from scratch writing mainly php
she: Lol, do people still write php?

At that point I was kinda of stunned. She actually was quite offensive in a “polite” way. First of all she made fun of the industry I’m working on, and secondly she made fun of the technology we are using. I was not mad, on the contrary, somehow she expressed this exact difference of thinking that affects a lot of arias on the software world. This is exactly the reason why we have so many programming languages, so many different software builders, so many deploy tools and so on…people think differently. What is important to me is not important to you. What I find dumb you find it awesome and so on…

Our ego is forcing us to spend our energy into creating our own tools, new tools. Should we focus making the current tools smarter? I have no idea. What I do know though there is lower limit and an upper limit as well. We need tools to choose from but it shouldn’t be like drinking water from a firehose.