I think one key lies in the niche of newbie developers:
Python got popular with that. Ruby got popular with that.
I think a lot of JavaScript developers started with JavaScript.
So the question could be more like:
How can we get new developers on board?
Some, who have never programmed before.
“No matter how it looks at first, it’s always a people problem”
Gerald Weinberg
I totally agree with that more.
Within the 5 years I am within programming, it has always turned out to be a people problem.
Most of the time, simply because they don’t care. And one thing they care the least about, is newbies.
And no, not if one posts a question, and they can answer it. People are usually quite competent and helpful then. And this is not, where the heart of the matter lies, in my opinion.
Python got popular due to its friendliness and simplicity, that made it accessible to children, students, and sysadmins
Also, scientists did struggle with many of the alternatives, and ultimately decided collectively, to settle with Python.
And I would claim the simple nature of the language is only a part of that.
Another thing is, that the community is wholeheartedly committed to that concept.
Publications, inclusivity, and a general sentiment of empathy and preemptive guidance, lies at the heart of Python’s success. We are talking a lot about inclusivity, and forget largely about people, that happen to be new to programming.
My reasoning: I am a functional programmer since day 1.
Due to me liking to code in a declarative style - which I knew due to me being a KDE and Qt nerd previously, and they are using the declarative QML - I already knew at day 1, that I wanted to be a functional programmer. Before I knew anything else about programming.
I think the casual programming community has generally bad onboarding for newbies.
The functional community has simply no such onboarding.
And why I think that this is an issue: It’s simply far easier to convince someone, who has never programmed before, rather than someone who is committed to a code base, tooling, and a general sentiment.
I would argue, to come up with random and highly unscientific numbers, that 10 people without programming background can be convinced to give Julia a chance, with the same time and effort that we put in, to convince a single existing Java, Python or C++ developer.