Говорят, для программирования на Си нужен стол, стул, мощный ПК и Linux. У меня другой стек: диван, планшет на Андроиде и Termux. Но иногда мой монитор помещается в карман — это смартфон.

В этой статье я расскажу, как небольшая лень привела к созданию пяти версий логического калькулятора и почему мобильный кодинг — это не только боль, но и своеобразная свобода.

Противостояние против индустрии

Идея родилась внезапно. Захотелось проверить одну логическую схему, но вставать и идти к компьютеру было выше моих сил. Так началось моё «преступление» против канонов профессиональной разработки.

Инструментарий

Чтобы превратить диван в рабочее место, мне понадобился стандартный набор для Termux:

<cut />

  • Clang / Gcc — компилятор.

  • Vim — как основной текстовый редактор.

Эволюция проекта: от корня до смещения

Разработка шла итерациями. Каждая версия решала конкретную проблему интерфейса на маленьком экране. Получилось v0, v1, v2, v3, v4, v5. Пять версий.

v0: Скелет

Самый первый запуск. Проверка того, что среда настроена верно.

Скелет программы.
Скелет программы.

## v1: Базовая логика

Фундамент всей программы. Реализация базовой логики: И, ИЛИ, НЕ, >>, <<. Цветной вывод. Оптимизация.

Базовая логика
Базовая логика

v2: v3 Битва за горизонталь

Попытки сделать вывод данных в одну строку. На планшете это выглядело сносно, но на смартфоне экран быстро превратился в кашу.

V2 для смартфона 16 разрядов.

V2 версия для телефона.
V2 версия для телефона.

V3 для планшета 32 разряда

Для планшета
Для планшета

Вертикальный прорыв v4: v5

v4 :

Решил добавить Dec и hex. Десятичное и шестнадцатеричное представление двоичного числа. Если принтовать по горизонтали это 100% каша данных. Решил вывести по вертикали. Добавил выбор разрядности.

Выводим по вертикали
Выводим по вертикали

v5: Финальный штрих (Смещение)

В последней версии та же вертикаль. Добавил смещение разрядов.

По вертикали со смещением
По вертикали со смещением

Чтобы не превращать статью в листинг кода, я выложил все пять этапов эволюции в отдельный репозиторий.

[Ссылка на github] (https://github.com/Data7Viz/bit_log)

С ссылкой были вопросы поэтому дублирую

Ссылка на github

Заключение

Мобильная разработка на Си — это отличный способ держать мозг в тонусе. Когда у тебя нет под рукой IDE с автодополнением, начинаешь лучше помнить синтаксис и ценить каждый символ на экране.Этот проект был для меня интересным экспериментом — проверкой того, насколько далеко можно зайти в разработке, не вставая с дивана. Сейчас мой фокус сместился на другие задачи и более масштабные проекты, поэтому v5, скорее всего, останется финальной точкой в этой диванной истории. Но главный вывод сделан: инструмент (будь то мощный ПК или старенький планшет) — лишь средство, если есть желание что-то создать».


Комментарии (1)


  1. Hokum
    25.04.2026 18:49

    Можно вполне использовать и LSP и тогда автокомплит будет. Совсем не обязательно ограничивать себя только Си в таком варианте. Для iOS можно использовать iSH.

    Ну и можно просто подсоединиться по ssh к компьютеру. :)