Как известно, у бирж много денег. Это значит, что много денег может быть потрачено на исследования и разработку технологий, приближающих очередной неминуемый крах экономики ещё быстрее. Очевидным решением в борьбе с задержками при приёме и обработке биржевых данных является переход на FPGA, что многие биржи и делают. А если и не делают, то очень зря, это им скоро аукнется. В общем, биржи нанимают классных и дорогих спецов по VHDL и проектированию железа, но результат получается всё равно хуже, чем у среднего пошиба железячников, типа нас. Нет, конечно, мы круты, но только биржа может позволить нанять специалистов мирового уровня с з/п полмиллиона долларов в год. Почему же у нас получается лучше?
Ответ лежит в технологии проектирования FPGA-железа. Само железо достаточно медленное, работает на тактовой частоте порядка 150-200 МГц. Понятно, что если применять последовательный подход, как это делается в программах для обычных компьютеров, то FPGA будет на порядок медленнее. Поэтому в хвост и в гриву используется параллельный подход, когда одни и те же данные, по мере их прибытия в железку, спекулятивно начинают обрабатывать различные логические ядра в расчёте на то, что когда все данные придут, и станет понятно, что это, собственно, за данные, то одно ядро уж точно будет иметь все карты на руках, плюс почти всё содержимое уже спекулятивно обработало. Остаётся только завершить формальности и отправить декодированный пакет наверх.
Так вот, программировать это нереально сложно. Несовершенные человеки делают море ошибок, пишут долго, а в итоге всё равно получается неидеально, ибо мозг гомо сапиенса заточен на последовательное исполнение.
И тут, на белом коне, под грохот барабанов и горнов, со сверкающей саблей в руках выезжает красавец Коммон Лисп, на котором написан декларативный DSL, представляющий из себя описание форматов и набор правил, как эти форматы обрабатывать. Парсеры пакетов, всякие триггеры, редукцию графов и полную параллельность строит машина, которая делает это быстро и без ошибок. В итоге, на долю ручного VHDL-кода остаётся процентов 10 исходников, и то, касаемо технических аспектов функционирования: эзернет, там, или pci-e. Но вся бизнес-логика генерится по декларативному описанию.
В планах ручной VHDL истребить почти полностью, уж слишком дорого обходится его разработка: затяжные глюки, срывы сроков, пени... Вместо пятерых железячников дешевле нанять одного толкового лиспера :) Ну и надо-то их всего несколько штук, а то они всё работу быстро попеределают и зевать от скуки начнут.
И, да, вместо лиспа может быть использовать другой более-менее равный язык, типа хаскеля, но мы все нежно любим лисп и с неминуемым успехом, выражаемым в крупных чеках, доказываем, что он ничем не хуже.