Программировать можно везде, где есть возможность задать последовательность действий — алгоритм — и заставить что-то её выполнить. Вот восемь примеров того, где это «что-то» бывает: от микроконтроллера за пару сотен рублей до живой клетки и человеческого мозга.
Перфокарты и перфоленты для любителей ретро

Перфокарта — плотный лист бумаги, где информация закодирована пробитыми отверстиями: есть отверстие в нужном месте — единица, нет — ноль. Перфолента — та же идея, только отверстия пробиты в длинной бумажной ленте.
Перфокарты кодировали инструкции и данные для машины напрямую в физическом расположении дырок. Колоду карт, где каждая карта — команда или строка кода, подавали в считывающее устройство, и машина исполняла программу по порядку, в котором карты лежали в колоде. Перепутал карты местами — программа выполнится неправильно; это программирование в самом буквальном виде, только вместо клавиатуры — дырокол.
Первыми перфокарты применили не для вычислений, а для тканей: в 1804 году Жозеф Мари Жаккард встроил их в ткацкий станок, чтобы задавать сложные узоры без ручной переналадки. Идею подхватил Герман Холлерит для переписи населения США в конце XIX века — на перфокартах кодировали данные о жителях, а табулятор Холлерита автоматически их подсчитывал; компания, которую он основал, позже стала частью IBM. В XX веке перфокарты и перфолента дошли до компьютеров первого и второго поколения и оставались основным способом ввода программ вплоть до 1970-х — начала 1980-х годов, пока их не вытеснили магнитные ленты и терминалы.
Как рабочий инструмент перфокарты мертвы уже полвека, но идея пережила носитель: любой современный код — тоже последовательность дискретных инструкций, просто записанная электрическими сигналами вместо дырок в картоне. Сегодня перфокарты живут в музеях и как сувениры для программистов старой школы — скорее напоминание о том, откуда всё начиналось, чем действующая технология.
Встраиваемые системы и микроконтроллеры

Микроконтроллер — маленький компьютер на одном кристалле: процессор, память и порты ввода-вывода в одном корпусе. Такие чипы стоят в стиральных машинах, кофеварках, автомобильных блоках управления, светофорах. DIY-версия этой истории — платы вроде Arduino, ESP32 или Raspberry Pi Pico, которые продаются в любом магазине радиодеталей и рассчитаны на человека без инженерного образования.
На микроконтроллер заливают код так же, как на обычный компьютер: пишут программу на C, C++ или упрощённом диалекте, компилируют и прошивают в память чипа. Разница в масштабе задачи (обычно не «открыть браузер», а «зажечь светодиод, когда датчик покажет температуру выше 30 градусов») и в ограничениях: памяти мало, операционной системы часто нет вовсе, программа выполняется в бесконечном цикле сразу после включения питания.
Микроконтроллеры существуют с 1970-х, но технология стала массовой в 2005 году, когда в итальянском городе Иврея команда во главе с Массимо Банци сделала платформу Arduino для студентов работе с электроникой. Платформу сделали открытой, и схемы разработки разошлись по миру.
Микроконтроллеры дешевеют и одновременно умнеют: в них уже встраивают беспроводные модули (Wi-Fi и Bluetooth в ESP32 стоят пару долларов), а часть моделей научили запускать простые нейросети прямо на чипе — распознавание жестов или голосовых команд без подключения к интернету. Тренд на «умные вещи, которые не отправляют данные на сервер» держится именно на этом классе устройств.
Телефон в вашем кармане
Смартфон и планшет — полноценные компьютеры: процессор, память, диск, операционная система. Программируют на них не всегда так, как привыкли на ноутбуке.
Здесь два сценария программирования. Первый — писать код для телефона на компьютере, а телефон использовать как площадку, куда программа устанавливается (обычная мобильная разработка на Kotlin, Swift или Flutter). Второй, менее очевидный, — писать код прямо на телефоне: приложение Termux превращает Android в терминал с Python, Node.js и десятком других инструментов, а Pythonista и Swift Playgrounds на iOS дают редактор кода и интерпретатор без выхода на компьютер вообще.
До эпохи смартфонов программируемость телефона была скорее исключением: в J2ME-приложениях 2000-х можно было писать несложные Java-программы для кнопочных телефонов, но массовым это не стало — слишком неудобная клавиатура и слабое железо. Полноценное программирование прямо на устройстве появилось вместе с ростом мощности мобильных процессоров и приходом Linux-инструментов на Android: Termux, один из главных проектов в этой нише, стал доступен в 2015 году.
Разрыв между «написать код на телефоне» и «написать код на ноутбуке» продолжает сокращаться: облачные IDE переносят сборку и вычисления на сервер, а телефон остаётся окном для правки текста и наблюдения за результатом. Смартфон при таком раскладе вряд ли заменит компьютер, но вполне может стать равноправным дополнительным терминалом, особенно для быстрых правок и код-ревью в дороге.
Игровые консоли для романтиков

Официально консоли — закрытые устройства: играть в купленные диски и картриджи можно, писать для них свой код производитель не предполагает. Но у консолей есть вторая жизнь — homebrew, любительская разработка игр и программ для платформ, которые для этого не предназначались.
Разработчик пишет код на C или ассемблере под конкретное железо консоли, компилирует его сторонними инструментами (например, компилятором cc65 для 8-битных систем или ассемблером MagicKit) и запускает через уязвимость прошивки, картридж-адаптер или, если повезло, официальный набор разработчика. Задача та же, что и в любом другом программировании, только документации меньше, и часть её приходится добывать реверс-инжинирингом самой консоли.
Иногда производитель сам открывал дверь разработчикам-энтузиастам. В 1997 году Sony выпустила Net Yaroze — версию PlayStation с дополнительным набором инструментов и книгой по разработке, которую мог купить любой желающий, не подписывая контракт с издателем. Но чаще путь был обратным: у Dreamcast в 1999 в прошивке нашли ошибку, которая позволяла запускать самодельные игры с обычных дисков, и некоторые пытаются это делать даже спустя больше двадцати лет после снятия консоли с производства.
Сейчас производители выпускают фэнтези-консоли вроде PICO-8: программные среды, которые нарочно имитируют ограничения ретро-железа (маленькое разрешение, ограниченная память, свой язык программирования), чтобы дать разработчикам чистую площадку для экспериментов без необходимости взламывать реальное устройство. Похоже, что в этой нише романтика ограничений важнее самого железа.
Калькуляторы

В программируемый калькулятор можно записать последовательность операций, сохранить её и запускать заново с новыми числами. От обычного калькулятора его отличает память для программ и язык для их записи.
На классических моделях вроде HP-41 (1979 год) программу пишут на встроенном языке FOCAL: задают шаги вычисления, условные переходы и циклы, как в любом языке программирования, только вместо экрана с текстом восьмисимвольный дисплей. У энтузиастов HP-41 быстро появился и неофициальный слой — приёмы, использующие недокументированные особенности прошивки, — и прямое программирование на машинном коде, которое работало в 5–120 раз быстрее обычных программ.
HP-41 разошелся тиражом полтора миллиона экземпляров и стал рабочим инструментом инженеров и учёных на десятилетия: калькулятор летал на шаттлах NASA, а его советский аналог МК-52 брали на борт как резервное вычислительное устройство космонавты «Союзов». Позже эстафету подхватили графические калькуляторы вроде линейки TI — школьный BASIC на них стал для многих первым языком программирования просто потому, что других устройств под рукой не было: на уроке алгебры калькулятор разрешён, а ноутбук — нет.
Экзаменационные калькуляторы — один из немногих технологических островков, которые сознательно тормозят прогресс: комитеты по единым экзаменам в разных странах ограничивают, что калькулятору разрешено уметь, чтобы его нельзя было превратить в шпаргалку или мини-компьютер с выходом в интернет. Скорее всего, ниша программируемых калькуляторов законсервируется в нынешнем виде, потому что правила не позволяют большего.
Промышленные ПЛК

Программируемый логический контроллер — промышленный компьютер, который управляет оборудованием: конвейером, прессом, системой вентиляции, светофором. У него нет ни монитора, ни клавиатуры в привычном смысле — вместо них входы, куда приходят сигналы с датчиков, и выходы, которые включают моторы, клапаны и лампы.
Логику ПЛК записывают на специальных языках. Самый распространённый называется ladder logic («лестничная логика») и визуально повторяет схему релейного шкафа: горизонтальные «ступени» с условиями и исполнительными элементами. Язык специально сделали похожим на привычные электрикам чертежи, чтобы не переучивать целую профессию с нуля, но внутри всё равно исполняется обычная программа с условиями, циклами и переменными.
Первый в мире ПЛК, Modicon 084, сделал в 1968 году инженер Ричард Морли по заказу General Motors. Автозаводу нужно было решить проблему: производственные линии управлялись огромными шкафами электромеханических реле, и при каждом изменении модели их приходилось перепаивать вручную, а это долго и дорого. Modicon 084 с его килобайтом памяти позволил менять логику работы линии, переписывая программу, а не перекладывая провода.
Современные ПЛК уже подключают к промышленному интернету вещей. Они отправляют данные о состоянии IOT в облако, чтобы предсказать поломку до того, как линия встанет. Языки программирования при этом почти не меняются — ladder logic живёт больше полувека, потому что переучить десятки тысяч инженеров по всему миру на новый подход обойдётся отрасли дороже.
Квантовые компьютеры

Квантовый компьютер обрабатывает информацию не в битах, а в кубитах, которые за счёт эффектов квантовой механики — суперпозиции и запутанности — могут одновременно находиться в нескольких состояниях. Для части задач (например, разложения больших чисел на множители или моделирования молекул) это даёт принципиально другой масштаб скорости по сравнению с обычными компьютерами.
Квантовую программу пишут иначе, чем обычную: вместо привычных операторов используют квантовые вентили — операции, которые меняют состояние кубитов, — и собирают их в схемы на специализированных языках вроде Qiskit (от IBM) или Cirq (от Google). Запустить такую программу можно даже без своего квантового компьютера: IBM, Google и другие компании открыли облачный доступ к своим процессорам, так что написать и выполнить квантовый алгоритм в 2026 году может любой человек с ноутбуком и интернетом.
Идею квантовых вычислений независимо друг от друга предложили в начале 1980-х годов математик Юрий Манин и физик Ричард Фейнман. Оба заметили, что обычный компьютер не может эффективно моделировать квантовые системы, а значит, нужен принципиально другой тип вычислительного устройства. Дальше несколько десятилетий ушло на то, чтобы довести идею до железа. Последние два года гонка резко ускорилась: в конце 2024 года Google представила чип Willow на 105 кубитах, в 2025 году IBM показала процессор Starling на 120 кубитах, а свои системы сопоставимого уровня выкатили и китайские лаборатории.
Число кубитов само по себе решает не всё — важнее их надёжность. Команда из Оксфорда и Осаки в 2025 году добилась результата в одну ошибку на 6,7 миллиона операций на ионных кубитах, и именно снижение количества ошибок сейчас считается главным препятствием на пути к по-настоящему полезным квантовым компьютерам. IBM уже анонсировала процессор с полноценной коррекцией ошибок на 2029 год — если план сработает, квантовое программирование может перестать быть нишевым занятием для исследователей и стать обычным инструментом разработчика, вроде того, чем сегодня стали GPU для машинного обучения.
Биологические и нейроинтерфейсы
Биологические и нейроинтерфейсы — это две разные, но соседние истории. Первая — биологические вычисления: использование молекул, чаще всего ДНК, вместо электроники для хранения данных и выполнения расчётов. Вторая — нейрокомпьютерные интерфейсы: устройства, которые считывают сигналы мозга и превращают их в команды для внешней техники.
В ДНК-вычислениях алгоритм задаёт последовательность нуклеотидов и химических реакций: если закодировать все возможные варианты решения задачи в отдельных цепочках ДНК, а затем ферментами отсеять цепочки, которые не подходят под условия, на выходе останется только правильный ответ — вычисление в буквальном смысле проходит в пробирке.
С нейроинтерфейсами устроено иначе: там программируют систему, которая расшифровывает его электрическую активность и превращает намерение — «сжать пальцы» — в команду роботизированной руке или курсору на экране.
Точку отсчёта для биологических вычислений принято ставить в 1994 году: математик Леонард Адлеман экспериментально решил NP-полную задачу о гамильтоновом пути для семи городов, закодировав возможные маршруты в молекулах ДНК и отобрав нужный результат химическим путём. На эксперимент ушла неделя лабораторной работы, но это доказало, что молекулы способны на параллельные вычисления, недоступные обычным процессорам. У нейроинтерфейсов путь длиннее: первые эксперименты по считыванию активности мозга животных для управления внешними устройствами шли ещё в 1990-х, а к массовому вниманию тема пришла в 2020-х благодаря клиническим испытаниям Neuralink.
У ДНК-вычислений главное ограничение — масштаб: если эксперимент Адлемана расширить до 200 городов, потребуется больше ДНК, чем весит вся планета, поэтому направление скорее останется нишевым инструментом для специфических задач (хранение данных в ДНК уже проверено на практике), чем массовой заменой обычных компьютеров.
У нейроинтерфейсов динамика более быстрая и конкурентная: в 2026 году китайская компания Neuracle Medical Technology первой в мире получила коммерческую медицинскую лицензию на имплант NEO — менее инвазивное устройство, чем у Neuralink, которое устанавливается на поверхность мозговой оболочки и уже позволяет парализованным пациентам управлять роботизированной перчаткой силой мысли. Если тренд продолжится, программирование через мозг перестанет быть темой научной фантастики и станет отдельной инженерной дисциплиной — со своими языками и стандартами.
Программирование — это способ мыслить
Платформа, будь то компьютер или мозг — это лишь инструмент и объект приложения усилий, а программирование держится не на этом.
То, что не меняется от компьютера к перфокарте и от калькулятора к пробирке с ДНК, — это способ мышления, который принято называть алгоритмическим: умение разложить задачу на понятные шаги, отделить важное от неважного, представить решение как последовательность действий и заранее продумать, что пойдёт не так. Это и есть работа программиста — язык, синтаксис и железо вокруг него меняются каждые несколько лет, а способность мыслить алгоритмически остаётся ровно той же, что и у Жаккарда за ткацким станком в 1804 году.