title: Definition of Method, Function, Operation, Procedure, Subroutine whats the exact difference?
body: <p>Are there official definitions for these terms in OOP? 
  Or have they just evolved over time and depending on your former computer science education (or even your age) you use one or the other?</p>
  
  <p>So far i found good definitions of <strong>method</strong> vs. <strong>function</strong>:</p>
  
  <p><a href="https://stackoverflow.com/questions/155609/difference-between-a-method-and-a-function">Difference between a method and a function</a></p>
  
  <blockquote>
    <p>A function is a piece of code that is called by name. 
    ... All data that is passed to a function is explicitly passed.</p>
    
    <p>A method is a piece of code that is called by name that is associated
    with an object. </p>
  </blockquote>
  
  <p>And <strong>function</strong> vs. <strong>procedure</strong>:</p>
  
  <p><a href="https://stackoverflow.com/questions/721090/what-is-the-difference-between-a-function-and-a-procedure">What is the difference between a &quot;function&quot; and a &quot;procedure&quot;?</a></p>
  
  <blockquote>
    <p>A function returns a value and a procedure just executes commands.</p>
    
    <p>A procedure is a set of command which can be executed in order.</p>
    
    <p>In most programming languages, even functions can have a set of
    commands. Hence the difference is only in the returning a value part.</p>
  </blockquote>
  
  <p>Even if there are subtle differences in the definition by the authors the main aspect seems to be: A <strong>method</strong> is always something which operates on an <strong>object</strong> in contrast to a <strong>function</strong> which gets all data passed to it by its parameters. If a <strong>function</strong> does not return a value it is called a <strong>procedure</strong>.</p>
  
  <p>But how are <strong>subroutine</strong> and especially <strong>operation</strong> linked to these terms?</p>
  
  <p><strong>EDIT</strong>: Since this seems to be <em>too broad</em> here is an attempt to narrow it down: method, procedure and function are pretty clear from my former research. Also subroutine is not that vague anymore. </p>
  
  <p>So the question is: What is an <strong>operation</strong> in the field of computer science?</p>