Eventuali duplicati:
What is the difference between a ‘function’ and a ‘procedure’?Qual è la differenza tra una subroutine e una funzione?
ho cercato on-line per una risposta a questa domanda, e la risposta che ho ricevuto è stata che una funzione può restituire un valore, modificare un valore, etc. , ma una subroutine non può. Ma non sono soddisfatto di questa spiegazione e mi sembra che la differenza debba essere più di una semplice terminologia.
Quindi sto cercando una risposta più concettuale alla domanda.
Non proprio. Questa è l'unica differenza importante. Forse un altro è che i linguaggi moderni (C, Java, PHP ecc.) Non usano le subroutine ma solo le funzioni. Altrimenti direi che i dettagli tecnici sono gli stessi: l'istruzione di assemblaggio 'call' o 'jmp', in pratica. –
Vedere anche: [Che cos'è una coroutine?] (Http://stackoverflow.com/q/553704/974555) e [Qual è la differenza tra un metodo e una funzione?] (Http://stackoverflow.com/ q/155609/974555) – gerrit