
Ask HN: Just finished my dissertation, what language should I learn for fun? - azhenley
After working so much on my PhD dissertation, I finally want to take a break and code some things for fun. I want to start by learning a new language (I have been using C#, Python, and JavaScript). I&#x27;m not looking for a job, just a fun and capable language for side projects.<p>Nim and Crystal have been getting a lot of praise on HN, but I am also considering Go, Rust, and Elixir. While there is no perfect answer, I am open to suggestions.
======
pepper_sauce
+1 Rust, but be warned: the learning curve is high. I work with similar
language to you and Rust not only sheds light on low level concerns and
safety, but also has an excellent type system. Programming Rust by Blandy and
Orendorff, the online Rust Book, and the Rust By Example website are all good
resources.

Rust is a lot more verbose than a language like Elixir so it might feel like
wading through mud for a while.

I'm also throwing out the suggestion of a Lisp. Homoiconic macros are
interesting and difficult. I'm currently reading Let Over Lambda by Doug Hoyte
and it's like there's a whole world of technique I had no idea existed.

------
GenKali
My votes go to Rust and Elixir. I'd say I've had the most fun in Elixir
recently, but Rust comes a very close second - especially once the borrow-
checker and I started seeing eye to eye.

~~~
azhenley
I’ll definitely look into Elixir some more. I don’t have a lot of experience
with functional languages so it could be a worthwhile choice for me.

------
karmakaze
My current curiosity is Pony. I read the early history[0] and tutorial[1] and
was immediately hooked. At work, I would tend to choose Go for lowish-level
applications but for personal exploration choose something with greater future
potential where everything hasn't already been built.

[0]
[https://news.ycombinator.com/item?id=14280565](https://news.ycombinator.com/item?id=14280565)
[1] [https://tutorial.ponylang.org/](https://tutorial.ponylang.org/)

------
mathieubordere
Reading `Structure and Interpretation of Computer Programs` and doing all the
exercises in Scheme is quite fun.

------
dom96
If you want something that's really fun then I would say Nim is a good choice
(jobs are still rather rare for Nim, although they do also exist). If you've
got a particular project in mind then I would happily give you some resources
on how to implement it in Nim :)

~~~
azhenley
I just started going through the Nim tutorial! I'll let you know how it goes.

After looking at some projects on github that use Nim, I'm very impressed.
Thanks for all your work on this!

------
slipwalker
since you haven't used any purely functional language yet, given your choices,
i would recommend Elixir. Different programming paradigms ( procedural, oop,
fp, declarative, etc... ) teaches different ways to approach a given problem
domain, it's an useful skill to have.

------
simplecomplex
Learn something totally different from what you’re used to, like PureScript or
Haskell.

------
nextos
Mozart/Oz

------
hackerpacker
done any assembly yet?

