Come altri già hanno sottolineato, normalmente non assegniamo un nome generale a queste funzioni. Ho sentito tutti questi termini e li ho visti in azione, ma finora non è emerso alcun nome comune che abbia superato i limiti linguistici / di piattaforma / quadro per quanto posso dire. Ma penso che sia comunque una bella domanda. Come è stato detto, nominare le cose è difficile, ma siamo tutti d'accordo che è anche importante, quindi ecco la mia opinione su questo:
Hooks sono come @Kilian Foth ha sottolineato abbastanza il termine old-school e in effetti, non ho sentito quel termine da molto tempo. Non c'è davvero una ragione per cui è andato fuori moda perché è ancora valido, anche se devo ammettere che non mi è mai piaciuta l'idea di un gancio visivo per questo tipo di concetto.
Gli handler sono stati nominati anch'essi, tuttavia, questi hanno in generale una semantica leggermente diversa nella maggior parte dei casi in cui li ho incontrati. I gestori si trovano generalmente in corrispondenza delle interazioni dell'utente (azioni / gestori di pulsanti). I gestori di eventi sono un termine leggermente più mirato, che corrisponde direttamente agli eventi. A causa di molti domini che modellano esplicitamente gli eventi, tuttavia, non mi piace nemmeno come termine generico, dal momento che può essere fonte di confusione avere "gestori di eventi" nel senso hook / callback, quando non è coinvolto alcun "evento" effettivo.
I callback sono vicini agli hook, ma a causa del termine hanno un'enfasi direzionale diversa. Con un gancio c'è qualcosa che esiste e dall'esterno ci si aggancia a quello, mentre una richiamata è qualcosa che si trasmette e, a un certo momento, l'altro lato raggiungerà la tua richiamata. Oltre a questo, i callback sono passati di moda in modo simile agli hook con termini derivati dispregiativi come "callback hell" che mi vengono in mente.
"Implicitamente" è ancora un altro termine che esiste già per un caso del genere, ma ha di nuovo una semantica completamente diversa. Controlla il linguaggio di Scala, che offre "implicitamente" anche come termine di linguaggio diretto. Il suo significato però non è quello di un hook / callback / qualsiasi cosa discutiamo qui.
In aggiunta a ciò, diversi framework non si preoccupano nemmeno dei nomi per questo scopo. Un caso tipico è l'utilizzo di f.ex. API reflection di Java. Considera lo standard Beans, in cui hai metodi di accesso (a.k.a. getters). Diversi framework chiamano questi metodi automaticamente tramite la riflessione e servono ancora un altro scopo in contrasto con tutto quanto sopra.
Come conseguenza di questa discussione, vorrei discutere in stile Obi-Wan, che questo termine non è quello che stai cercando . Come abbiamo visto, i diversi termini dei candidati hanno una semantica selvaggiamente diversa o ragioni per essere chiamati automaticamente. È persino discutibile cosa significhi "automatico". Poiché la denominazione è principalmente un mezzo per trasportare il significato, l'uso stesso di un termine che denota la "funzione utilizzata automaticamente" è discutibile.
Non appena sistemerai alcune di queste opzioni di interpretazione semantica della variabile (o se preferisci i "punti di variazione semantica" di UML), un termine per identificare le tue scelte inizia a dare un senso. Ecco perché abbiamo hook, gestori di eventi, callback, metodi impliciti, accessor di proprietà e quant'altro. Ma ognuno di questi termini contiene più informazioni rispetto al semplice fatto di "chiamate automatiche", qualunque esso sia.