Опис послуги
ПерекладЯ системний програміст і працюю на Modula-2 — суворій мові родини Pascal, побудованій навколо окремо компільованих модулів і жорсткої статичної типізації. Пишу прошивки та низькорівневі сервіси там, де передбачуваність важливіша за моду: модулі визначення та реалізації з чистими інтерфейсами, ретельна робота з покажчиками та адресними типами, кооперативи для кооперативної диспетчеризації та доступ до обладнання через добре ізольовані шари абстракції. Зазвичай це мікроконтролери, промислові контролери та довгоживучі настільні інструменти, які ніхто не збирався переписувати з нуля, тому кожне виправлення я роблю з розрахунком, що система повинна працювати ще багато років.
Більша частина моєї роботи — підтримувати старі системи на Modula-2 у живому та зрозумілому стані. Я читаю код під ISO Modula-2, діалекти PIM та конкретні компілятори як GNU Modula-2, XDS або класичні Logitech та TopSpeed, документую структуру модулів, розплутую циклічні імпорти та відновлюю збірки, які давно перестали компілюватися. Коли повна переписування не виправдана, я додаю типізовані інтерфейси, безпечні привʼязання до бібліотек на C та тестові обвʼязки, щоб код знову можна було розвивати. Якщо ж міграція — правильне рішення, я планую поетапний шлях, який зберігає поведінку і дозволяє старій та новій частинам співіснувати.
Оскільки я виріс з суворої модульної традиції, а не з C або нових керованих мов, я особливо уважний до контрактів інтерфейсів, перевірок на етапі компіляції та дисципліни роботи з пам'яттю. Можу увійти до команди, якій досталося продукт на Modula-2, стати тим фахівцем, хто його ще розуміє, або допомогти майстерні на Pascal та Oberon розширити можливості. Назвіть компілятор, цільову платформу та обмеження — і я дам чесну оцінку перш, ніж щось торкатися.
— Системна та вбудована розробка на Modula-2
— Модулі визначення та реалізації з суворо типізованими інтерфейсами
— Супровід та модернізація legacy-коду на Modula-2
— Перенесення між діалектами та компіляторами (ISO, PIM, GNU Modula-2, XDS)
— Привʼязання до бібліотек на C та шари апаратної абстракції
— Відновлення збірки, документування та тестові обвʼязки
Більша частина моєї роботи — підтримувати старі системи на Modula-2 у живому та зрозумілому стані. Я читаю код під ISO Modula-2, діалекти PIM та конкретні компілятори як GNU Modula-2, XDS або класичні Logitech та TopSpeed, документую структуру модулів, розплутую циклічні імпорти та відновлюю збірки, які давно перестали компілюватися. Коли повна переписування не виправдана, я додаю типізовані інтерфейси, безпечні привʼязання до бібліотек на C та тестові обвʼязки, щоб код знову можна було розвивати. Якщо ж міграція — правильне рішення, я планую поетапний шлях, який зберігає поведінку і дозволяє старій та новій частинам співіснувати.
Оскільки я виріс з суворої модульної традиції, а не з C або нових керованих мов, я особливо уважний до контрактів інтерфейсів, перевірок на етапі компіляції та дисципліни роботи з пам'яттю. Можу увійти до команди, якій досталося продукт на Modula-2, стати тим фахівцем, хто його ще розуміє, або допомогти майстерні на Pascal та Oberon розширити можливості. Назвіть компілятор, цільову платформу та обмеження — і я дам чесну оцінку перш, ніж щось торкатися.
— Системна та вбудована розробка на Modula-2
— Модулі визначення та реалізації з суворо типізованими інтерфейсами
— Супровід та модернізація legacy-коду на Modula-2
— Перенесення між діалектами та компіляторами (ISO, PIM, GNU Modula-2, XDS)
— Привʼязання до бібліотек на C та шари апаратної абстракції
— Відновлення збірки, документування та тестові обвʼязки