El K es una lengua propietaria del tratamiento matricial desarrollada por el Arturo Whitney y comercializada por los sistemas del KX. La lengua sirve como la fundación para KDB, una en-memoria, la base de datos columna-basada, y otros productos financieros relacionados. La lengua, desarrollada original en 1993, es una variante APL y contiene elementos del esquema . Los abogados de la lengua acentúan su velocidad, facilidad en la manipulación de órdenes y de su sintaxis expresivo.

Historia

Antes de desarrollar K, Arturo Whitney había trabajado extensivamente con el APL, primero en el sostenido I. asocia junto al Ken Iverson y al Rogelio Hui, y más adelante en Morgan Stanley que desarrolla usos financieros. En Morgan Stanley, Whitney desarrolló A+, una variante del APL, para facilitar la migración de los usos del APL de las unidades centrales de IBM a una red de los sitios de trabajo de Sun. A+ tenía un sistema más pequeño de funciones primitivas y fue diseñado para la velocidad y manejar sistemas grandes de datos de la serie de tiempo.

En 1993, Arturo Whitney dejado Morgan Stanley y convertido la primera versión de la lengua de K. Al mismo tiempo él formó sistemas del KX para comercializar el producto y firmó un contrato exclusivo con el Union Bank de Suiza (UBS). Por los cuatro años próximos él desarrolló varios usos financieros y comerciales usar la lengua de K para UBS.

El contrato terminó en 1997 en que UBS se combinó con el banco suizo . En el KX los sistemas 1998 salieron con KDB, una base de datos empleada el K. un número de productos financieros se ha desarrollado desde entonces con K y KDB. KDB/tick y KDB/taq fueron desarrollados en 2001. KDB+, una versión 64-bit de KDB fue puesto en evidencia en 2003 y KDB+/tick y KDB+/taq fueron puestos en evidencia el año siguiente.

Descripción

K comparte las características dominantes con el APL. Ambas se interpretan, las idiomas interactivas se observan para el sintaxis sucinto y expresivo. Tienen reglas de precedencia simples basadas en la derecha a la evaluación izquierda. Las idiomas contienen un sistema rico de funciones primitivas diseñadas para procesar órdenes. Estas funciones primitivas incluyen las operaciones matemáticas que trabajan en órdenes como objetos de datos enteros, y ponen en orden operaciones, tales como clasificación o inversión de la orden de un arsenal. Además, la lengua contiene a operadores especiales que combinan con funciones primitivas para realizar tipos de iteración y de repetición. Consecuentemente, las transformaciones complejas y extendidas de un grupo de datos se pueden expresar como cadena de secundario-expresiones, con cada acoplamiento que realiza un segmento del cálculo y pasando los resultados al acoplamiento siguiente en la cadena.

Como el APL, las funciones primitivas y a los operadores representan los carácteres simples o dobles; sin embargo, desemejante del APL, K se restringe al juego de caracteres de ASCII (una característica que comparte con J, otra variante del APL). Para permitir esto, el sistema de las funciones primitivas para K es más pequeño y sobrecargado pesadamente, con cada uno de los símbolos del ASCII que representan funciones u operaciones dos o más distintos. En una expresión dada, la función real referida es determinada por el contexto. Consecuentemente las expresiones de K pueden ser opacas y difíciles de analizar. Por ejemplo, en la expresión ideada siguiente el punto de exclamación “!” refiere a tres funciones distintas: ¡

2!! ¡7! 4
¡Lectura de la derecha hacia la izquierda del primer! es la división del modulo que se realiza en 7 y 4 dando por resultado 3. ¡El siguiente! es la enumeración y enumera los números enteros menos de 3, dando por resultado la lista 0 1 2. ¡El final! es la rotación donde la lista a la derecha se gira dos veces a la izquierda produciendo el resultado final de 2 0 1.

La segunda distinción de la base de K es que las funciones son objetos de primera clase, un concepto prestado de esquema. Las funciones de primera clase se pueden utilizar en los mismos contextos en donde un valor de datos puede ser utilizado. Las funciones se pueden especificar como expresiones anónimas y utilizar directo con otras expresiones. Las expresiones de función se especifican en K usar las llaves. Por ejemplo, en la expresión siguiente una expresión cuadrático se define como función y se aplica los valores a 0 1 2 y 3: ¡

 {(3*x^2)+ (2*x)+1} '! 4
En K, nombrada las funciones están simplemente las expresiones de función almacenadas a una variable que cualquier valor de datos se almacena de la misma manera a una variable.
x: 25 f: {(x^2) - 1} 

Además las funciones se pueden pasar como discusión a otra función o volver consecuentemente de una función.

Ejemplos

K es una lengua interpretada donde se evalúa cada declaración y sus resultados exhibidos inmediatamente. Las expresiones literales tales como secuencias evalúan a sí mismos. Por lo tanto, el mundo hola - el programa es trivial:
 " ¡Hola mundo! " 
La expresión siguiente clasifica una lista de secuencias por sus longitudes:
 x@>#: 'x 
La expresión se evalúa de la derecha hacia la izquierda como sigue: #: 'x vuelve la longitud de cada palabra en el
  • de la lista x. > vuelve los índices que clasificarían una lista de valores en orden decreciente.
  • @ uso los valores de número entero a la derecha de poner en un índice en la lista original de secuencias.

    Una función para determinar si un número es primero se puede escribir como:

     ¡{&/x! /: ¡2_! x} 
    La función se evalúa de la derecha hacia la izquierda: ¡! x enumera los números enteros positivos menos que
  • del X. el _ 2 cae los primeros dos elementos de la enumeración (0 y 1).
  • ¡x! /: realiza la división del modulo entre el número entero original y cada valor en la lista truncada.
  • y encontrar el valor mínimo de la lista de resultado del modulo. Si x no es primero entonces uno de los valores vueltos por la operación del modulo será 0 y por lo tanto el valor mínimo de la lista. Si x es primero entonces el valor mínimo será 1, porque la MOD 2 de x es 1 para mayor de 2.

    La función antedicha se puede utilizar para enumerar todos los números primeros entre 1 y R con:

     ¡(! ¡R)@& {&/x! /: ¡2_! ¡x} '! R 
    La expresión es de la derecha hacia la izquierda
  • evaluado del
      ¡! R enumeran los números enteros menos que
    1. del R. 'aplicar cada valor de la enumeración a la función del número primero a la izquierda. Esto devolverá una lista de 0 y 1.
    2. y volver los índices de la lista donde está 1.
    3. el valor @ uso el mencionado de valores de número entero a la derecha de poner en un índice en la lista a la izquierda.
    4. ¡(! R) Una lista de números enteros menos que R.

    Características de funcionamiento

    El funcionamiento de CPU modernas está mejorando a una tarifa mucho más rápida que sus subsistemas de la memoria. El tamaño pequeño del intérprete y del sintaxis compacto de la lengua permite para que los usos de K quepan enteramente dentro del escondrijo de nivel 1 del procesador. El proceso del vector hace el uso eficiente de la fila del escondrijo que trae el mecanismo y fijado escribe sin la introducción de burbujas en la tubería creando una dependencia entre las instrucciones consecutivas.

    GUI

    La biblioteca del GUI incluida en K se basa en la de A+, pero se aprovecha de muchas características únicas al GUI de la k del K. es declarativa y data-driven, en comparación con la mayoría del GUIs que sean imprescindible. Una ventana y las cosas en una ventana se contienen en una estructura de datos normal, generalmente un diccionario en el árbol de K, y se exhiben con el operador de $ (que dobla como un operador del formato y operador del bastidor, también). La información sobre un aparato se mantiene las cualidades de la variable. Cada datos mecanografían adentro K pueden funcionar como un aparato - apenas no no necesario muy bien.

    Pero en K, la biblioteca del GUI es tan concisa y fácil de utilizar que incluso para la creación de un prototipo, los reveladores utiliza a menudo un interfaz del GUI algo que una línea de comando. Un mundo mínimo, no muy bonito del GUI hola en K es `show$" Hola world"

    La última versión del lenguaje de programación de K, conocida como " K4", tiene no más una biblioteca incorporada del GUI.

    Productos financieros de K

    K es la fundación para una familia de productos financieros. Kdb es una en-memoria, base de datos columna-basada con mucha de la misma funcionalidad de un sistema de gestión de la base de datis relacional. El SQL de las ayudas de base de datos, (sql92) y el ksql, un lenguaje de interrogación con un sintaxis similar al SQL y diseñado para la columna basaron preguntas y análisis del arsenal.

    el kdb está disponible para el Solaris, el linux, y el Windows (de 32 bits o 64-bit).

    Ver también

    APL, la primera lengua de arsenal
    El J, otro APL-inspiró lengua
  • .

  • Zenithic
  • Funbox
    Random links:Lookeba, Oklahoma | Sierra Madre (Filipinas) | Lista de lugares nombrados para Christopher Columbus | d'Elegance de Scarsdale Concours | Aeropuerto del condado de Gillette-Campbell

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">