任何人都能解释一下Ada“程序”和“功能”之间的区别吗?
答案 0 :(得分:15)
与其他命令式C语言相比,Ada语言并没有太大的不同。虽然语法可能看起来很奇怪并且被不同的语句所淹没,但这主要是因为非常丰富的静态类型系统和由语言直接提供的功能(例如任务),其他语言提供为副库。
与大多数类C语言不同,Ada区分程序和功能程序。在这个意义上,函数非常像数学函数,它接受参数(或无)并返回一个值,因此在表达式中使用。过程不返回任何值,也不能在表达式中使用。 Pascal语言在功能和过程之间保持相同的区别。类C语言选择只具有可在表达式外使用的函数(在这种情况下忽略返回值)或返回void值以表现为过程。