First a disclaimer, I am a major Python fan. While I don't wish to argue with you, I'd like to share a personal experience that made me realize the advantages of popularity. I began my hobby programming with a language named AutoIt that pretty much no one knows about. This is a Windows scripting language and began to use it to build mainstream software. A couple years into that I realized my mistake and switched to Python. The advantages I gained from using such a popular language were:
1. Tons of 3rd party libraries. AutoIt had nearly none. In Python I use Numpy, PIL, NLTK, OpenCV, and more.
2. The language worked. AutoIt had bugs. At least one bug was part of the language, I found it through coding that would happen in a college level class. Popular languages have bugs too, but they have been tested more thoroughly, and problems are pushed to be fixed more.
3. The language was supported. AutoIt programs were thought to be a virus by my computer. Python on the other hand is even supported by Eclipse, and I have been using PyDev lately.
4. The basic features were good. AutoIt only had a list data structure nothing else. While AutoIt had a lot of specialty functions, there were many more I ended up building from scratch that I should not have needed to. Also, Python has lots of nice features, such as list comprehensions.
5. People knew what I was talking about. Whenever I told people I coded in AutoIt, they were always confused and had no idea what I was saying. I love being able to tell people I am a Python programmer and they are like, hey cool, do you like this feature?
Now AutoIt is an extreme example as I haven't heard of it even on Hacker News so the languages you mention might not have such problems. But I'm guessing some of those problems exist in some form. Just my two cents on a personal experience of how popularity can actually matter in some ways.
I think you're overestimating the importance of popularity because AutoIt is so specialized and moreover proprietary.
All of the languages I've listed have very good open source implementations and active communities. (Except assembly. But assembly is special, so let's ignore it.) Additionally, all the languages work and are stable.
Really, AutoIt is almost a straw man: it does not compare to any of the languages I listed at all. Reading about it, it seems that almost any modern programming language is going to have much better features, support, implementations, performance...etc.
If AutoIt is the standard you're holding Python too, of course Python is going to seem wonderful! But that's not very telling: any modern language is going to seem magical in that comparison.
If you've only ever used AutoIt and Python, you should really consider learning some other languages. It will give you a much better perspective, and make you think in new ways. I particularly suggest learning a statically typed functional programming language like Haskell.
I know a good bit of other languages, lots of C family and Java, and dabbled with Ruby, Perl, and a few others. I got turned off of the functional languages mainly by Lisp though, as I found it to be unreadable. Perhaps I will try Haskell some day, but so far I am not impressed with purely functional languages for most tasks I do, mainly image and file processing.
Comments
First a disclaimer, I am a major Python fan. While I don't wish to argue with you, I'd like to share a personal experience that made me realize the advantages of popularity. I began my hobby programming with a language named AutoIt that pretty much no one knows about. This is a Windows scripting language and began to use it to build mainstream software. A couple years into that I realized my mistake and switched to Python. The advantages I gained from using such a popular language were:
1. Tons of 3rd party libraries. AutoIt had nearly none. In Python I use Numpy, PIL, NLTK, OpenCV, and more.
2. The language worked. AutoIt had bugs. At least one bug was part of the language, I found it through coding that would happen in a college level class. Popular languages have bugs too, but they have been tested more thoroughly, and problems are pushed to be fixed more.
3. The language was supported. AutoIt programs were thought to be a virus by my computer. Python on the other hand is even supported by Eclipse, and I have been using PyDev lately.
4. The basic features were good. AutoIt only had a list data structure nothing else. While AutoIt had a lot of specialty functions, there were many more I ended up building from scratch that I should not have needed to. Also, Python has lots of nice features, such as list comprehensions.
5. People knew what I was talking about. Whenever I told people I coded in AutoIt, they were always confused and had no idea what I was saying. I love being able to tell people I am a Python programmer and they are like, hey cool, do you like this feature?
Now AutoIt is an extreme example as I haven't heard of it even on Hacker News so the languages you mention might not have such problems. But I'm guessing some of those problems exist in some form. Just my two cents on a personal experience of how popularity can actually matter in some ways.
I think you're overestimating the importance of popularity because AutoIt is so specialized and moreover proprietary.
All of the languages I've listed have very good open source implementations and active communities. (Except assembly. But assembly is special, so let's ignore it.) Additionally, all the languages work and are stable.
Really, AutoIt is almost a straw man: it does not compare to any of the languages I listed at all. Reading about it, it seems that almost any modern programming language is going to have much better features, support, implementations, performance...etc.
If AutoIt is the standard you're holding Python too, of course Python is going to seem wonderful! But that's not very telling: any modern language is going to seem magical in that comparison.
If you've only ever used AutoIt and Python, you should really consider learning some other languages. It will give you a much better perspective, and make you think in new ways. I particularly suggest learning a statically typed functional programming language like Haskell.
I know a good bit of other languages, lots of C family and Java, and dabbled with Ruby, Perl, and a few others. I got turned off of the functional languages mainly by Lisp though, as I found it to be unreadable. Perhaps I will try Haskell some day, but so far I am not impressed with purely functional languages for most tasks I do, mainly image and file processing.