title: Programming in gamedev (performance related)
body: <p>I am just wondering how some things work in gamedev:</p>
  
  <ol>
  <li><p>I know, that the performance is actually <strong>crucial</strong> so there is still (and I think never will be) no place to use managed languages/platforms as Java/.NET just because of their performance. But... recently I have read somewhere here on SO, that even though people creating games use C++ as a primary language, they actually do <strong>not</strong> use STL or Boost (or a lot of them). In think it has something in common with performance, right? If I am wrong, could you please tell me what are the reasons to avoid those libraries (that I think make developer's life much easier)? Is it because of licensing (Boost)? And what about EA's version of STL? Do other studios make their own versions too?</p></li>
  <li><p>How "close to metal" game programming really is? Do you go deeper and closer to the machine? Do you sometimes use Assembly for critical inner loops, or C++ is actually the lowest abstraction layer that you use at the moment? I assume that in such products where performance is the most important thing profiling is very, very common task - but are you sometimes forced to use assembly to speed some parts up, or good C++ is "good enough"?</p></li>
  </ol>
  
  <p>Edit:
  Sorry, It may not have been clear, but I am interested in answers from people having game industry experience. I am <strong>not</strong> interested in some assumptions given by people who do not have commercial experience in game development. I am also not interested in examples of some niche-games created in C#/Java whatever. However if you know a product that looks better than FarCry2 (just and example, but your favourite modern great looking game name here), and is written <strong>entirely</strong> in Java/.NET, and has similar performance to FarCry2... do not hesitate to mention this product! Thanks.</p>