> I'm only a hobby programmer and the experience wasn't encouraging.
I have come across elitist communities like on SO, also regarding C++. I was downvoted and told to intentionally be spreading misinformation by using the word 'struct', because as you should know, in C++ there are only classes...
I haven't encountered that kind of vitriol when I asked beginner questions about how loops work, on 4chan out of all places.
But there were also times where I spent hours with people chatting on IRC while learning, where people were forgiving and encouraging.
In both places however, it seemed to be unfathomable for people that someone was trying to learn to program, not because they had to because of school or uni.
You are absolutely correct and I was an idiot without a proper understanding of premature abstraction or unnecessary complexity.
If I were to start a new side-project using Haskell today (I probably won't), I would just stick to do-notation and even concrete types (instead of mtl-style or what have you) where possible.
I once had a hard to track down bug in some code making use of conduit[0], which is introduced using examples like `main = runConduit $ (yield 1 >> yield 2) .| mapM_C print`.
Dutifully replacing every occurrence of (>>) with (>), because it was more modern, suddenly changed the semantics somewhere, due to the fact that (>>) is defined with fixity `infixl 1 >>` and (>) as `infixl 4 >` - i.e. both are left-associated operators, but (*>) binds tighter than (>>) and some of the myriad of other operators you may encounter.
I have come across elitist communities like on SO, also regarding C++. I was downvoted and told to intentionally be spreading misinformation by using the word 'struct', because as you should know, in C++ there are only classes... I haven't encountered that kind of vitriol when I asked beginner questions about how loops work, on 4chan out of all places.
But there were also times where I spent hours with people chatting on IRC while learning, where people were forgiving and encouraging.
In both places however, it seemed to be unfathomable for people that someone was trying to learn to program, not because they had to because of school or uni.