DEV Community

Discussion on: What "second" language would you recommend a JS Full-Stack Developer?

Collapse
 
codewander profile image
codewander • Edited

Along these lines, I would go for one of these (assuming larger ecosystem is essential):

  • Rust - writing fast, low level utilities and services, large and growing number of packages for it's age
  • Go - highly concurrent services and web apps with static types, intentionally provides limited ways to do most tasks in order to emphasize familiar, universal code style when working on teams, strong adoption of standard library, large number of packages but doesn't provide rich frameworks like ruby, python, and node. The community philosophy seems to reject frameworks in favor of smaller libraries.

I like Haskell and Clojure, but their ecosystems are small and don't have the trajectory of growth of rust. Some people count java libraries when considering clojure ecosystem, but I don't.

Java has a large ecosystem, but I don't know how much of it has been kept current and whether people are still creating new Java libraries. I usually found the libraries in ruby and python more interesting than java libraries for equivalent tasks.

Scala tries to support too many paradigms. It's ecosystem is stagnant in size, and it's java++ community seems to have moved to kotlin or java, and it's Haskell on the jvm community has remained, but I am not sure why someone who had the management freedom would select scala over haskell. Within scala, zio is interesting since it presents an easier entry point into learning pure functional programming.

I think elm is a great stepping stone to Haskell, but you wanted server side languages.

Ruby and python don't seem different enough from js.

Collapse
 
christiankozalla profile image
Christian Kozalla

Thank you for these awesome recommendations! ❤️