A ver ICEM4N entiendo lo que quieres decir es cierto, pero, si tomamos el concepto de Array
real es conjunto finitos de datos, al igual que las listas aunque esta pudieran parecer infinitas, igual tienen un fin (memoria), la diferencia radical entre ellos es que las listas pueden crecer en la ejecucion del programa(datos dinamicos), los arrays de por sí son datos estáticos, el espacio en memoria para estos ya es reservado de una vez al compilado el programa(siempre estará disponible), no es que MM lo haya interpretado mal el uso de arrays por agregarle lo metodos de push y pop, sino que una vez más nos permitio apoyarnos de MAÑAS para hacernos de alguna manera (muy traicionera a veces) la vida más fácil. Pero un arreglo como tal tiene una longitud
El ejemplo que pones de insertar un 4 elemento, no, no es así, te explico una manera MUY sencilla como se trabajan con listas.
Estructura basica de lista
dato: de un tipo de dato cualquiera
siguiente: un puntero, direccion de memoria de donde esta el proximo dato
VariabledeLista ->Dato1, puntero1-> Dato2,puntero2 ->Dato3, puntero3->Null
Cuando haces un
push lo que hace, es buscar un nuevo espacio en memoria para Dato4(los otros punteros quedan igual), almacenas esa direccion en el puntero del ultimo dato(puntero3) y el puntero de Dato4 será ahora quien apuntará a null, entonces quedaría así:
VariabledeLista ->Dato1, puntero1-> Dato2,puntero2 ->Dato3, puntero3->Dato4, puntero4-> Null
y el
pop lo que hace es liberar en memoria del ultimo dato en este caso Dato4 y actualizar el puntero3 hacia Null. (lo hace automaticamente, en este caso el player, en lenguajes como c/c++, pascal, etc., lo tiene que hacer el programador)
Que Dano se apoyo de esa MAÑA es otra cosa, en actionscript 3 creo que no se puede apoyar de ello. Ahora no te creas que saber la longitud de una lista es un algoritmo muy dificil, en realidad es muy fácil saberlo, ni para extraer un dato, son funciones muy conocidas
Te aseguro que si MM separa estos conceptos, usariamos listas en vez de arreglo y tendriamos que determinar la longitud nosotros con una funcion básica.
Por cierto, lo que dices del for y wanaya es cierto y es porque dentro del for podriamos aumentar o disminuir el tamaño del arreglo y debemos cuidarnos de eso... de cualquier manera Dano no lo hizo asi, él itera con el for con la longitud del array antes de entrar al for y esa longitud no la cambia
saludos