What is the difference between a method and a function? Is it that a method returns a value and a function doesn\'t?
The words are not opposed to each other but rather describes two possible aspects of a subroutine. An attempt to define the words follows:
Subroutine: A set of instructions that can be used several times in the same program.
Function: A subroutine that returns a value. Derived from functions in mathematics (wikipedia).
Method: A subroutine that belongs to an object or a class. Could be a function.
I tend to use the word "function" for every subroutine that has no side effects but returns one clear value and the word "method" for every subroutine that has a side effect.