Введение
Артур Уитни (родился 20 октября 1957 года) — канадский учёный в области компьютерных наук, наиболее известный разработкой трёх языков программирования, вдохновлённых APL: A+, k, q, а также программного обеспечения Shakti Software.
Arthur Whitney (born October 20, 1957) is a Canadian computer scientist most notable for developing three programming languages inspired by APL: A+, k, and q, and Shakti Software.
Карьера
Уитни изучал чистую математику в аспирантуре в Университете Торонто в начале 1980-х годов. Затем он работал в Стэнфордском университете и был соавтором статей с Кеном Айверсоном и Роджером Хуэй. Он также написал первоначальный прототип J – лаконичный и насыщенный макросами одностраничный код – за один день. Этот прототип послужил основой для реализации J, разработанной Роджером Хуэй, и Уитни предложил операторы ранга в J. В 1988 году Уитни начал работать в Morgan Stanley, разрабатывая финансовые приложения. В Morgan Stanley Уитни разработал A+ для упрощения переноса приложений APL с мэйнфреймов IBM на сеть рабочих станций Sun Microsystems. A+ имел более ограниченный набор примитивных функций и был разработан для скорости и обработки больших массивов данных временных рядов. В 1993 году Уитни покинул Morgan Stanley и совместно с Джанет Ластгартен основал Kx Systems для коммерциализации языка программирования k. Согласно статье Пола Форда на обложке журнала Businessweek за 2015 год, k – это язык программирования, "известный своей лаконичностью". Компания заключила эксклюзивное соглашение с Union Bank of Switzerland, и Уитни разработал ряд торговых приложений с использованием k до истечения срока действия контракта. В начале действия контракта Уитни разработал базу данных kdb, построенную на k. В 2003 году Kx Systems выпустила q – новый векторный язык, основанный на k и базе данных kdb+, разработанной Уитни. В 2018 году First Derivatives выкупила миноритарные доли Уитни и Ластгартен в Kx Systems. Уитни и Ластгартен затем основали Shakti. Платформа Shakti отличается небольшим объемом памяти и обеспечивает быструю развертку и обработку распределенных эластичных нагрузок. Она может работать со всеми типами наборов данных, включая числовые, временные и текстовые данные, как структурированные, так и неструктурированные.