Diferencias entre versiones de BASIC

Programando el Amstrad en BASIC, C, etc.
Avatar de Usuario
sudoku
Megaforero
Megaforero
Mensajes: 292
Registrado: Sab 23 Jul , 2016 4:49 pm

Diferencias entre versiones de BASIC

Mensajepor sudoku » Vie 16 Jul , 2021 6:58 pm

Hola tengo un par de preguntas:

1) Me gustan mucho los libros de BASIC pero siempre he coleccionado los que eran referentes al BASIC de Amstrad, porque siempre he tenido entendido que eran diferentes a otros BASIC. Por ejemplo cuando era pequeño me dejaron un manual de 6128 y me puse a copiar el esgrima eléctrico y esos juegos del apéndice en un 464 y no funcionaban, porque alguna diferencia había entre el 1.0 y el 1.1 que no permitía que funcionasen.

El caso es que estaba ahora viendo un libro de BASIC de spectrum y a simple vista tampoco parecía tan diferente con respecto al de Amstrad... ¿En qué se diferencian realmente? ¿En alguna orden en concreto? ¿Y por qué no eran todos los BASICs iguales? Es decir si es un lenguaje de programación y además pretendía ser simple, ¿por qué no era igual para todos, aunque luego cada ordenador tuviera sus peculiaridades de memoria y tal? (No soy informático así que perdón si pregunto obviedades).


2) Hay una cosa que nunca entiendo... ¿Cómo se hacían los juegos de Amstrad en los años 80? Durante años pensaba que era programando en BASIC, pero luego resulta que en BASIC realmente no se hacían los juegos comerciales, sino que se hacían en C puede ser?... entonces es como el huevo y la gallina, no lo entiendo... para crear un juego para Amstrad, había que tener otro ordenador más potente y con un lenguaje mucho más complejo.... ¿pero entonces cómo se hacían los juegos para ese ordenador? No se si me explico... Es que no entiendo cómo programando en un lenguaje, obtienes un juego para un ordenador que funciona en otro lenguaje de programación... (supongo que es pasando por código máquina, pero ¿por qué era necesario hacerlo en otro ordenador entonces?, y si ya existía C o un lenguaje mucho más potente que el BASIC, y máquinas accesibles mejores que los microordenadores, para qué se crean éstos?). En fin, que me he leído los típicos libros de videojuegos de los 80 y oigo campanas pero no sé dónde. A ver si alguien me aclara.

Avatar de Usuario
NotFound
Me voy lanzando
Me voy lanzando
Mensajes: 36
Registrado: Mié 17 Ene , 2007 4:31 pm

Re: Diferencias entre versiones de BASIC

Mensajepor NotFound » Vie 16 Jul , 2021 9:27 pm

Bufff... muchas y complicadas preguntas :compress:

Ante todo: ¿por qué se crearon los microordenadores si había máquinas mas potentes? Esa es fácil: por la pasta. Los ordenadores eran muy caros, las disqueteras a veces mas, los discos duros mucho mas. Y los microordenadores para uso de oficina también eran caros, por eso aparecieron los "home computers".

¿Para crear un juego para Amstrad había que usar otra máquina mas potente? No necesariamente, pero eso facilitaba el trabajo: disqueteras mas rápidas, discos duros, editores de texto y de gráficos mas potentes. Lo mismo que ahora puedes programar directamente en una máquina de 8 bits, o usar emuladores y herramientas de desarrollo cruzado en máquinas mas potentes. La diferencia es que ahora los que usan la máquina nativa es casi siempre por gusto, y de aquellas era por no tener acceso a otra forma.

¿Juegos comerciales en C? Mas bien no. Para sacar todo el partido a las máquinas de 8 bits había (y hay) que usar ensamblador, y tampoco es que abundara la gente que dominara el C y no tuviera ya trabajo en otras cosas. Además la optimización de C y otros lenguajes similares tampoco era tan avanzada como hora.

El por qué de que haya tanta variación en los Basic... pues supongo que principalmente porque no era una prioridad para nadie la compatibilidad mas allá de unas pocas cosas básicas, y en cambio era una prioridad tener algo termiando rápidamente, y que fuera rápido, y que no usara mucha memoria... Además la mayoría de los fabricantes preferían desarrollar su propio Basic en vez de pagar licencia para uno ya existente (normalmente el de Microsoft), y si de todos modos no iba a ser 100% compatible, daba igual un poco mas o menos.

Y el por qué no se hacía todo en Basic en máquinas que llevan Basic nativo: esa es fácil: por velocidad. Los Basic interpretados son muuuuy lentos. Y los compilados, por una parte tampoco es que fueran muy muy rápidos, y por la otra puestos a no usar el Basic nativo, ya no es ninguna ventaja que sea en Basic.

Y como se obtiene un programa que funcione en otra máquina distinta: de la misma forma que se obtiene uno para la propia máquina: lo hace el compilador o ensamblador, creando el código máquina adecuado. No hay gran diferencia entre generar el código adecuado para la máquina en la que está corriendo o para otra distinta.

Bueno, espero que esto te aclare un poco las dudas.
Salu2

Avatar de Usuario
sudoku
Megaforero
Megaforero
Mensajes: 292
Registrado: Sab 23 Jul , 2016 4:49 pm

Re: Diferencias entre versiones de BASIC

Mensajepor sudoku » Vie 16 Jul , 2021 11:14 pm

Gracias! Me parece todo muy interesante.


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic