A procedure is used to perform certain task in order. A function can be called by a procedure. A function returns a value and control to calling function or code. A procedure returns the control but not any value to calling function or code.