9

I read the pragmatic programmer a few months ago. The book advised learning a different programming language every month or so. I was doing Advent of Code so I decided to try out Elm because functional programming is all the rage these days.
It took me one hour to convert a string of numbers to an array of numbers! And when I finally finished with that I couldn't understand how to compare each element with the next one in an array using map or filter.
I realised that I've become too comfortable using javascript. Worst case scenario: In a few years when javascript is obsolete I'll be like those old dudes that know only Cobol. Best case scenario: I'll always be too dumb to earn a nice salary.
On a positive note: The first time I tried Elm I didn't understand jack shit, now I understood a few things.

Comments
  • 2
    And I'm not a kid that learned javascript as his first language. I've used C++, java, python. But I've been using javascript exclusively for the past few years.
  • 2
    Functional programming takes time to get used to. Especially Elm, because you'll want to jump right in and do everything you wanted to do in JS, and that takes time.
    It took me a year of continuous usage to get familiar with Haskell, and I have a pretty strong C++ background.
    I would suggest you try a non-web functional programming language like Haskell, OCaml, Scala, or F# to start with.
    Or, you can learn functional concepts and practices like higher order functions, maps, filters, folds, streams, functors, applicatives, monads etc. in JS, there's a YouTube channel called Funfunfunction with great explanations.
  • 1
    Yeah, my 2nd year programming lecturer advised learning a new language each year (more thoroughly than can be done in a month I suppose). As developers we have to stay up to date and keep learning. Doubly so for those without fancy qualifications that snobby employers would scoff at.
  • 1
    Been there years ago. As a pretty dumb person, I can assure you it is comprehensible. As an added bonus, it actually lets you do more with less resources
  • 0
    Thanks for your advice people!
Add Comment