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