title: Why should casting be avoided?
body: <p>I generally avoid casting types as much as possible since I am under the impression that it's poor coding practice and may incur a performance penalty. </p>
  
  <p>But if someone asked me to explain why exactly that is, i would probably look at them like a deer in headlights.</p>
  
  <p>So why/when is casting bad? </p>
  
  <p>Is it general for java, c#, c++ or does every different runtime environment deal with it on it's own terms? </p>
  
  <p>Specifics for a any language are welcome, example why is it bad in c++?</p>