Опис послуги
ПерекладЯ створюю швидкі та коректні системи на OCaml і вибираю цю мову саме тому, що важливо під навантаженням: строгу статичну типізацію, вичерпний розбір прототипів та продуктивність близько до C. Коли компілятор приймає мій код, цілі класи помилок уже усунені, і до користувачів доходить та логіка, яку я дійсно продумав, а не набір оптимістичних припущень. Я працюю над компіляторами та мовним інструментарієм, фінансовими рушіями, де помилка округлення недопустима, та бекендами, які повинні залишатися живими, поки все навколо змінюється.
Більшість задач я починаю з того, щоб зробити недопустимі стани невиразимими. Я моделюю предметну область варіантними типами та записами так, що сама форма даних навʼязує правила, а розбір прототипів проходить по кожному випадку, відомому компілятору. Така звичка перетворює розпливчасті вимоги в проект, в якому важко помилитися, і тримає код чесним по мірі зростання числа функцій. Продуктивністю я також займаюся серйозно: передбачуване виділення пам'яті, щільні структури даних та профілювання до оптимізації, щоб цифри поліпшувалися там, де їх вимірюють, а не там, де просто здається повільно.
Ви отримуєте читаємі та задокументовані модулі, набір тестів, які перевіряють саме складні шляхи, та збірку, яку колега підніме без тижня усного знання. Мені комфортно пов'язуватися з існуючим кодом на C, вбудовувати сервіс у великий стек або розгортати проект з нуля з порожнього репозиторію. Назвіть обмеження, яке вас лякає, і я в першу чергу спроектую систему навколо нього.
— Компілятори, парсери, предметні мови та статичний аналіз
— Низьколатентні фінансові та торгові бекенди
— Моделювання домену через типи та рефакторинг
— Взаємодія з C, профілювання та тюнінг
Більшість задач я починаю з того, щоб зробити недопустимі стани невиразимими. Я моделюю предметну область варіантними типами та записами так, що сама форма даних навʼязує правила, а розбір прототипів проходить по кожному випадку, відомому компілятору. Така звичка перетворює розпливчасті вимоги в проект, в якому важко помилитися, і тримає код чесним по мірі зростання числа функцій. Продуктивністю я також займаюся серйозно: передбачуване виділення пам'яті, щільні структури даних та профілювання до оптимізації, щоб цифри поліпшувалися там, де їх вимірюють, а не там, де просто здається повільно.
Ви отримуєте читаємі та задокументовані модулі, набір тестів, які перевіряють саме складні шляхи, та збірку, яку колега підніме без тижня усного знання. Мені комфортно пов'язуватися з існуючим кодом на C, вбудовувати сервіс у великий стек або розгортати проект з нуля з порожнього репозиторію. Назвіть обмеження, яке вас лякає, і я в першу чергу спроектую систему навколо нього.
— Компілятори, парсери, предметні мови та статичний аналіз
— Низьколатентні фінансові та торгові бекенди
— Моделювання домену через типи та рефакторинг
— Взаємодія з C, профілювання та тюнінг