let me add a little something<p>programming is about languages and tools, whatever is your anger or need,
some are more approachable than others<p>my dark beast for 10 years have been C and by extension C++,
got this kind of stupid idea that to be a "real" developer you have to know how to program in C<p>and true for 10 years I tried to learn C/C++, just learning it for fun or curiosity, and for 10 years it went nowhere, could not wrap my head around it<p>I was just giving up after a couple of weekends, losing interest,
and that was to blame on the fact I was just trying to learn it for the sake of knowing it,
I didn't really needed it<p>and then on a somewhat big open source C++ project I found a little bug (really a shit of bug that can be fixed in 2sec), I could compile the project but not really write C/C++, but still could fix that bug<p>that's what I would call "anger", knowing that this stupid little bug can be fixed in no-time by someone like me (being a total noob)<p>but from this "anger" came a very unexpected thing<p>on my day to day work, wether it's ActionScript, Java, PHP, Python, etc.
I can code it in my sleep, sure there are still some bugs and complexities,
but still nothing that I can consider impossible<p>because trying to add features to that big C++ code base, was something very hard to do for me and to some extend "impossible" or "how the hell I gonna do that", it ended up being
extremely rewarding and a kind of an obsession<p>so my little contribution would be to add: it's not only about the anger and the need,
it is also about how hard it is for you to do it<p>yep, hard is fun<p>the harder the better ;)