关于本章
基本上所有主流的programming language都支持“函数”的概念,作为软件工程师,我们平时所说的“定义一个函数”、“调用函数”,其实严格意义上来说是“Subroutine”。一提及函数,可以引出一些列的相关的内容,可以说涵盖了我们平时编程中的方方面面:
- 维基百科Subroutine
- 维基百科Functional programming
- 维基百科Higher-order function
- 维基百科Function object
- 维基百科Function pointer
- 维基百科Method (computer programming)
- 维基百科Lambda
- 维基百科Closure
- 维基百科Callback
- 维基百科First-class function
- ......
在维基百科的Category:Subroutines中总结了与subroutine相关的内容。
Subroutine VS function VS method
subroutine和function基本上是同义词,需要区分的是function和 mathematical function ,programming language是可以描述 mathematical function 也就是说我们可以使用使用programming language定义的function来实现 mathematical function ,软件工程中function和数学中的function是不同的,这一点在Functional programming中有阐述。
Object-oriented programming | Method |
What is the difference between a function and a subroutine?