
Ask HN: Learning new programming languages in 2018 - asdojasdosadsa
What would you suggest (or have tried) for learning new languages? Now, in 2018 there seems to be so many different ways and websites to support this, but which to choose? I am coming from web development and I think the biggest problem is finding, what to do? For web projects, it seems to be semi easy to create a new webapp, but for (ex. my biggest interest atm) Haskell, what should I do?<p>Often I seem to drift towards Euler and do the problems, but these are so small (and algorithms mainly) that the interest might flop easily<p>Thanks a bunch for the responses!
======
itamarst
Personally I find that the best way to learning programming languages is on
the job, rather than at home on random projects. I've tried one of the "do
this exercise in a new language" sites, I forget which, and it's just... not
realistic enough, and not motivated enough. Like you said, interest flops.

I've done much better when I got a job where I had to learn a new programming
language.

Longer version here: [https://codewithoutrules.com/2017/09/09/learn-a-new-
programm...](https://codewithoutrules.com/2017/09/09/learn-a-new-programming-
language/)

------
sridca
If you are interested in Haskell I'd suggest starting with Elm (quite easy to
get started) and then move into GHCJS by trying [https://haskell-
miso.org/](https://haskell-miso.org/) ... and if you will still be motivated
try [http://docs.reflex-frp.org](http://docs.reflex-frp.org) .. and eventually
you use Haskell to write both backend and frontend:
[https://github.com/reflex-frp/reflex-
platform/blob/develop/d...](https://github.com/reflex-frp/reflex-
platform/blob/develop/docs/project-development.md)

------
ainiriand
Congratulations on staying hungry. Euler is indeed a good source of code
katas. But you could try to implement more complex engineering data structures
like linked lists and hash tables. I'm studying myself some Solidity
development and to help along the way I'm writing small articles. You could do
the same, because when explaining what you know, you realize if you dominate
the subject.

~~~
asdojasdosadsa
Thank you for your response. How have you kept your motivation up with short
exercises like Euler's? Writing articles is something I have never though of,
but might give it a try. Thanks for the wonderful idea!

~~~
ainiriand
Just don't try to tackle all of them at once. Take it as it is a way of
flexing your muscles before doing exercise and only do a couple of them daily.

------
Darkstack
I suggest that you pick a project first (that you love, that could help a
friend or an association), then pick the right (new ?) language that does the
job. I tried too many time to learn a new language without a project and ended
dropping it,(I lost interest doing stuff that doesn't matters like basic
algorithmic, exercises that i already knew).

------
viraptor
I quite like project Rosalind
[http://rosalind.info/about/](http://rosalind.info/about/)

It's practical enough and far enough from bare algorithmic exercises that it's
interesting for a long time. And you learn Bioinformatics in the process, so
that's a double-win.

------
xiaodai
Elm, Julia, Elixir sound interesting and diverse

~~~
asdojasdosadsa
Exactly! But where would I start? A project, what kind of? I'd love to do some
Elm or Elixir

~~~
xiaodai
I reckon you should make a tax calculator in Elm so a user can compare how
much tax he/she pays in each state

