Open Programming Language ( OPL ) es un lenguaje de programación para sistemas integrados y dispositivos móviles que ejecutan los sistemas operativos EPOC y Symbian . Fue lanzado por la empresa británica Psion en 1984.
OPL fue diseñado originalmente para su uso en sus PDA clásicos Psion , como la Serie 3 , 5/5mx , Serie 7 , netBook –netPad y el MC218 producido por Psion. Se proporcionó como parte de la suite de aplicaciones estándar. También se puede instalar en los teléfonos móviles y asistentes digitales personales (PDA) de las series Nokia 9200, 9300 y 9500 Communicator y en las series Sony Ericsson P800 , P900 y P910 . OPL también se incluye en los dispositivos portátiles industriales Psion Teklogix, como el Workabout mx, y también apareció en el organizador Oregon 'Osaris' menos conocido, un dispositivo EPOC32 ampliamente compatible que usaba exclusivamente la versión 4 del sistema operativo. OPL es un lenguaje interpretado similar a BASIC . También se ha desarrollado un lenguaje OVAL totalmente compatible con Visual Basic .
El lenguaje se llamó originalmente Organiser Programming Language , desarrollado por Psion Ltd para Psion Organiser . Diseñado por Colly Myers con la primera iteración implementada por Richard Harrison y Martin Stamp. La primera implementación (sin gráficos) fue para el Psion Organiser original (ahora conocido como Psion Organiser I, 1984), y venía incluido en los paquetes de datos Science, Finance y Math . Se volvió verdaderamente accesible como software integrado en Psion Organiser II (1986), y el lenguaje pasó a usarse en Psion Series 3 y posteriores. Después de que Psion se retirara del mercado de asistentes digitales personales , un proyecto que apuntaba a llevar OPL a Symbian se hizo realidad, cuando el incipiente Symbian Developer Program lo lanzó como software de código abierto . El lenguaje ahora está disponible en SourceForge en un proyecto llamado opl-dev .
El lenguaje no está disponible actualmente para Symbian OS v8 y versiones posteriores. Con el retiro posterior de Symbian OS, parece poco probable que OPL esté disponible para generaciones posteriores de dispositivos Symbian. A partir de 2010, se animó a los desarrolladores de dispositivos Nokia a utilizar Python para S60 en su lugar (consulte Python para S60 ). [ cita requerida ]
Aquí está la versión de consola de un programa "¡Hola, mundo!" :
PROC principal: IMPRIMIR "¡Hola mundo!" PAUSA 40ENDP
(Código fuente tomado de PCDevPrimer en OPL Wiki).
Y aquí hay una versión GUI para la interfaz de usuario de la Serie 80 de Nokia:
CONST KKeyEnter%=13PROC hola: dINIT "Hola" dTEXT "", "¡Hola mundo!" dBOTONES "OK",TeclaKEnter% DIÁLOGOENDP
OPL es un lenguaje de programación estructurado . Los programas OPL contienen PROCEDIMIENTOS, que son muy similares a las funciones ( subrutinas ) de otros lenguajes de programación.
Un ejemplo:
PROC test: dINIT "Tu desafío" dTEXT "" , "¿Tu respuesta a esta pregunta será no?" dBUTTONS "Sí" , % y , "No" , % n IF DIALOG =% y PRINT "¡No, no lo fue!" ELSE PRINT "¡Sí, lo fue!" ENDIF GET ENDP
En este cruel programa interrogativo, al botón Sí se le asigna el atajo de Ctrl+y, mientras que al botón No se le asigna el atajo de Ctrl+n, representados por %y y %n respectivamente. La entrada del usuario desde el DIALOG se prueba en la declaración IF, imprimiendo las respuestas apropiadas en la pantalla. Tenga en cuenta que la palabra clave 'GET', que obtiene la entrada del usuario sin utilizar un cuadro de diálogo, se utiliza aquí simplemente para esperar a que se presione una tecla antes de finalizar el programa (de lo contrario, finalizaría inmediatamente sin darle tiempo al usuario a leer el texto). La salida de DIALOG también se puede almacenar en una variable.
Las variables específicas de un procedimiento deben declararse con la palabra clave LOCAL; las variables globales se definen con la palabra clave GLOBAL.
La siguiente tabla utiliza una variable de ejemplo denominada var
.
OPL interactuó con las características avanzadas de Psion Series 3 por medio de llamadas del sistema operativo , pero en el posterior Psion Series 5mx esto se cambió a una denominada OPX
biblioteca , almacenada en la memoria de solo lectura del sistema (ROM), denominada unidad Z. Las bibliotecas 'OPX' también se pusieron a disposición de los comunicadores Nokia 9210 , Nokia 9300 y Nokia 9500 , agregando rutinas OPX para manejar el Servicio de mensajes cortos ( SMS ) y administrar la comunicación Bluetooth .
Otras características de OPL incluyen aquellas que comienzan con una letra: g
para funciones gráficas, m
para menús y d
para diálogos.