3 ms·
Ask HN: Just finished my dissertation, what language should I learn for fun?
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'm not looking for a job, just a fun and capable language for side projects.
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.
- GenKali 8y agoMy 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 8y agoI’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.
- hackerpacker 8y agodone any assembly yet?
- dom96 8y agoIf 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 8y agoI 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 8y agosince 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.
- nextos 8y agoMozart/Oz
- simplecomplex 8y agoLearn something totally different from what you’re used to, like PureScript or Haskell.
- karmakaze 8y agoMy 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/
- pepper_sauce 8y ago+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.
- mathieubordere 8y agoReading `Structure and Interpretation of Computer Programs` and doing all the exercises in Scheme is quite fun.