K (язык программирования)
К — язык программирования, оптимизированный для работы с массивами, модификаторами действий. Среди особенностей — отсутствие циклов, зависимые переменные, структура K-дерева (K-tree).
K | |
---|---|
Класс языка | векторный язык программирования[вд] |
Появился в | 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).
Примечания
править- ↑ KX Systems. [The leading in-memory time-series database technology | Kx Systems (англ.). Kx Systems. Дата обращения: 10 марта 2018. Архивировано 1 февраля 2020 года.
Литература
править- Jeffry A. Borror. q For Mortals Version 3: An Introduction to q Programming. — 3-th. ed.. — q4m LLC, 2015. — 586 с. — ISBN 978-0692573679.
Ссылки
править- Kx Systems Архивная копия от 1 февраля 2020 на Wayback Machine
- Kx Systems - An Interview with Arthur Whitney - Jan 2004 . Kx.com (4 января 2004). Дата обращения: 3 февраля 2010. Архивировано 23 августа 2011 года.
- Проект K (язык программирования) на сайте GitHub — открытая реализация языка (проекте kona).