Описание услуги
Я разрабатываю программы на языке BQN — современном представителе семейства APL, где вместо громоздких циклов используется краткая массивная нотация и по-настоящему полноценные функции первого класса. Если ваша задача с данными кажется тяжелее, чем должна быть, я обычно выражаю её несколькими строками, которые читаются почти как сама постановка. Моя работа делится на три направления. Первое — преобразования данных: изменение формы, группировка, соединение и очистка табличных или вложенных структур, где ранг-полиморфные примитивы языка BQN заменяют страницы императивного связующего кода. Второе — численные и алгоритмические процедуры: скользящие окна, префиксные свёртки, варианты сортировки, комбинаторика, небольшие симуляции и статистические ядра, написанные кратко, но читаемо. Третье — прототипирование алгоритмов: когда нужно проверить идею до того, как за неё возьмётся целая команда, я набрасываю её на языке BQN, чтобы форма решения оставалась видимой и дешёвой в изменении. Мне важна нотация, к которой коллега сможет вернуться через полгода, поэтому я комментирую замысел, даю разобранные примеры и упаковываю всё с коротким README и набором тестов, проверяющих граничные случаи. В поставку обычно входят сами поезда и функции, набор утверждений, примеры входов и выходов и заметки о сложности. Я много лет мыслю массивами — сначала в старых диалектах APL, теперь преимущественно на языке BQN — и с удовольствием совмещаю этот подход с небольшими рантаймами или встраиваемым интерпретатором. Опишите нужное преобразование и форму ваших данных, и я верну код небольшой, достаточно быстрый для задачи и честный в своих допущениях.