On Twitter, Sahil Lavingia (founder of Gumroad) recently posted the following tweet [1]:
"For those who think they can't learn how to code: try another language.
I tried PHP a few times and gave up. Then JavaScript: gave up.
Then the iPhone came out, I tried iOS development, and everything started to click!"
Have you ever had the same experience? Struggled with a particular language and then found another language that made programming easier and more enjoyable?
[1] Lot's of interesting responses to the Twitter thread:
https://twitter.com/shl/status/1173967528017551360
1. Not knowing if the code I'm writing is functional enough. When I tried learning F# / OCaml some things were easy to learn to do away with, namely mutable variables and the use of conditionals. However I would look at code I wrote vs what other people had and it still looked very differ, like it still has too much procedural ideas in it. Unfortunately, that's not the king of thing I can just ask about on SO
2. Terse syntax that I'm too dumb to process. THis happened when I tried to learn Erlang, I was really enjoying it, and was going through the book Joe Armstrong himself wrote. I got to list comprehension and I kinda just fell apart. It made sense at first, but then the book jumped to some common algo implementations using it and just the use of extremely terse comprehension syntax on multiple lists has my trying too hard to focus and read what what going on. Took a break after that and never got back into it.
Additionally, not related necessarily to functional languages, is that I'm lazy and I just can't program without having a (real) goal or problem that needs solved. I wanted to learn C, in order to work on a large codebase which I found bug, but couldn't bring myself to spend the time learning that language first. Similarly, I had what I thought was a good idea for a web application and wanting to expand my skill set to Elixir / Phoenix, but in the end I was too lazy to go through actually learning a language and a web framework before I could ge to work.