The problem, ultimately, is that every place is made up of people. People are fallible, limited, and not gods. They're just people. They have to eat and sleep. They like having interpersonal relationships. Sometimes they're jerks.
When I joined Microsoft as an intern in the Mac Business Unit back in 2002, my biggest surprise was that the people I worked with—the first real software engineering organization I'd ever been exposed to—were just people. They weren't perfect, and sometimes they got grumpy when a certain over-enthusiastic 19 year old wouldn't shut up.
Anyway, back to your question: Blizzard is probably an interesting place to work. They maintain the biggest(?) MMORPG, they have a huge amount of history, and I expect having a role at Blizzard on your résumé looks great. But, since it is the games industry, you should probably expect endless death marches, crappy pay, and incredible amounts of churn in between projects.
tl;dr: check Glassdoor and see what employees have to say. If you have unreasonable expectations about a workplace, you will be disappointed.
Once you're past that 150 number or so, you will have multiple cultures and environments. There will be the small hot next thing, the big incumbent, the team everyone is waiting on, the hasbeens, the guys in the corner no one knows what they're doing, the guys everyone has to work with even though no one knows why, etc. Some traits will be the same, but environment varies a lot.
See recent discussions on Amazon for instance. Some people disagree completely on their experience.
Are you interested in Blizzard because you only see yourself developing games and games alone? Are you interested in graphics and '3D math' and find Blizzard appealing because they need those skills? Will you be happy being a 'tech' employee without the tech paycheque?
So I am guessing it's probably still a C++ heavy shop like many gamedev places.
To start though you need multiple inheritance likely to get this to work idiomatically. C would also do fine, as would Java, except the Java would look like C because of the lack of multiple inheritance/mix-in, while the C code could result in some type insanity -- although components can be implemented as simple structs in structs for entities, except the whole construction/destruction phase of life.
As an outsider looking in, C++ seems filthily well-suited to game development.