I think one of the issues is how different languages are taught. My first experience with Java was in an awful CS AP class in high school that was an unrewarding grind and I eventually dropped it. My next experience was in an intro CS course at liberal arts school and the assignments were largely start with an empty screen of code and write some interesting computations from scratch.
What I suppose I didn't realize at the time is that those classes weren't designed to teach me to build things with code, which is what I really wanted to do. I don't even want to be overly critical of the college level course because the academic CS stuff really helped me frame some of my thinking about code in the type of real world applications I build now. We also touched on some Haskell, automata theory, circuits, turing machines and assembly in that class. Still it left me feeling like building programs people use was impossible.
When I first started writing a rails app in ruby it was an "aha!" moment about how people actually get things done. Most people learning ruby learn it in the context of trying to build something others will use.
If I fat thumbed a down vote on my iPhone i apologize as I was trying to upvote you as I think you expressed this very well. I could get going with Ruby quickly and achieve a result fast which made me happy and want to do more.
What I suppose I didn't realize at the time is that those classes weren't designed to teach me to build things with code, which is what I really wanted to do. I don't even want to be overly critical of the college level course because the academic CS stuff really helped me frame some of my thinking about code in the type of real world applications I build now. We also touched on some Haskell, automata theory, circuits, turing machines and assembly in that class. Still it left me feeling like building programs people use was impossible.
When I first started writing a rails app in ruby it was an "aha!" moment about how people actually get things done. Most people learning ruby learn it in the context of trying to build something others will use.