So, since you mentioned Java, Kotlin and Groovy are very pleasant to write and quite easy to learn, lots of syntactic sugar. I'd say Kotlin is a better language than Groovy. Scala is a very deep language to learn, lots of fascinating features, just reading Programming Scala is amazing and totally recommended. The learning curve is steeper to get to more advanced concepts but it is worth it. Rust is not as difficult t…
Ask HN: Which programming language should a journeyman programmer learn?
11–20 of 27 posts
Re: Ask HN: Which programming language should a journeyman programmer learn?
#12(You should prepend "Ask HN:" to your post's title.) This almost sounds like language as an 'intellectual pet' type of motivation, which is ~somewhat at odds with "broadening my horizons". Why not explore 'new [advanced] things to create' in one of the most fun languages you already know? Or, get excited by exploring a dimension such as 'performance', or 'distribution', etc. So, my 2c is first decide if you want to b…
Edited. And fair enough point. To use your analogy, this question is more of the "linguist" side. If I were solely interesting in the "writer" side, I would be building distributed systems in Go.
Re: Ask HN: Which programming language should a journeyman programmer learn?
#13Haskell is the "deep end" in terms of its ideology, but not difficulty. In practice, I've found compromise languages like Typescript and Scala more challenging because they're everything to everybody. If you already enjoy the benefits of types and want to explore that avenue further, then Haskell makes more sense than some of the alternatives.
Insightful comment. In general I prefer tools that have a prescribed way of looking at the world and don’t try to be everything to everyone. That said, I feel a certain allure to the depth and “wizardry” that I’ve heard so much about in Scala, which doesn’t generally fit this mold. So at the moment I really think I’m stuck between Scala, Haskell, or Elixir. It’s tempting for people to simply say, “Learn all of them”…
Elixir is def cool but keep in mind that it is just much more normal of a language. You can probably learn it in a few weeks. Haskell is a much longer journey
Re: Ask HN: Which programming language should a journeyman programmer learn?
#14Re: Ask HN: Which programming language should a journeyman programmer learn?
#15Re: Ask HN: Which programming language should a journeyman programmer learn?
#16Earlier quoted context omitted.
Edited. And fair enough point. To use your analogy, this question is more of the "linguist" side. If I were solely interesting in the "writer" side, I would be building distributed systems in Go.
In that case, something like Prolog would definitely be a change and possibly a lot of fun to explore but I have no idea about the community. I also liked Chapel [1] a lot when I looked at a couple of years ago (again modulo community). If you are into distributed systems TLA+ could be a nice thing to know though obviously it's not a general purpose language. [1]: https://chapel-lang.org/
-Brad
Re: Ask HN: Which programming language should a journeyman programmer learn?
#17Haskell is the "deep end" in terms of its ideology, but not difficulty. In practice, I've found compromise languages like Typescript and Scala more challenging because they're everything to everybody. If you already enjoy the benefits of types and want to explore that avenue further, then Haskell makes more sense than some of the alternatives.
Insightful comment. In general I prefer tools that have a prescribed way of looking at the world and don’t try to be everything to everyone. That said, I feel a certain allure to the depth and “wizardry” that I’ve heard so much about in Scala, which doesn’t generally fit this mold. So at the moment I really think I’m stuck between Scala, Haskell, or Elixir. It’s tempting for people to simply say, “Learn all of them”…
So yeah, learn Haskell, then make money with Scala.
Re: Ask HN: Which programming language should a journeyman programmer learn?
#18If you want types, I'd check out Haskell, or OCaml or F#.
So I guess what my advice is decide how you want to grow and choose a language at that extreme.
If you've learned a mainstream get it done language you wont get much out of learning another one.
Re: Ask HN: Which programming language should a journeyman programmer learn?
#19Go is a strange mix of functional and imperative that, despite its simplicity, is illuminating in its own way.
Getting to really know the shell and regex, inside and out, can also be a revelation.
Re: Ask HN: Which programming language should a journeyman programmer learn?
#20Earlier quoted context omitted.
Insightful comment. In general I prefer tools that have a prescribed way of looking at the world and don’t try to be everything to everyone. That said, I feel a certain allure to the depth and “wizardry” that I’ve heard so much about in Scala, which doesn’t generally fit this mold. So at the moment I really think I’m stuck between Scala, Haskell, or Elixir. It’s tempting for people to simply say, “Learn all of them”…
I would advise looking at Haskell. There is just so much there, and while you learn it you get so much exposure. Elixir is def cool but keep in mind that it is just much more normal of a language. You can probably learn it in a few weeks. Haskell is a much longer journey