Qualcuno ha idea del perché l'area della memoria principale in cui sono allocati gli oggetti viene definita heap. Riesco a capire la logica di quella dello stack LIFO ma vorrei sapere quale sia la logica per il nome "heap".
Qualcuno ha idea del perché l'area della memoria principale in cui sono allocati gli oggetti viene definita heap. Riesco a capire la logica di quella dello stack LIFO ma vorrei sapere quale sia la logica per il nome "heap".
Risposte:
Dalle informazioni trovate su StackOverflow - Qual è l'origine del termine "heap" per il negozio gratuito? e perché due concetti diversi sono entrambi chiamati "heap"?
Questa informazione risale almeno a Knuth nel 1975 riferendosi ad altri autori (senza nome):
Numerosi autori iniziarono verso il 1975 a definire un "mucchio" di memoria disponibile. Ma nella presente serie di libri, useremo quella parola solo nel suo senso più tradizionale legato alle code prioritarie. (The Art of Computer Programming - Fundamental Algorithms, 3rd ed., P. 435)
Si parla anche della discussione di Wijngaarden su Algol nei primi anni '70, riferendosi al pool di memoria disponibile come un heap ( heap
è una parola riservata in Algol che è definita in alcuni punti come "allocare variabile dello spazio libero dall'heap globale". - Algol68 date dal 1968).
L'implementazione dell'heap ALGOL 68 dal 1970 può essere utile per rintracciare alcuni aspetti dell'origine delle parole, anche se molto se si trova dietro un paywall.