Talk:Manual memory management

Bias?
There is no information about techniques for manual memory management like memory arenas, scratch buffers ... This page basically strawmans by having two sides a) malloc/free, which is pain to dealt with in C and b) RAII/GC. — Preceding unsigned comment added by 2A00:1028:8380:99E6:7806:B6CE:A3EF:78D (talk) 19:53, 29 June 2021 (UTC)

Date in first section
I wonder where this date comes from? Quote: "As of February 2006, however, languages with garbage collection are becoming increasingly popular;" 83.233.56.62 20:21, 20 March 2007 (UTC)

Ambiguous wording in 1st section
The following

Up until the mid 1990s, the majority of programming languages used in industry supported manual memory management. Today, however, languages with garbage collection are becoming increasingly popular; the main manually-managed languages still in widespread use today are C and C++.

seems to hint that GC and manual-memory management (MM) can't coexist in the same language.

That's untrue. Languages like Ada and Modula3 support MM in "unsafe" modules. Manually-managed memory(or GCed one, depending on which is the default) is allocated in a separated heap and is handled with proper primitves (e.g. malloc&co). Broadly speaking, any language can have such low-level api. Most if not any of CommonLisp implementation provide the so-called "alien/foreign types" primitives ,see CFFI CFFI, "CFFI in SBCL" "SBCL Manual" and [http://www.franz.com/support/tutorials/foreign-types-tutorial.htm "Franz Inc." "Franz's Allegro CL FFI" ] --151.47.208.114 (talk) 21:41, 12 July 2009 (UTC)

System scarce resources and gratuitous reference to RAII
IMO the opportunity to ensure the disposal of system resources at object deallocation time can be beneficial independently from resources' scarcity, I'd remove the adjective "scarce".

I would not make any reference to RAII as well, for the following reasons:

- the feature being exploited is the possibility of defining destructors/finalizers, which is orthogonal to RAII, that is based on stack-allocation semantics instead.

- RAII implies to acquire resources at construction time. Finalisation is more general, it just ties the life-time of a resource-handle to the current owning object.

- RAII is a C++ term unused in other languages which still implement this or pretty similar techniques

--151.47.208.114 (talk) 21:41, 12 July 2009 (UTC)