El proyecto Scriptool, sucesor de Openjdk 7
En primer lugar, un hecho jurídico importante: el "uso legítimo"
Las interfaces de Java 7 son "limpias", es decir, no utilizan una implementación en su definición. Esto garantiza que el uso de las API de Java 7 cumpla con la regla de "uso justo".
Dependencias de origen para el desarrollo de proyectos
Una primera regla que aprendí con Java y los lenguajes contemporáneos es que usar bibliotecas de código de bytes para las dependencias de un proyecto fuente es un error.
A largo plazo, puede terminar con una biblioteca para la que no tiene las fuentes y, por lo tanto, no puede compilar en otra versión de los estándares ejecutables.
Esto significa que cuando un proyecto de código fuente depende de otra biblioteca desarrollada en Scriptool, esa biblioteca debe importarse en forma de código fuente para compilar el proyecto.
Por lo tanto, si la biblioteca no está disponible en formato fuente, no podrá utilizarla.
Si desea publicar una biblioteca reutilizable, deberá publicar su código fuente.
Lenguaje de scripting como Python
El lenguaje Scriptool debería permitirle escribir un programa y ejecutarlo inmediatamente sin necesidad de configurar un proyecto o tener que compilarlo antes de poder ejecutarlo.
Abres un archivo de texto; Escribes el programa en tu editor de texto. Guardas el archivo y, si no contiene ningún error, simplemente se ejecuta escribiendo el nombre del archivo en un terminal.
A esto se le llama scripting.
API (interfaz de programación de aplicaciones) limpias
Los scripts son algo bueno para poder escribir y ejecutar un pequeño programa rápidamente. Pero cuando desarrollas un programa que contiene varios miles de instrucciones o más de cien clases, le tiene que organizarse con una estructura de proyecto.
El lenguaje Scriptool integra el proyecto en el propio script como un archivo binario que se puede descomprimir para desarrollar y compilar el proyecto.
El proyecto debe contener un sistema de compilación que debe dar lugar a la instalación del proyecto ejecutable para futuros usos del script.
Así, un script se compone de tres partes:
1) la clase de script tal como se presenta en el párrafo anterior.
2) un archivo json que contiene campos para elegir el idioma, la versión, Scriptool y otros datos útiles.
3) un archivo binario descomprimible que contiene todo el árbol del proyecto.
Esta tercera parte merece una explicación: este proyecto no solo necesita colocar las bibliotecas compiladas cuando lo instala para que puedan ser invocadas desde la clase de script en el punto 1, sino que también necesita publicar un conjunto de interfaces que serán las únicas partes de la biblioteca del proyecto visibles desde los programas que usan ese script.
Por lo tanto, para utilizar una biblioteca desarrollada en Scriptool, la lista de nombres de interfaz calificados (los nombres de sus paquetes y sus nombres) se completará en el archivo json definido en el punto 2.
De esta manera, haremos una encapsulación de las clases del proyecto para que ninguna de esas clases aparezca fuera de ese proyecto.
En resumen, una API de Scriptool consistará únicamente de la clase de script en el código fuente y todas las interfaces (tal y como se definen en Java 7) que esta clase puede poner a disposición directa o indirectamente de sus llamadores.
Publicación bajo GPL v2
Openjdk 7 se publica bajo una licencia libre que incluye una licencia Oracle y una licencia GPLv2 de este código.
Para las partes de código heredadas de Openjdk 7, se debe respetar la GPLv2. Por lo tanto, el proyecto estará bajo GPLv2 (al igual que el núcleo de Linux).
Hay, dispersas en todo el código Java de Openjdk 7, ciertas partes que (por ejemplo, proporcionadas por IBM) tienen licencia exclusiva para Openjdk 7 y están autorizadas por su proveedor solo para Openjdk 7. Por lo tanto, será necesario planificar una implementación de estas clases sin utilizar código cuya licencia no permita la libre evolución.
De esta manera, Scriptool podrá mantener la compatibilidad con versiones anteriores de Openjdk 7.
Originalidad de Scriptool
Scriptool no es un modismo de Java. Scriptool es un lenguaje de programación innovador que tiene sus propias reglas y especificidades que lo convierten en un lenguaje original.
Para ello, Scriptool se basa en un alfabeto de codificación específico. Este alfabeto tiene solo 64 caracteres. Hay 32 caracteres para las letras y 32 caracteres para los símbolos en el lenguaje de programación.
Esta codificación de código fuente está disponible en 3 versiones:
Marscii-16,
Marscii-32 y
Marscii-64.
¿De dónde viene el nombre Marscii?
La creación de Marscii proviene de una película de ciencia ficción llamada "Marte". En esta película, el héroe (Matt Damon) se encuentra abandonado solo en el planeta Marte y debe sobrevivir por su cuenta. Para comunicarse con la Tierra, tiene un ancho de banda reducido (el ancho del canal de comunicación). Entonces tuvo la idea de usar código Ascii para solucionar este problema.
Es obvio que en el dominio espacial, el ancho de banda es un problema crítico para cualquier comunicación.
Al ver esto, inmediatamente se me ocurrió la idea de Marscii-16: usar 16 símbolos para transmitir mensajes de texto en inglés. Llamé a este lenguaje Xalphabet, por alfabeto hexadecimal.
Los símbolos en Marscii-16 son los diez dígitos decimales (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) y las seis letras a, b, c, d, e y f.
Existen reglas estrictas sobre cómo convertir texto escrito solo con las 26 letras del alfabeto inglés para crear un texto sin espacios ni signos de puntuación.
Por lo tanto, la elección del código "Marscii" me pareció fácil interpolando Marte y Ascii.
Webmiel
Christophe Roux
Développeur Logiciel
Copyright ©. Tous droits réservés.
Nous avons besoin de votre consentement pour charger les traductions
Nous utilisons un service tiers pour traduire le contenu du site web qui peut collecter des données sur votre activité. Veuillez consulter les détails dans la politique de confidentialité et accepter le service pour voir les traductions.