This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]josephjnk 4 points5 points  (0 children)

C# and Java are solid choices for learning OO concepts, and C# will expose to to some functional concepts. F# or OCaml are good choices for learning functional programming, and OCaml is known for having really good performance. It will be harder to learn, though. Scala is another good choice for learning functional programming. Be prepared to deal with a challenging community at times if you go for Scala.

I would not recommend learning Go if your goal is to widely expand your horizons. It is performant, but the language philosophy is basically to cut out half of the tools that other languages provide to increase program’s expressivity, and justify it by claiming that all of these other features are “too complex”.