K (язык программирования)
К — язык программирования, оптимизированный для работы с массивами, модификаторами действий. Среди особенностей также отсутствие циклов, зависимые переменные и K-tree.
K | |
---|---|
Класс языка | язык программирования и векторный язык программирования[d] |
Появился в | 1993 |
Автор | Артур Уитни |
Испытал влияние | APL, J |
Сайт | kx.com |
Реализован для Windows, Solaris, Linux.
Изначально язык программирования K был разработан Артуром Уитни, Kx Systems, но его реализация от Kx проприетарная и платная. Впрочем в настоящее время 32-разрядная версия Kdb+/q (и языка K) для windows, linux или MacOS X бесплатно доступна для некоммерческого применения, или прототипирования коммерческих систем.
Kona — альтернативная свободная реализация, не аффилированная с Kx Systems. 8 апреля 2011 года лицензия интерпретатора Kona изменена с проприетарной на свободную лицензию ISC (которая позволяет включить интерпретатор в проекты не допускающие несвободных лицензий, например в порты OpenBSD).
Артур Уитни ушел из группы разработки языка J в самом её начале и занялся разработкой собственного языка, который он назвал K. Одним из разногласий между Уитни и Иверсоном было чрезмерное (по мнению Уитни) усложнение языка J понятиями ранга, идею которых он сам и выдвинул в своё время, представив в 1982 году на конференции по APL в Гейдельберге. Однако в K он отказался от рангов и операторы просто действуют поэлементно. Кроме того Уитни счел множество возможностей языка J избыточными (комплексные числа, трехмерная графика). Язык K получился проще, компактнее, и оказался отлично приспособлен к сфере баз данных. Компания Уитни (Kx Systems) разработала на этом языке реляционную СУБД со столбцовым хранением под названием kdb[1], являющуюся на сегодняшний[когда?] день продуктом-лидером в этой[какой?] области и превосходящую, в частности, широко разрекламированный Oracle[уточнить] по скорости на тестах TPC[2][уточнить]. При этом дистрибутив kdb полностью (вместе с интерпретатором K, примерами) занимает всего 200 килобайт.
Примечания
- KX Systems. [The leading in-memory time-series database technology | Kx Systems (англ.). Kx Systems. Дата обращения: 10 марта 2018.
- K (язык программирования) — Национальная библиотека им. Н. Э. Баумана . ru.bmstu.wiki. Дата обращения: 10 марта 2018.
Литература
- 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
- Kx Systems - An Interview with Arthur Whitney - Jan 2004 . Kx.com (4 января 2004). Дата обращения: 3 февраля 2010. Архивировано 23 августа 2011 года.
- Проект K (язык программирования) на сайте GitHub — открытая реализация языка (проекте kona).