Every time I see a question about why this or that language (or this or that technology) isn't more popular, a related but different question pops into my head:
- Do people create new technologies (or programming languages) as a means to progress along by establishing a new or better solution to an existing problem? Or, do people create new technologies simply for the sake of creating new technologies? Or, do people create new technologies in hopes of being the ones to drive the market and, thereby, become rich and famous by doing so - and in the process have to create a non-existent problem to fit the new solution so that gullible people will buy it?
Everyone wants to be the next Albert Einstein... while completely forgetting that Einstein basically pilfered numerous other people's work without giving them credit (borderline plagiarism) and had to enlist both his former college roommate and his wife to do most of his math for him. Hence, numerous people become the "face" of technologies, gaining celebrity and wealth, while other people do the actual work.
- Steve Jobs became rich and famous off the back of Steve Wozniak.
- Bill Gates became rich and famous off the back of Paul Allen.
- Thomas Edison became rich and famous off the backs of Nikola Tesla, Louis Lumiere, Joseph Swan and numerous others.
- Elon Musk became rich and famous off the backs of... everyone but himself.
My seemingly useless tangent is for making a point: when you ask a question like why isn't a particular programming language or environment as popular as others, the only factual answer one can give is that it always boils down to an amalgamation of numerous factors, as no single factor can ever really answer the question.
1.) People create new useless junk for the sake of create new useless technologies and the hoards of sheepish consumers jump on the bandwagon for no apparent reason.
2.) People create new technologies for the genuine purpose of being either the 1st or a better solution to an existing problem, and the hoards of sheepish consumers jump on the bandwagon for no apparent reason or because they find it useful.
3.) People tend to work long hours and spend their time only learning/using the technologies they will mostly likely require for getting a paycheck (this is a big one).
4.) Numerous people tend to be tribal fanboys and bandwagon hoppers. I have no use whatsoever for C#, yet its fanboys kept telling me for years that I was stupid for not switching to it. Humorously, a very large portion of those former C# fanboys are now Python fanboys - yet again thinking life is a popularity contest and coercing me to join their high school clique by switching over to Python because it is the current "it" language.
5.) Numerous other reasons but too little space to write and short attention spans of the readers makes me limit them.
So... rather than EVER asking why isn't this language more popular, you should always simply ask:
What language best suits my particular needs and what language do I feel most suited to/comfortable with? Because in reality, the opinions of all of those "high school mentality fanboys" has no real-life bearing on what you need in life to do your thing. It has been my experience in life that those who actually know the least about the internal workings of computers will assert that this language or that IDE is the "end all - be all of..." of software development whereas those who do know how computers genuinely work inside will avoid suggesting a particular software or language and, instead, remind you that each is but a tool meant to achieve a purpose and that, just as the Samurai will have his Katana custom-made for him, you must try on and choose which software/language best serves your goals and with which your soul feels most comfortable. Unless, of course, you are just a coding zombie who only wants to learn what ever language is hot on the market and is most likely to keep the paychecks rolling in.