Younger developers are falling in love with older programming languages, while older developers go gaga for options like Google's Go.
Something bizarre is happening in programming language land: The youthquake seemingly hates youth. A new HackerRank survey
of nearly 40,000 developers suggests that while Go, Kotlin, and other new-school programming languages top the charts in terms of what developers want to learn next, younger developers (aged 18-24) are far less likely to prefer such languages than their fuddy-duddy peers.
The reason could come down to experience. As Adobe developer Fil Maj suggested
, "[T]he benefits of using newer languages are made clear by having experience with older languages." In other words, it's easier to appreciate just how awesome Go is if you've spent years slogging through Java.
When HackerRank polled its developer audience as to which languages they wanted to learn next, Go topped the charts:
Also in that camp of "must learn" languages were Kotlin, Swift, Rust, and Scala, with each of these languages promoted by a Silicon Valley heavyweight (respectively, Google, Google, Apple, Mozilla, and Twitter). As the HackerRank report noted: "There's a clear trend of individual developers following the lead of the Silicon Valley tech giants."
This makes sense as developers not only want to stay abreast of what's hip and cool, they also find it easier to take cues from tech giants, eliminating some of the guesswork as to which programming languages will be hot.
Ironically, the supposedly fickle Millennial generation doesn't seem as inclined to chase the new languages as the oldsters among us.
Uphill both ways...
Ask developers generally which programming languages they prefer, and Python tops the list by a wide margin. (HackerRank's "language preference graph is based on a Love-Dislike Index, which takes the percentage of developers who love a language and subtracts the percentage of developers who dislike the same language.") Python is a powerful, general-purpose language that wins converts for making data science more approachable, even as its simplicity and readability make it a go-to tool for a wide array of other application needs.
While Python is tops with younger and older developers alike, those camps diverge sharply on the new-school languages listed above. Younger developers (aged 18-24) favor:
- Python (88%)
- C (59%)
- C++ (61%)
- Java (58%)
Barn-burner Go? 23%. Android development darling Kotlin? 18%. And iOS stalwart Swift? 16%. The kids may be alright, but "kid" languages, it would seem, are not.
Meanwhile, older developers of any age band are largely in love with Go, with that love increasing with age. That Go affection is 47% for those aged 25-34, but rises to 54% for those folks between 35-44, and hits a whopping 68% for those still creaking along at 45-54 (I can say "creaking" because I'm 45).
...when I'm 64
Well, maybe it's a question of "cool." As developer Anthony Garvan told me
It could also be, as developer Nick Coghlan put it
: "The fact C/C++/Java rank pretty highly suggests that [younger developers] ' favor what they already learned in class.'"
Adobe developer Simon MacDonald
said something similar, holding that these recently graduated students are likely thinking, "I just learned a thing don't make me learn a new thing." By contrast, he goes on, the older developers are thinking, "Oh a new thing to add to my toolbox. How can I use this?"
It's that curiosity that strikes me as dispositive here, curiosity born of years of using first-generation languages from which Go and other new-school languages have "learned." Younger developers launch into mainstream languages like C++ and Java even as older developers, already well-versed in these, dabble in and appreciate new options. It's hard for younger developers to appreciate the elegance of Go, for example, because they've never had to wade through assembly languages.
Regardless, there's also the factor of time. Go is the hip new thing today, but will be the boring old Java tomorrow. Maybe the youngsters will stage a Go-loving youthquake at that time.