title: Java: define terms initialization, declaration and assignment
body: <p>I find the defs circular, the subjects are defined by their verbs but the verbs are undefined! So how do you define them?</p>
  
  <p><strong>The Circular Definitions</strong></p>
  
  <p><strong>initialization:</strong> to initialize a variable. It can be done at the time of 
  declaration.</p>
  
  <p><strong>assignment:</strong> to assign value to a variable. It can be done anywhere, only once with the final-identifier.</p>
  
  <p><strong>declaration:</strong> to declare value to a variable.</p>
  
  <p><strong>[update, trying to understand the topic with lambda calc]</strong></p>
  
  <pre><code>D(x type) = (λx.x is declared with type) 
  A(y D(x type)) = (λy.y is assigned to D(x type))
  
  %Then after some beta reductions we get initialization.
  D(x type) me human                  // "me" declared with type "human"
  A(y (D(x type) me human)) asking    // "asking" assigned to the last declaration
  
  %if the last two statemets are valid, an initialization exists. Right?
  </code></pre>