本质上是一个东西,因为当初计算机科学就是数学人搞出来的。所以用了相同的名词。
只不过数学的函数往往仅计算值。编程语言的函数除了计算值,还可以执行一些其它的功能,这种功能从函数的角度来看叫做「side effect」副作用,也可以翻译为「边际效应」。因为从数学函数的角度,计算一个变量的值同时产生了其它影响那就属于副作用。
编程语言的函数可以不计算出任何值,只执行其副作用。当然,这其实也能算是函数的一种。所以从概念定义上,编程的函数与数学上的函数确实是一个东西。