The distinction between the two is subtle: "higher-order" describes a mathematical concept of functions that operate on other functions, while "first-class" is a computer science term that describes programming language entities that have no restriction on their use (thus first-class functions can appear anywhere in the program that other first-class entities like numbers can, including as arguments to other functions and as their return values).
Diferența între cele două este foarte subtilă: "funcționalele" descriu un concept matematic de funcții care operează pe alte funcții, iar "funcțiile de clasa întâi" este un termen din informatică ce descrie entități din limbajele de programare care nu au restricții la utilizare (astfel funcțiile de clasa întâi pot apărea oriunde într-un program unde pot apărea alte entități de clasa întâi, cum sunt numerele, inclusiv ca argumente ale altor funcții sau ca valori returnate de acestea).