Which programming languages do developers love? And which ones do they really, really dread working with? Stack Overflow’s latest Developer Survey offers some crucial insight into both those questions—and the most-loved and most-hated languages might not be the ones you expect.

Nearly 83,000 developers responded to Stack Overflow’s question about their language preferences. Rust was the most-loved language by a healthy margin, followed by Clojure, TypeScript, and Elixir; some of the world’s most popular languages, including Python and JavaScript, were scattered much further down the list: 

Rust topped Stack Overflow’s 2020 list, too. “Rust promises performance, control, memory safety, and fearless concurrency—an enticing combination, especially for systems programming,” read a note accompanying last year’s data. “It has also brought some interesting features—like affine types and hygienic macros—into the mainstream discourse.” (Stack Overflow didn’t provide any commentary on the language this year.)

Clojure, a dialect of Lisp that interoperates with Java, and TypeScript, a superset of JavaScript (yes, Stack Overflow regards it as a full programming language), came in second and third place, respectively, which suggests that developers really like programming languages that somehow improve on widely used languages such as Java, JavaScript, and (in the case of Rust) C++.

While new, fun languages are often positioned as potential replacements to some of the decades-old languages that dominate the world’s tech stacks, enormous mountains of legacy code make it difficult for older languages to fade away entirely. Just look at Objective-C, which ranked as one of the most-dreaded languages on Stack Overflow’s list (at 73.07 percent), and yet stubbornly manages to hang on due to all the iOS apps written in it; and that’s despite Apple aggressively pushing its successor, Swift, to the developer community. 

Nonetheless, much-loved languages have a shot at more widespread adoption. If developers like to use a particular language, they’ll try to bring it into their current projects; and as those projects grow in size and scope, the language inevitably finds more adherents. Even the biggest languages, such as Python and Java, started small; perhaps a relatively obscure language you love to use could reach that kind of scale over the next decade or two.