Listas de correo sobre Forth + QL

Subforo oficial del Sinclair QL: realiza aquí las consultas relativas a tu QL.

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
programandala.net
Manic Miner
Mensajes: 210
Registrado: Mié Ago 04, 2010 9:20 pm
Ubicación: España
Contactar:

Listas de correo sobre Forth + QL

Mensaje por programandala.net » Mar Nov 03, 2015 12:06 am

Se acaba de crear una lista de correo en español sobre el lenguaje de programación Forth:

Forth ES

También hay una lista nueva, en inglés, sobre Forth en máquinas de Sinclair (incluido el QL) y otras basadas en Z80:

Forth on Sinclair (and Z80) computers

Cualquier persona interesada en Forth es bienvenida.

En su día escribimos programas en Forth para QL Salvador Merino, José Carlos de Prada y yo. No recuerdo a alguien más.
Marcos Cruz (programandala.net)

afx
Sabreman
Mensajes: 396
Registrado: Dom Feb 24, 2008 10:56 pm

Re: Listas de correo sobre Forth + QL

Mensaje por afx » Jue Nov 05, 2015 7:41 pm

programandala.net escribió:Se acaba de crear una lista de correo en español sobre el lenguaje de programación Forth:
Hummmm ....

Desconozco totalmente el lenguaje Forth, pero me pica la curiosidad. ¿Hay alguna guía rápida a modo de introducción que contengan ejemplos simples que puedas recomendarnos? (si esa guía está en el "contexto" Sinclair QL ... pues mejor :-) ).

Avatar de Usuario
programandala.net
Manic Miner
Mensajes: 210
Registrado: Mié Ago 04, 2010 9:20 pm
Ubicación: España
Contactar:

Re: Listas de correo sobre Forth + QL

Mensaje por programandala.net » Jue Nov 05, 2015 9:01 pm

afx escribió:Desconozco totalmente el lenguaje Forth, pero me pica la curiosidad. ¿Hay alguna guía rápida a modo de introducción que contengan ejemplos simples que puedas recomendarnos? (si esa guía está en el "contexto" Sinclair QL ... pues mejor :-) ).
El libro de Javier Gil Chica, Introducción a Forth.

Starting Forth, de Leo Brodie, es un clásico para aprender, y muy entretenido, está escrito con mucho humor. Pero ciertas técnicas que muestra son específicas de cierto tipo de sistemas Forth de la época y para funcionar en sistemas Forth modernos requerirán algún pequeño cambio. En los Forth de QL, que son Forth-83, no habrá problema.

Forth Programmer's Handbook es un manual excelente, para aprender y como referencia. Sigue el estándar ANS Forth (=Forth-94), el más común actualmente.

Una visión más general de Forth, y con técnicas y enseñanzas que son aplicables a cualquier lenguaje de programación, es Thinking Forth, también de Leo Brodie. Muy recomendable.

Esos cuatro libros se pueden obtener gratuitamente en la red. En esta página tienes los enlaces:

Libros sobre Forth

Por último, el documento final de la versión más actualizada de Forth estándar, Forth-2012, también es muy interesante, aunque no es para aprender sino como referencia.

Lo único específico de QL que conozco es el manual de SuperForth, bastante bueno (o el de Computer One Forth). Pero para empezar a aprender y practicar un poco es más cómodo usar un sistema Forth más moderno, para Linux o Windows. Por ejemplo Gforth o Win32Forth.

En cualquiera de las dos listas de correo podrás consultar dudas.
Marcos Cruz (programandala.net)

afx
Sabreman
Mensajes: 396
Registrado: Dom Feb 24, 2008 10:56 pm

Re: Listas de correo sobre Forth + QL

Mensaje por afx » Vie Nov 06, 2015 7:11 pm

¡Gracias por la respuesta!

En el enlace a los libros de Forth que pones, he visto que Mi Computer tiene un curso de introducción. Empezaré a leer por ahí ... :D

Avatar de Usuario
programandala.net
Manic Miner
Mensajes: 210
Registrado: Mié Ago 04, 2010 9:20 pm
Ubicación: España
Contactar:

Re: Listas de correo sobre Forth + QL

Mensaje por programandala.net » Vie Nov 06, 2015 7:53 pm

afx escribió:En el enlace a los libros de Forth que pones, he visto que Mi Computer tiene un curso de introducción. Empezaré a leer por ahí ... :D
En su día coleccioné los fascículos de los diez tomos de Mi computer, es una joya.

Ese curso de Forth no es malo para hacerse una primera idea, teniendo en cuenta cuándo fue escrito. Pero sus ejemplos de código tienen erratas. Esto era algo muy común en libros y revistas (y aún ocurre): Cuando los redactores maquetaban código en Forth sin saber nada de Forth ¡quitaban los espacios y juntaban las palabras según les parecía! El espacio es el único signo especial en Forth, sirve para separar las palabras, no se puede quitar. Por ejemplo, cuando veían un punto suelto o un signo de dos puntos, que son palabras de Forth, los juntaban con la palabra anterior o con la siguiente, creyendo que eran signos de puntuación o que formaban parte de otra palabra...

Creo que los cursos que publicaron en las revistas ZX y Microhobby (que aún no están en esa lista) tenían el mismo problema.

Te recomiendo no olvidar Introducción a Forth, que está disponible gratuitamente en PDF en la página de su autor.
Marcos Cruz (programandala.net)

afx
Sabreman
Mensajes: 396
Registrado: Dom Feb 24, 2008 10:56 pm

Re: Listas de correo sobre Forth + QL

Mensaje por afx » Sab Nov 07, 2015 2:05 pm

programandala.net escribió:Te recomiendo no olvidar Introducción a Forth, ...
¡Descargado! ... ya tengo lectura para rato. :D

De entrada el primer párrafo ya me llamó la atención:

"... Un lenguaje de nicho, limitado en la práctica a programación de microcontroladores, pero a la vez el precursor de la programación estructurada, de la programación orientada a objetos, de las implementaciones de máquina virtual. Un lenguaje que encarna una filosofía radicalmente distinta, que se aparta de los caminos trillados, de las tendencias actuales que conducen a muchos lenguajes a ser meros bastidores en los que apoyar librerías pesadas y complejas...".

Avatar de Usuario
programandala.net
Manic Miner
Mensajes: 210
Registrado: Mié Ago 04, 2010 9:20 pm
Ubicación: España
Contactar:

Re: Listas de correo sobre Forth + QL

Mensaje por programandala.net » Sab Nov 07, 2015 2:53 pm

afx escribió: "... Un lenguaje de nicho, limitado en la práctica a programación de microcontroladores,
Yo no estoy de acuerdo con esa opinión del autor. Siempre me extrañó esa afirmación suya. Quizá opina que en aplicaciones comerciales y profesionales es en ese terreno donde se usa más. Es cierto que algunas de las excepcionales caracterísiticas del lenguaje se adaptan muy bien a esos entornos. Pero su uso en todo tipo de equipos y sistemas operativos no tiene limitaciones. Se usa para todo.
afx escribió: "... pero a la vez el precursor de la programación estructurada, de la programación orientada a objetos, de las implementaciones de máquina virtual. Un lenguaje que encarna una filosofía radicalmente distinta, que se aparta de los caminos trillados, de las tendencias actuales que conducen a muchos lenguajes a ser meros bastidores en los que apoyar librerías pesadas y complejas...".
Ahí el autor sí da en el clavo. Si comparas cualquier par de lenguajes de programación populares, ves que, salvo excepción, en el fondo son lo mismo. Cambia la sintaxis y poco más. Detrás de todos ellos hay un programa complejísimo que se encarga de traducir esa complejísima sintaxis a otra cosa complejísima...

Forth no tiene nada que ver con todo eso. El modo tan sencillo en el que funciona internamente es lo que lo hace tan potente y lo que le da la capacidad de reescribirse a sí mismo sobre la marcha, sin límite.

Hay una cita muy interesante en el manual de Gforth que ilustra muy bien lo que digo. Se refiere a un ejemplo de cómo crear una estructura de datos que sea un campo dentro de otra estructura de datos.
This feature is also known as extended records. It is the main innovation in the Oberon language; in other words, adding this feature to Modula-2 led Wirth to create a new language, write a new compiler etc. Adding this feature to Forth just required a few lines of code.
Es literalmente cierto. En un par de líneas de código puedes implementar una nueva estructura de control, por ejemplo. Y no será un parche añadido al lenguaje, sino que formará parte de él exactamente igual que las estructuras de control originales. Es como si en SuperBASIC pudieras escribir, sobre la marcha, dentro de un programa, un nuevo tipo de bucle FOR específico para un algoritmo, y usarlo a continuación en el mismo programa...
Marcos Cruz (programandala.net)

Responder

¿Quién está conectado?

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