"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.
Also, "iOS development" is not a programming language and I'd be very skeptical of anyone who opines that Obj-c is easier to learn than PHP or js. (I also assume they're talking about Swift but I don't know much about it).
Programming languages I think was easiest to learn ======
Javascript: I was making a game in HTML5/Canvas with it.
TypeScript: It saves me from ruin working on a huge project. Being statically typed, friendly error message in the compiler, and versatile enough to do a lot of FP in it makes me feel that it is "honest" to me.
Rust: The approach to memory safety is cool. While learning it, I was thinking that it would save me a whole lot, like TS saved me from doing stupid think like I would using JS. Also it can compile to wasm and has a nice interoperability with C.
Hardest to learn ======
Prolog: I didn't know what it was for.
Visual Basic: I didn't know where it is ran, when it is ran. I was uskng visual studio. It was painful that I didn't know how the app was architectured. It feels that it hide something from me.
Python: I was going to learn DL with it until I realize my OS is not linux and my machine is not strong enough for DL. Also, Python interpreter feels so slow to me. Slow feedback loop killed my enthusiasm. Though I don't like working with the language, I respect the language design of Python.
PHP: Used it for a lot of profitable projects, but I never felt comfortable with it. PHP, to me, is a template-engine, not a proper programming language.
Super thankful I had an extra push from people around me, because I love it all now.
I was coming from a C#/Ruby background and Go seemed nice on the cover but once I tried to write some more advanced software with it, I was struggling (this was around 5 years ago).
Maybe the Go story is better now, who knows. I've seen moved on to Elixir and feel right at home and very excited about it. Hell we may even have web assembly Elixir support coming in the form of Lumen.
Also I found Perl really hard because there was just too much to memorize. I couldn’t get into a flow. I like something like python (2.4 and lower) where the whole language could fit in your head after a quick read of the docs.
The one I took more time to grok at a fundamental level was Prolog, and I still consider myself a newbie.
To remedy that I've tried learning elisp to do some fun stuff with emacs, but usually I end up fighting/learning emacs as a system rather than lisp as a language when I do that.