title: Java: What is the difference between subroutine and methods?
body: <p>What is the difference?</p>
  
  <pre><code>public write(){
  // dostuff
  }
  </code></pre>
  
  <p>Is the code above a subroutine, a method, or a program block?</p>
  
  <p>I don't understand these terms because the meaning of them are all so similar?</p>
  
  <p>So, if I was being very strict and pedantic, then which one would it be? I prefer calling them subroutines, is this STRICTLY correct?</p>
  
  <p>Programming language: JAVA</p>
  
  <p>EDIT:
  Thanks, I understand now but what would be the safest way to call it? Block?
  I use multiple programming languages, would the term "block" suffice?</p>
  
  <p>Can I call a function a block?</p>
  
  <p>So can I refer everything as a block? It will be easier for me, right?</p>
  
  <p>I won't call a block a function or subroutine, but I will call a function, methods and whatever as a block. Would that be fine, calling them as a block?</p>
  
  <p>So, does this mean this is somewhat ACCURATE?
  A local variable is not accessed outside of the program block (yes, there are a few circumstances that this is not true).</p>