The first and most obvious problem with deciding to learn programming with no experience actually has nothing to do with Haskell. True Confession: I didn’t know Github existed until I started learning Haskell; I didn’t even know what version control was. So, as I was starting with Haskell, I had Linux, Git, an invitation to join an IRC channel (a wut?) and, er, “a text editor” thrown at me. Seems silly, yes? Well, when your primary use of computers has previously been Googling recipes and letting your kids play Minecraft, and all of a sudden someone tells you to open up your “REPL” (whatever that is–yeah, yeah, I know now) and your text editor, you…try really hard to pretend you know how to do those things while Googling furiously.
A good article highlighting what it was like learning Haskell when you never programmed before. It reinforces how much we assume is common knowledge when in fact it isn’t.
I remember when I got started I really struggled to understand the relationship between the server and what you see in the browser. The server seemed like some mythical thing because I couldn’t actually see it. My “ah ha” moment finally came when I discovered an FTP Gui client and lots of playing around. Building my first site was a complicated confusing puzzle.