k | |
---|---|
clase de idioma | lenguaje de programación y lenguaje de programación vectorial [d] |
Apareció en | 1993 |
Autor | arturo whitney |
sido influenciado | APL , J. |
Sitio web | kx.com |
K es un lenguaje de programación optimizado para trabajar con matrices , modificadores de acción. Entre las características se encuentran la ausencia de ciclos, variables dependientes, la estructura del K-tree (K-tree).
Implementado para Windows , Solaris , Linux .
Diseñado originalmente por Arthur Whitney. Whitney dejó el grupo de desarrollo del lenguaje J desde el principio y pasó a desarrollar su propio lenguaje. Uno de los desacuerdos entre Whitney e Iverson fue la excesiva (en opinión de Whitney) complicación de J con los conceptos de rango, cuya idea planteó en su momento, presentando en 1982 en la conferencia APL en Heidelberg. Sin embargo, en K abandona los rangos y los operadores simplemente actúan elemento por elemento. Además, Whitney consideró redundantes muchas características del lenguaje J (números complejos, gráficos tridimensionales). El lenguaje K resultó ser más simple, más compacto y se adaptó bien al campo de las bases de datos.
Para comercializar el lenguaje, Whitney fundó Kx Systems . Una empresa de lenguaje K desarrolló una base de datos relacional con almacenamiento en columnas llamada kdb [1] que ha ganado algo de popularidad en la industria financiera. La distribución completa de kdb (junto con el intérprete de K, ejemplos) ocupa solo 200 kilobytes, que es varios órdenes de magnitud menor que las distribuciones de los principales DBMS comerciales.
Las implementaciones de Kx son propietarias y de pago. Desde hace algún tiempo, la versión de 32 bits de Kdb+/q, y con ella el lenguaje K, para Windows , Linux o MacOS X se ha liberado para uso no comercial o para la creación de prototipos de sistemas comerciales.
Kona es una implementación gratuita alternativa no afiliada a Kx Systems. El 8 de abril de 2011, la licencia del intérprete de Kona se cambió de propietaria a la licencia ISC libre (que permite incluir al intérprete en proyectos que no permiten licencias no libres, como los puertos de OpenBSD ).