I've read this article many a times and ran in to it again today: Signs that you're a bad programmer
And the 2nd paragraph is something I've been thinking about a lot recently: 2. Poor understanding of the language's programming model
There are several more models and several more languages that implement those models.
Recently, I first tried out Ruby, and I never got beyond the basic stuff. Make an array, make a string, do substrings, etc...
My main problem was: why was I doing this? Why use a different tool when I already have one. You read so much stuff about how great certain languages are, but I feel I don't understand the goal of Ruby. Or its goals, if it has multiple.
Take PHP for example: you can use it to power websites, but also just to be a script that responds to a server request with some text-data.
Then there's other models. Why do I use them and in what situations? Why prefer them over other models, etc...
I'd like to make a Stack Overflow community question, asking this and then making a accessible list for future reference. Or is this not the place for it?