Tecnología España , Salamanca, Martes, 16 de febrero de 2010 a las 17:40

Una empresa salmantina crea un modelo que simplifica la programación informática

Hoplite Software desarrolla un lenguaje propio que, a través de un 'intérprete', permite programar para distintas tecnologías

José Pichel Andrés/DICYT La empresa salmantina Hoplite Software ha logrado simplificar el proceso de programación informática a través de un proyecto que ha denominado OT1S y que se basa en desarrollar un lenguaje propio para traducirlo posteriormente a los lenguajes que utilizan las distintas tecnologías empleadas en el desarrollo de un programa o de una aplicación web. De esta manera, los programadores ganan en rapidez y disminuyen el número de pasos necesarios para realizar su trabajo.

 

"Para hacer un programa informático es necesario construir una serie de estructuras y reglas, los moldes sobre los cuales va a funcionar la aplicación", explica a DiCYT el portugués Nuno Simaria, uno de los socios de Hoplite. "Si trasladamos esto a un programa diseñado para una tienda virtual, por ejemplo, supone que es necesario saber cómo es un usuario, un producto o el carro de la compra", comenta. Para crear un programa hace falta tener ese modelo, pero construirlo es una labor compleja y, cuanto más complejo es el programa, más complejo es el modelo. "Al ser una empresa pequeña, queríamos hacer una arquitectura de software que nos ahorrara tiempo a la hora de construir un modelo cualquiera", apunta.

 

Desarrollar una aplicación web requiere trabajar con muchas tecnologías. Por una parte están las llamadas tecnologías de cliente, como HTML, Javascript o Flash. Por otra parte, están las tecnologías de servidor, como Java, .NET o PHP. "Normalmente, para construir un sitio web tenemos que juntar y hacer que se comuniquen tres o cuatro de estas tecnologías", apunta. El problema es que, aunque son interdependientes, no comparten el mismo lenguaje, de manera que "da bastante trabajo hacer que todas se entiendan", señala Nuno Simaria.

 

Sin embargo, aunque son tecnologías distintas, "el modelo que construimos para cada una de ellas acaba por ser muy similiar, es decir, si tengo usuarios en mi tienda virtual, debo tener una base de datos; en la programación del servidor, el modelo del usuario; y, en el cliente, en la propia web, el formulario de registro del usuario, que acaba siendo el mismo de la base de datos", explica. "El problema es que los lenguajes son distintos, por eso, la idea fue "olvidarse de los lenguajes que existen, para crear uno nuestro y traducirlo a los distintos lenguajes que ya existen".

 

Así surgió el proyecto OT1S, que se compone de varias partes. Por un lado, un nuevo lenguaje, denominado OT1S; por otro lado, "una máquina", el OT1S Interpreter, "que se ocupa de transformarlo en los elementos necesarios para las distintas tecnologías, como ficheros para PHP o plantillas HTML.

 

Un lenguaje casi humano

 

Una de las particularidades del lenguaje OT1S es que está basado en la lingüística, con sustantivos y adjetivos. Un sustantivo posible puede ser "usuario", que tiene distintos atributos (nombre, apellido, email, contraseña...). Un adjetivo puede ser "que se puede comprar". Así, se añaden acciones al producto. "El sustantivo y el adjetivo van aparte, pero los encajamos, no es un lenguaje humano, pero es una estructura sintáctica muy cercana", apunta.

 

Esto se escribe en lenguaje XML, una convención para la ordenación de la información, pero en un esquema de XML creado por Hoplite. "En esa definición nuestra y única, hemos creado un programa que interpreta esto y genera, siguiendo con el ejemplo anterior, el formulario necesario para que el usuario se registre, la tabla de base de datos donde guarda esa información, así como una serie de claves que necesita el servidor para poder trabajar con esa entidad. Así, hemos reducido el trabajo a una sola representación de esa entidad que vale para las distintas capas de la aplicación", indica el experto.

 

Aunque falta perfeccionar el lenguaje, la empresa salmantina ya es capaz de generar un programa en cualquier tecnología que el OT1S Interpreter conozca, que en un futuro se van a ir sumando. Por el momento, sólo lo están usando internamente para proyectos propios, pero ya están creando herramientas para desarrollar esta tecnología. "Queremos que esté disponible para otros desarrolladores, para ello es necesario dar una serie de herramientas que van a ayudar a programar", lo que se conoce en Informática como un IDE. "Uno de los proyectos es unir varias herramientas que ya usamos bajo un mismo programa para ofrecerlas a la comunidad.


Código libre


La idea es liberar este lenguaje como Open Source, que sea de código libre, para encontrar el apoyo de la comunidad on line. "En Europa no existen las patentes de software, de manera que no pueden registrar su producto, pero otros pueden aportar nuevos intérpretes, por ejemplo, para Java. Sin embargo, "nosotros, como creadores del lenguaje, podemos aportar herramientas específicas como el IDE para el desarrollo que aporten ventajas por las cuales sí vale la pena pagar", indica Nuno Simaria. De hecho, hay muchos casos de tecnologías abiertas y la calidad de las aplicaciones en las que se apoyan para poder desarrollarlas es lo que comercializan las empresas que las han creado.

 

Para desarrollar este proyecto, Hoplite Software ha contado con la financiación de ADE, la Agencia de Inversiones y Servicios de la Junta de Castilla y León a través de su programa de ayudas Aprende a Innovar, que está dirigido a pequeñas empresas que cuentan con poca o ninguna experiencia previa en proyectos de I+D+i y que tienen un carácter prioritario.