title: What does static variable in general mean for various programming language and circumstances?
body: <p>Static variables are usually: (in most programming languages) shared, persistent, and allocated on the code section of the program</p>
  
  <p>But what does that have anything to do with the word static? What is so static about that? I thought <code>static</code> means doesn't change?</p>
  
  <p>For example, in vb.net static is written shared and that means a member function that can be accessed without object instantiation. Static within function usually means that the variable life time is the life time of the whole program. It seems that static variables are stored on the code section of the computer. Am I correct in my understanding based on the example?</p>