Funzione (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunta immagine
+fonti
Riga 72:
La maggioranza dei [[linguaggio di programmazione ad alto livello|linguaggi di programmazione ad alto livello]] supporta esplicitamente le funzioni, prevedendo costrutti sintattici dedicati o che in alternativa accorpano diverse varianti del concetto:
 
* i [[C (linguaggio di programmazione)|linguaggi C-like]] prevedono una sintassi dedicata per le funzioni, che supporta anche le [[procedura (programmazione)|procedure]] come caso particolare;<ref>{{cita|K&R 2007|p. 68}}.</ref>
* nei linguaggi fortemente [[programmazione orientata agli oggetti|orientati agli oggetti]] (es. [[Java (linguaggio di programmazione)|Java]]) le funzioni sono disponibili sotto forma di "[[metodo (informatica)|metodi]]";<ref>
{{cita web
* nei [[IEC 61131-3|linguaggi per l'automazione industriale]] le funzioni sono disponibili anche sotto forma di "[[Function block diagram|blocchi funzionali]]".
|url = https://www.w3schools.com/java/java_methods.asp
|titolo = Java Methods
|accesso = 2024-03-25
|lingua = en
}}
</ref><ref>
{{cita web
|url = https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html
|titolo = Defining Methods
|accesso = 2024-03-25
|lingua = en
}}
</ref>
* nei [[IEC 61131-3|linguaggi per l'automazione industriale]] le funzioni sono disponibili anche sotto forma di "[[Function block diagram|blocchi funzionali]]".<ref>{{Cita|Basile, Chiacchio 2004|cap. 2.3}}.</ref>
 
Alcuni linguaggi tendono ad utilizzare terminologie diverse:
Riga 110 ⟶ 124:
 
Il meccanismo di implementazione delle funzioni, insieme all'aritmetica dei puntatori nel [[linguaggio C]], viene sfruttato per costruire attacchi di tipo ''[[stack overflow]]'' o ''[[buffer overflow]]'', che permettono di prendere il controllo di un programma in esecuzione fornendogli dati accuratamente artefatti.
 
== Note ==
<references />
 
== Bibliografia ==
* {{cita libro
|autore = [[Brian W. Kernighan]]
|autore2 = [[Dennis M. Ritchie]]
|traduttore = Valerio Marra
|titolo = Il linguaggio C
|edizione = 2
|editore = Pearson
|anno = 2007
|ISBN = 978-88-7192-200-3
|cid = K&R 2007
}}
* {{cita libro
|titolo = Tecnologie informatiche per l'automazione
|autore = Francesco Basile
|autore2 = Pasquale Chiacchio
|edizione = 2
|editore = McGraw-Hill
|città = Milano
|anno = 2004
|ISBN = 88-386-6147-2
|cid = Basile, Chiacchio 2004
}}
 
== Voci correlate ==