Pike es un lenguaje de programación interpretado , de propósito general , de alto nivel , multiplataforma y dinámico , con una sintaxis similar a la de C. A diferencia de muchos otros lenguajes dinámicos, Pike es de tipado estático y dinámico, y requiere definiciones de tipos explícitas. Cuenta con un sistema de tipos flexible que permite el desarrollo rápido y el código flexible de lenguajes de tipado dinámico, al tiempo que ofrece algunos de los beneficios de un lenguaje de tipado estático.
Pike cuenta con recolección de basura , tipos de datos avanzados y funciones anónimas de primera clase , con soporte para muchos paradigmas de programación , incluyendo programación orientada a objetos , funcional e imperativa . Pike es software libre , publicado bajo las licencias GPL , LGPL y MPL .
Pike tiene sus raíces en LPC , que era un lenguaje desarrollado para MUD . Los programadores de Lysator en Linköping , Suecia, en particular Fredrik Hübinette y Per Hedbor, [1] separaron el lenguaje y la máquina virtual del resto del controlador MUD, y lo usaron como un lenguaje de creación rápida de prototipos para varias aplicaciones, llamándolo LPC4.
La licencia de LPC no permitía su uso con fines comerciales, por lo que en 1994 se escribió una nueva implementación GPL, llamada μLPC (micro LPC).
En 1996, μLPC cambió su nombre a Pike para ofrecer un nombre comercialmente más viable. Aunque el nombre de la empresa ha cambiado con el paso de los años, la empresa ahora conocida como Roxen Internet Software empleó a muchos desarrolladores de Pike y proporcionó recursos para el desarrollo de Pike. Roxen es también el nombre de un servidor web desarrollado por la empresa en Pike. En 2002, el laboratorio de entornos de programación de la Universidad de Linköping se hizo cargo del mantenimiento de Pike de Roxen. Varios programadores de Pike han encontrado su camino hacia la oficina de Linköping de Opera Software , donde el lenguaje juega un papel central en las partes de servidor/puerta de enlace de la aplicación Opera Mini . [2] [3]
int main () { write ( "Hola! ¿Cómo te llamas? \n " ); string nombre = Stdio . stdin -> gets (); write ( "Encantado de conocerte, " + nombre + "! \n " ); return 0 ; }