idea: versión «intérprete» de QPC2

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:

idea: versión «intérprete» de QPC2

Mensaje por programandala.net » Mié Nov 30, 2011 2:13 pm

He enviado a la lista QL-Users y a The Sinclair QL Forum
una reflexión sobre la utilidad de SBASIC y una idea para QPC2:

Se trata de una versión de QPC2 que funcionaría como si fuera un intérprete de SBASIC, no como un emulador de un sistema operativo. En la práctica su funcionamiento sería el mismo, salvo que podría arrancar programas en SBASIC directamente, por ejemplo:

Código: Seleccionar todo

QPC2.EXE \ruta\mi_programa.bas
QPC2.EXE \ruta\mi_programa_bas
QPC2.EXE \ruta\mi_programa.win


QPC2 se encargaría de montar las unidades WIN_ o DOS_ en cada caso y de arrancar el fichero boot del fichero win.

El objetivo es que SBASIC, que tiene potencia para escribir programas modernos, pueda servir para algo en la práctica... La limitación de la versión demo de QPC2 es un grave inconveniente para ciertos programas. Y en cualquier caso QPC2 (como cualquier emulador) es difícil de usar y configurar para quien no haya oído nunca hablar de QL. Esta versión «intérprete» estaría limitada para impedir su uso como herramienta de desarrollo.

En el enlace lo cuento con más detalles, pero la idea básica es esa.
Marcos Cruz (programandala.net)

speccy
Sabreman
Mensajes: 353
Registrado: Jue Sep 06, 2007 4:20 pm

Re: idea: versión «intérprete» de QPC2

Mensaje por speccy » Mié Nov 30, 2011 4:51 pm

Recuerdo que cuando usaba el QL a diario, sobre todo con el Xchange, tenía montado un disco que arrancaba y me pedia la fecha del dia para el reloj, y además me redirigía las unidades y los puertos de impresora para lo que yo prefería. ¿Tan dificil es hacer eso desde el emulador cuando arranca? Lo pregunto desde la mas absoluta ignorancia, dado que nunca lo he usado.

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

Re: idea: versión «intérprete» de QPC2

Mensaje por programandala.net » Jue Dic 01, 2011 2:23 pm

speccy escribió:Recuerdo que cuando usaba el QL a diario, sobre todo con el Xchange, tenía montado un disco que arrancaba y me pedia la fecha del dia para el reloj, y además me redirigía las unidades y los puertos de impresora para lo que yo prefería. ¿Tan dificil es hacer eso desde el emulador cuando arranca?


Por supuesto que eso se puede hacer con el emulador. No hay ningún impedimento. Yo tengo mi QPC2 configurado para que arranque desde un fichero WIN (disco duro virtual), y me asocie los dispositivos DOS_ a mi gusto (que apuntan a directorios del sistema anfitrión, en mi caso Debian). El emulador al arrancar hace todo como si fuera una máquina real. Forma parte de su función.

Pero eso no es exactamente lo mismo que hacer que el emulador funcione como si fuera un mero intérprete de SBASIC, que es mi sugerencia para una versión alternativa.

Actualmente, alguien no sepa nada de QL y solo quiera ejecutar un programa en SBASIC tiene que instalar QPC2 (u otro) y configurarlo según el soporte en que esté el programa, por último tiene que «entrar» en el emulador y, para terminar, ejecutar el programa con comandos muy concretos y en un entorno que resulta extraño para quien no esté familiarizado con QL. Todo es normal... es lo que hay que hacer con cualquier emulador: instalarlo, configurarlo, ejecutarlo y por último usarlo «desde dentro» para arrancar el programa emulado...

Pero con un intérprete de un lenguaje no necesitas todos esos pasos: lo instalas y lanzas el programa con un comando o un clic.

Un versión de QPC2 que funcionara como un intérprete de SBASIC facilitaría mucho la difusión de programas en este lenguaje porque haría su ejecución muy fácil.

Por último, está el detalle que comentaba en el foro británico, que también es clave: la versión demo (gratuita) de QPC2 tiene la limitación de que no permite grabar o modificar ficheros. Por tanto es inconveniente para ciertos programas, como los juegos que necesitan guardar la posición entre partidas (aventuras, estrategia, tablero...). La triste consecuencia de todo esto es que actualmente la ejecución de programas en SBASIC está reservada a usuarios registrados de la versión comercial de QPC2... Lo cual impide la promoción de SBASIC y de la plataforma QL, a pesar de su potencial como entorno moderno con el sistema SMSQ/E. De hecho desincentiva escribir nuevos programas en SBASIC a pesar de su atractivo.

En mi opinión, en el fondo subyace un efecto indeseable más de los programas comerciales, especialmente en las comunidades tan pequeñas como la de QL: Dificultan las alternativas y crean un círculo cerrado. Creo que los programas libres, entre otras muchas ventajas, contribuyen mejor a la supervivencia y difusión de las plataformas minoritarias.
Marcos Cruz (programandala.net)

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

Re: idea: versión «intérprete» de QPC2

Mensaje por afx » Jue Dic 08, 2011 6:50 pm

Lo que sugieres ¿es algo parecido al formtato qlpack de Q-emuLator pero para QPC2?.

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

Re: idea: versión «intérprete» de QPC2

Mensaje por programandala.net » Jue Dic 08, 2011 9:40 pm

afx escribió:Lo que sugieres ¿es algo parecido al formtato qlpack de Q-emuLator pero para QPC2?.


No, no exactamente. Lo que sugiero es una versión de QPC2 que pueda ser usada como un intérprete de SBASIC, un ejecutable al que le pases como parámetro un fichero BAS o WIN y no necesite más.

Lo que hecho en falta es poderle decir a cualquiera: «Toma, este programa está en SBASIC. Tienes que lanzarlo en Windows con este ejecutable que lo interpreta (o usando Wine en Linux)». Punto. Esa es la única posibilidad de que alguien se anime a escribir nuevos programas en SBASIC, un lenguaje muy útil y eficaz para ciertos casos. Pero si, como ocurre ahora, para que alguien pueda usar un programa en SBASIC tiene que comprar QPC2 (la limitación de la versión gratuita hace inviable su uso serio en muchos casos) y además estar familiarizado con todas las peculiaridades del entorno QL... entonces no hay nada que hacer salvo esperar la extinción...

También planteo la posibilidad de que QPC2 y SMSQ/E sean liberados (SMSQ/E tiene las fuentes públicas, pero la distribución de los binarios no es libre). Por suerte el debate en la lista QL-Users se ha animado.

Marcel Kilgus no tiene tiempo para hacer una versión de QPC2 como la que sugiero, y aunque tiene una actualización de QPC2 en marcha, cree que no habrá más versiones pagadas... Esto es muy importante porque significa el fin de la vida comercial de QPC2 (si se puede llamar así, dado lo minoritario de sus usuarios).

Solo si SMSQ/E y QPC2 fueran totalmente libres el sistema QL tendría alguna posibilidad de sobrevivir.
Marcos Cruz (programandala.net)

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

Re: idea: versión «intérprete» de QPC2

Mensaje por afx » Vie Dic 09, 2011 12:08 am

¿La misma propuesta no se le podría plantear también a Daniele Terdina? Q-emuLator también es capaz de emular SMSQ/E y su SBASIC.

Sería genial lo que sugieres, y si además se puedieran tratar ciertos recursos del sistema anfitrión sería muy util. QPC2 no lo se, pero con Q-emuLator podríamos maneja el puerto COM, salida por impresora, el sistema de ficheros anfitrión, ....

Simpre he deseado tener un entorno al "estilo Python" pero con SuperBASIC como lenguaje (... bueno, un SBASIC y sin números de línea).

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

Re: idea: versión «intérprete» de QPC2

Mensaje por programandala.net » Vie Dic 09, 2011 1:13 pm

afx escribió:¿La misma propuesta no se le podría plantear también a Daniele Terdina? Q-emuLator también es capaz de emular SMSQ/E y su SBASIC. números de línea).


Sí, él lo ha comentado en la lista QL-Users a raíz de esto, pero el problema es la licencia de SMSQ/E, que obliga a que los binarios solo los puedan distribuir «distribuidores registrados», que deben pagar diez euros a Tony Tebby por cada copia... Es algo «medieval» que conduce al sistema operativo a la desaparición...

afx escribió: Sería genial lo que sugieres, y si además se puedieran tratar ciertos recursos del sistema anfitrión sería muy util. QPC2 no lo se, pero con Q-emuLator podríamos maneja el puerto COM, salida por impresora, el sistema de ficheros anfitrión, ....


Eso es. En QPC2 también se puede. SBASIC es un entorno de programación muy útil y potente. Y al poder interactuar con el sistema anfitrión sus posibilidades son tantas como las de cualquier otro lenguaje que funcione nativamente en Windows, GNU/Linux o MacOS...

afx escribió: Simpre he deseado tener un entorno al "estilo Python" pero con SuperBASIC como lenguaje (... bueno, un SBASIC y sin números de línea).


¡Esa es exactamente la idea!

Respecto a los números de línea... Tengo casi a punto una herramienta que permite trabajar en S*BASIC con el editor Vim, sin números de línea (con etiquetas en caso de necesidad) y con comentarios al estilo de C... Un atajo de teclado reconvierte todo en S*BASIC «estándar», listo para ser interpretado. En cuanto esté lo anunciaré aquí. Lo he hecho para Vim porque es mi entorno de trabajo (es un editor increíblemente potente y flexible), pero la misma sencilla idea puede hacerse en otros editores programables o en lenguajes de programación.

¿Estás en QL-Users? Te animo a entrar y a mandar algún mensajito, aunque solo sea una frase de apoyo a la idea. O al menos para estar al tanto.
Marcos Cruz (programandala.net)

Responder

¿Quién está conectado?

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