Описание услуги
Я системный программист и работаю на 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 и слои аппаратной абстракции
— Восстановление сборки, документирование и тестовые обвязки