Введение

Язык программирования K — это проприетарный язык программирования для обработки массивов, разработанный Артуром Уитни и коммерциализированный компанией Kx Systems. Этот язык является основой для kdb+, базы данных, работающей в памяти и использующей столбцовую структуру, а также других связанных финансовых продуктов. Язык, первоначально разработанный в 1993 году, представляет собой вариант APL и включает в себя элементы Scheme. Приверженцы языка отмечают его высокую скорость, удобство работы с массивами и лаконичный синтаксис.

История

До разработки K, Артур Уитни много работал с APL, сначала в I. P. Sharp Associates вместе с Кеном Айверсоном и Роджером Хуи, а позже в Morgan Stanley, разрабатывая финансовые приложения. В Morgan Stanley Уитни помог разработать A+, вариант APL, чтобы облегчить перенос приложений APL с мейнфреймов IBM на сеть рабочих станций Sun. A+ имел более ограниченный набор примитивных функций и был разработан для скорости и обработки больших объемов данных временных рядов. В 1993 году Уитни покинул Morgan Stanley и разработал первую версию языка K. Одновременно он основал Kx Systems для коммерциализации продукта и заключил эксклюзивный контракт с Union Bank of Switzerland (UBS). В течение следующих четырех лет он разрабатывал различные финансовые и торговые приложения, используя K для UBS. Контракт истек в 1997 году, когда UBS объединилась со Швейцарским банком. В 1998 году Kx Systems выпустила kdb+, базу данных, построенную на K. kdb была базой данных, работающей в памяти, с колоночной ориентацией и включала ksql, язык запросов с синтаксисом, подобным SQL. С тех пор несколько финансовых продуктов были разработаны с использованием K и kdb+. kdb+/tick и kdb+/taq были разработаны в 2001 году. kdb+, 64-битная версия kdb+, была выпущена в 2003 году, а kdb+/tick и kdb+/taq – в 2004 году. kdb+ включал Q, язык, объединяющий функции базового языка K и ksql. Уитни выпустил производную от K под названием Shakti в 2018 году.

K финансовые продукты

K — основа для семейства финансовых продуктов. Kdb+ — это база данных в оперативной памяти, столбцовой организации, обладающая многими функциями реляционной системы управления базами данных. База данных поддерживает SQL, SQL 92 и ksql, язык запросов с синтаксисом, схожим с SQL, разработанный для столбцовых запросов и анализа массивов. Kdb+ доступен для ряда операционных систем, включая Solaris, Linux, macOS и Windows (32- или 64-разрядные версии).