title: static in different languages
body: <p>I've heard there are differences between languages about the meaning of the keyword <strong><code>static</code></strong>, but I've not found a good list that consolidates those differences.  </p>
  
  <p>Here's what I know about the meaning of <strong><code>static</code></strong> in C++:</p>
  
  <ul>
  <li>For local static variables within a function, the variable is initialized at startup and the value is saved across function calls.</li>
  <li>Static data members are shared among all instances of a class.  In other words, there is only one instance of a static data member.  Static data members must be initialized at file scope.</li>
  <li>Static member functions have access only to static members.</li>
  <li>In recursive code, a static object or variable is guaranteed to have the same state in different instances of a block of code.</li>
  <li>Static objects and variables defined at file scope only have internal linkage.  No other files may use them.</li>
  </ul>
  
  <p>How does the meaning of <strong><code>static</code></strong> change in other languages?</p>