Перейти к основному содержимому

О разделе

Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (3–15 строк) по-прежнему прямо в markdown. Пилот интеграции — Каталог примеров кода.

Фундамент как код превращается в программу. Стадия SDLC, на которой код становится продуктом — Конструирование ПО.

Код — формальная запись инструкций на языке программирования (или машинных команд), подчинённая синтаксису и несущая семантику — то, что произойдёт при выполнении. Исходный текст программы — то, что редактируют в IDE; после трансляции получают исполняемый образ и процесс в памяти.

ВопросОтвет в двух словахСтатья
Чем код отличается от алгоритма?Алгоритм — план; код — запись плана на языкеАлгоритмы
Что такое язык программирования?Формальная система синтаксиса и семантики; профиль: типы, парадигма, runtimeЯзык программирования
Что проверяет компилятор сначала?Синтаксис — "правильно ли написано"Ключевые слова
Кто выполняет смысл строк?Семантика языка + среда выполненияВыполнение кода
Где машинные нули и единицы?После компиляции или JIT — машинный кодВыполнение кода
Как улучшать структуру без смены поведения?Рефакторинг, запахи кода, малые шаги + тестыМетоды рефакторинга
Как сопоставить код с предметной областью?MAPPER, указатель по симптомамКультура кода 7.10, справочник тем
Как заменить "голые" string/int на типы домена?Value objects, реификация примитивовПримитивы и маленькие типы
Массив, map, set — что выбрать в коде?Скаляр vs коллекции, задача → структураКоллекции и типы в коде
Что такое "однострочники" в коде?Краткие идиоматичные записи типовых операцийОднострочные приёмы
Как искать и проверять текст по шаблону?RegEx — метасимволы, группы, флагиРегулярные выражения
WebAssembly — что это?Бинарный формат в браузере и beyond; связь с JS, Rust, C#WebAssembly (WASM)
Как ставить несколько версий Python/Node/Java?nvm, pyenv, rustup, sdkman, asdfМенеджеры версий
npm, pip, cargo — чем отличаются?Пакетные менеджеры и первые командыПакетные менеджеры
Как проверять входные данные извне?null, тип, правила валидности на границе модуляПроверка и валидация
Где взять готовый regexp для email, телефона, лога?Лаборатория с разбором по блокам и кодомRegex — готовые паттерны
Что такое побитовый оператор?Действие над битами целого (маски, флаги, сдвиги)Операторы — побитовые

Зачем этот раздел

База до языков — синтаксис, компиляция, циклы, стиль. Карта свойств языка (типизация, парадигма, память, платформа) — в Язык программирования. Без этого сложнее понимать ошибки компилятора и runtime.

Никлаус Вирт формулировал суть так: программы = алгоритмы + структуры данных. В энциклопедии алгоритмы — в 4.01 (практика оценки сложности по коду — Lab / Big-O — 1128), работа с данными и типами — в соседних главах этого подраздела; организация всего проекта вокруг кода — в разделе "Проект". Школьная подготовка — глава 4 базовой информатики; общая карта тома — Код и разработка.


С чего начать

ШагМатериал
1Что такое код — симуляторы и основы
2Язык программирования — карта понятий и таблица языков раздела 5
3Коллекции и типы в коде — скаляр, массив, map, set
4Циклы, функции — перебор коллекций
5Итогичек-лист

Частые ошибки при старте

ОшибкаЧто делать
Зубрёжка без запускаПройдите интерактивы на Что такое код и как он работает
Путаница compile/runБлок про компилятор в Что такое код и как он работает
Сразу фреймворкСначала переменные и циклы в разделе

Что попробовать

  1. Один пример на странице Что такое код и как он работает (симулятор компиляции).
  2. Перепишите псевдокод ЕСЛИ…ТО… на знакомом языке.
  3. Чек-лист — отметьте слабые пункты.


В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

Первый коммитКак работает компьютер — о разделе, Терминал — о разделе, Программа — о разделе, Основы работы с Git — о разделе, Python — о разделе, Разработка и отладка — о разделе.

База программистаАлгоритмы — о разделе, Выполнение кода — о разделе, Основы интеграционного взаимодействия — о разделе, Проект, структура и фреймворки — о разделе, Основы информационной безопасности — о разделе, Асинхронность — о разделе.