For me, I hate frameworks that are all-or-one solutions. Big heavyweight*** frameworks that tell you "This webpage is now a ____ application". First, they never are perfect solutions, and second, they always make some percent easier at the cost of making the rest painful. I think when learning a new language, especially if you've already got one or more under your belt, forcing someone to do it your way, or making familiar patterns or constructs hard is a huge detriment. Besides, how can you expect someone to learn if they're not allowed to get it wrong? You end up with folks who don't understand the importance of things like memory management if they never had to do it, and how useful are they during crunch mode?
Then you can tackle those foul turds of frameworks that are sold as the newest and best and maybe you'll get them to work for you, instead of the other way around. At least until everyone switches gears 3 months later when the next best steaming pile is excreted.
* - enough. It's fast enough.
** - most browser differences, and it's better than rolling your own in any case.
*** - heavyweight in this case meaning they make all my architectural decisions for me, and I have little or no ability to work around them.