К — язык программирования, оптимизированный для работы с массивами, модификаторами действий. Среди особенностей — отсутствие циклов, зависимые переменные, структура K-дерева (K-tree).
K | |
---|---|
Класс языка | язык программирования и векторный язык программирования[d] |
Появился в | 1993 |
Автор | Артур Уитни |
Испытал влияние | APL, J |
Сайт | kx.com |
Реализован для Windows, Solaris, Linux.
Изначально был разработан Артуром Уитни. Уитни ушёл из группы разработки языка J в самом её начале и занялся разработкой собственного языка. Одним из разногласий между Уитни и Айверсоном было чрезмерное (по мнению Уитни) усложнение J понятиями ранга, идею которых с сам и выдвинул в своё время, представив в 1982 году на конференции по APL в Гейдельберге. Однако в K он отказался от рангов и операторы просто действуют поэлементно. Кроме того Уитни счёл множество возможностей языка J избыточными (комплексные числа, трёхмерная графика). Язык K получился проще, компактнее, и оказался отлично приспособлен к сфере баз данных.
Для коммерциализации языка Уитни основал компанию Kx Systems. Компания на языке K разработала реляционную СУБД со столбцовым хранением под названием kdb[1], получившую некоторое распространение в финансовой сфере. Дистрибутив kdb полностью (вместе с интерпретатором K, примерами) занимает всего 200 килобайт, что на несколько порядков меньше дистрибутивов основных коммерческих СУБД.
Реализации от Kx проприетарная и платная. С некоторого времени 32-разрядная версия Kdb+/q, а вместе с ней и языка K, для windows, Linux или MacOS X стали бесплатны для некоммерческого применения или прототипирования коммерческих систем.
Kona — альтернативная свободная реализация, не аффилированная с Kx Systems. 8 апреля 2011 года лицензия интерпретатора Kona изменена с проприетарной на свободную лицензию ISC (которая позволяет включить интерпретатор в проекты не допускающие несвободных лицензий, например в порты OpenBSD).