Hola gente.
Estoy metido en algunos asuntos de la Teoría de la Computación relacionados con las Máquinas de Turing.
La Máquina de Turing es una computadora teórica, que dispone de una memoria RAM ilimitada, digamos.
Obviamente nuestras PCs no disponen de RAM ilimitada.
Sin embargo, cada sistema operativo o entorno de ejecución podría estar programado adecuadamente para capturar tanta memoria RAM como haya en el hardware, y usarla sin ningún tipo de inconvenientes ni contratiempos.
El DOS antiguamente estaba mal diseñado y no permitía aprovechar más que 64K de memoria.
Me han dicho que el Windows XP adolece del mismo problema (no aprovecha más de 2GB).
Si yo uso la Máquina Virtual JAVA por ejemplo, ¿puedo suponer que tengo al menos en teoría tanta memoria RAM como haga me haga falta, o sea, ilimitada?
En otras palabras ¿Puedo considerar que la Máquina Virtual Java, o de la Microsoft o alguna otra, se comportan como una máquina de Turing, con memoria ilimitada?
¿Y Python: funciona ese entorno de programación como si tuviera memoria ilimitada? Por ejemplo, ¿me permite Python definir una lista con tantos elementos como a mí se me ocurra, o hay alguna limitación en la arquitectura del lenguaje que no permite trabajar con más allá de unos cuantos TeraBytes?