Sí tienes razón. Pero la base de la pila es solo una parte de toda la historia. Por ejemplo, el intérprete de código de bytes de Java también se basa en la pila (el código compilado funciona, por razones de eficiencia, de manera diferente). Esto nos dice que cualquier idioma puede transformarse en un idioma de pila.
Lo que importa son los objetos fuera de la pila, aquellos que pueden sobrevivir a la ejecución del método actual. Mientras el lenguaje no tenga nada parecido a malloc
o new
, no hay tales objetos y no necesita delete
ni GC.
Un lenguaje que carece de asignación dinámica de memoria es bastante limitado en su utilidad.