Most programming languages pass information from function arguments by value or by reference. This means creating a copy of the data or passing a reference to the original data respectively. This is very important depending on the case and the language, as it can have performance consequences or make the code less robust. By value Passing by value makes the code more functional and less prone to errors. Since the function can internally modify the arguments without affecting the variables that contain the original data in the function call environment.