K (язык программирования)

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
(перенаправлено с «Kdb»)
K
Автор Артур Уитни
Испытал влияние APL, J

К — язык программирования, оптимизированный для работы с массивами, модификаторами действий. Среди особенностей — отсутствие циклов, зависимые переменные, структура K-дерева (K-tree).

Реализован для 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).

Примечания

  1. 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.

Ссылки