Говорят, для программирования на Си нужен стол, стул, мощный ПК и Linux. У меня другой стек: диван, планшет на Андроиде и Termux. Но иногда мой монитор помещается в карман — это смартфон.
В этой статье я расскажу, как небольшая лень привела к созданию пяти версий логического калькулятора и почему мобильный кодинг — это не только боль, но и своеобразная свобода.
Противостояние против индустрии
Идея родилась внезапно. Захотелось проверить одну логическую схему, но вставать и идти к компьютеру было выше моих сил. Так началось моё «преступление» против канонов профессиональной разработки.

Инструментарий
Чтобы превратить диван в рабочее место, мне понадобился стандартный набор для Termux:
<cut />
Clang / Gcc — компилятор.
Vim — как основной текстовый редактор.
Эволюция проекта: от корня до смещения
Разработка шла итерациями. Каждая версия решала конкретную проблему интерфейса на маленьком экране. Получилось v0, v1, v2, v3, v4, v5. Пять версий.
v0: Скелет
Самый первый запуск. Проверка того, что среда настроена верно.

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

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

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

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

v5: Финальный штрих (Смещение)
В последней версии та же вертикаль. Добавил смещение разрядов.

Чтобы не превращать статью в листинг кода, я выложил все пять этапов эволюции в отдельный репозиторий.
[Ссылка на github] (https://github.com/Data7Viz/bit_log)
С ссылкой были вопросы поэтому дублирую
Заключение
Мобильная разработка на Си — это отличный способ держать мозг в тонусе. Когда у тебя нет под рукой IDE с автодополнением, начинаешь лучше помнить синтаксис и ценить каждый символ на экране.Этот проект был для меня интересным экспериментом — проверкой того, насколько далеко можно зайти в разработке, не вставая с дивана. Сейчас мой фокус сместился на другие задачи и более масштабные проекты, поэтому v5, скорее всего, останется финальной точкой в этой диванной истории. Но главный вывод сделан: инструмент (будь то мощный ПК или старенький планшет) — лишь средство, если есть желание что-то создать».
Hokum
Можно вполне использовать и LSP и тогда автокомплит будет. Совсем не обязательно ограничивать себя только Си в таком варианте. Для iOS можно использовать iSH.
Ну и можно просто подсоединиться по ssh к компьютеру. :)