title: TypeScript: Interface vs Class vs Modules vs Program vs Function
body: <p>I read the TypeScript specification located at:
  <a href="http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf">http://www.typescriptlang.org/Content/TypeScript%20Language%20Specification.pdf</a></p>
  
  <p>However it got me confused with following:</p>
  
  <ol>
  <li>Interface</li>
  <li>Class</li>
  <li>Modules</li>
  <li>Programs</li>
  <li>Functions.</li>
  <li>Declare vs. var</li>
  </ol>
  
  <p>Could someone briefly help to understand which one of above should be used when? Is Interface and Class same as C# version?</p>