Код и разработка
О разделе
Совсем с нуля, без опыта за ПК — сначала Основы компьютерной грамотности, затем программа и этот том.
Раздел "Код и разработка" — мост между программой как инструкциями для ПК и профессиональной инженерией — языками, фреймворками, архитектурой. Здесь разбирают, как записывают логику (синтаксис, операторы, стиль), как она доходит до процессора (компиляция, байт-код, JIT, память, потоки) и как удерживают проект живым (модули, зависимости, отладка, Git).
ИИ в этом контуре — ускоритель черновика и объяснений; антипаттерны "код по наитию" и однотипный мусорный вывод — в вайб-кодинге и нейрослопе. Рабочий цикл с LLM — Генерация кода; готовые промпты с разбором — Prompt engineering — библиотека.
Если в базовой информатике вы уже прошли алгоритмы и блок-схемы, этот том переводит те же идеи на язык разработчика — с большей глубиной и практикой.
Школьный обзор (этап 28). Направления программирования, цикл написания программы, понятия языка (алфавит, синтаксис, транслятор), структуры данных, графы, ошибки — раздел 22 «Базовой информатики».
Сборка, Run в IDE, dev-сервер в терминале, Docker — единая шпаргалка для новичка: Запуск и перезапуск приложений.
Где исполняется собранный код (bare metal, ВМ, контейнер, облачный worker) — четыре модели развёртывания; среда JVM/CLR — в 4.03 Выполнение кода.
Алгоритмы
21 элемент
Код
25 элементов
Выполнение кода
18 элементов
Проект, структура и фреймворки
14 элементов
Асинхронность
9 элементов
Архитектура выполнения
11 элементов
Парадигмы и уровни абстракции
8 элементов
Объектно-ориентированное программирование
11 элементов
Зависимости
6 элементов
ORM и работа с данными
14 элементов
Десктопные приложения
18 элементов
Мобильные приложения
21 элемент
Основы работы с Git
12 элементов
Разработка и отладка
26 элементов
Сборка мусора
5 элементов
Параллельные вычисления
15 элементов
Веб-разработка
9 элементов
Разработка графики
17 элементов
. Код и разработка - о разделе
От алгоритмов и синтаксиса до архитектуры, отладки и инженерных практик — что стоит за «магией» кода и почему разработка шире, чем набор команд.
Три опорных понятия
| Понятие | Смысл в одной фразе | Где углубиться |
|---|---|---|
| Алгоритм | Конечный план решения задачи с понятными шагами | 4.01 Алгоритмы |
| Программа | Инструкции и данные для ЭВМ; на диске — файл, в работе — процесс | 1.19 Программа |
| Код | Текст на языке программирования (или машинные инструкции), подчинённый правилам синтаксиса и несущий смысл через семантику | 4.02 Что такое код |
| Среда выполнения | JVM, CLR, интерпретатор: загрузка модулей, память, GC, JIT | 4.03 Выполнение кода, 4.06 Архитектура выполнения |
Вычисление в информатике — преобразование входной информации в выходную по заданным правилам: от сложения двух чисел до прогноза по опросу. Программа реализует алгоритм; процессор и среда выполнения проводят вычисление во времени.
От идеи к исполнению
- Алгоритм — что делать (часто словами, блок-схемой, псевдокодом).
- Исходный текст — синтаксическая единица языка — определения, операторы, комментарии (синтаксис проверяется компилятором или IDE).
- Трансляция — компиляция заранее, интерпретация по ходу или гибрид (байт-код + JIT, транспиляция). Подробно — трансляторы, компиляторы и интерпретаторы.
- Исполняемый образ на диске загружает программный загрузчик под управлением ОС.
- Процесс — запущенный экземпляр программы в ОЗУ; процессор выполняет инструкции до завершения или ошибки. Внутри процесса работают потоки — наименьшие единицы выполнения при многозадачности. Цепочка "файл на диске → процесс → потоки" — программа, процесс и поток.
Уровни представления кода
| Уровень | Кто читает | Пример |
|---|---|---|
| Машинный код | Процессор (опкоды — двоичные коды операций из ISA) | B4 0E, CD 10 на x86 |
| Ассемблер | Человек через мнемоники (mov, add) | Машинное слово |
| Низкоуровневые языки | Мнемоники, директивы, привязка к ISA | Ассемблер x86/ARM, CIL |
| Высокоуровневые языки | Абстракции; платформу подключает транслятор | Python, C#, Go |
| Декларативные фрагменты | Платформа выбирает порядок шагов | SQL, HTML, часть конфигов |
Низкий уровень — близость к машинному коду: ассемблер, ручной контроль памяти в C. Высокий уровень — краткие конструкции вместо длинного машинного текста и переносимость сути алгоритма через компилятор или VM (подробнее).
Подавляющее большинство программ пишут на высоком уровне; нативный код (native code) — машинные инструкции под конкретную платформу, обычно результат компиляции или JIT.
Синтаксис и семантика
- Синтаксис — правила, какие комбинации символов считаются корректной программой (скобки, точки с запятой, объявления). Ошибки синтаксиса ловят на ранних этапах трансляции.
- Семантика — что эти конструкции означают при выполнении (присваивание меняет память,
ifветвит поток).
Один и тот же синтаксис в разных языках может нести разный смысл; наоборот, похожие задачи в Python и Java выражают разным синтаксисом.
Программирование и парадигмы
Программирование в узком смысле — написание исходного кода; в широком — весь цикл создания ПО (требования, тесты, сопровождение). Человек, который этим занимается, — программист; в команде роли делятся (разработчик, архитектор, тестировщик).
Исходные тексты чаще строят в императивном стиле — явная последовательность команд и изменение состояния. Параллельно применяют декларативные подходы (функционное, логическое, запросы к данным) — см. Программные парадигмы.
Комментарии в коде не исполняются; они помогают людям понимать и сопровождать текст. Сценарии (скрипты) — программы, которые обычно интерпретируют без отдельной фазы сборки (оболочка, Python, макросы).
Рекомендуемый порядок внутри раздела
| Этап | Подраздел | Зачем |
|---|---|---|
| 1 | 4.01 Алгоритмы | План до синтаксиса |
| 1a | Big-O — шпаргалка | O(n) по коду на Python, ловушки list / set |
| 2 | 4.02 Код | Синтаксис, коллекции, функции, циклы |
| 3 | 4.03 Выполнение | Память, CPU, VM, JIT |
| 4 | 4.07 Парадигмы | Стили мышления |
| 5 | 4.04 Проект и фреймворки | Структура приложения |
| 5a | IDE и редакторы | Подсветка, IntelliSense, отладчик в одной среде |
| 6 | 4.13 Git · 12 команд | История изменений кода |
| 6a | Отладка | Точки останова, символы, GDB |
| 6b | Тестирование для разработчика | Unit-тесты, Red–Green–Refactor, связь с 7.05 |
| 6c | DevTools в браузере | Elements, Console, Network, Sources |
Дальше — специализации — ООП, асинхронность, разработка графики (модель, render, GPU-конвейер — до Canvas и Unity), веб-разработка, мобильные (Flutter — виджеты в Lab, Dart — Flutter) и десктоп (WinForms/WPF в Lab, Tkinter в Lab, Java Swing в Lab). Для веб-UI на React — галерея компонентов после 272.
С нуля за ПК — Основы компьютерной грамотности.
Школьный маршрут — алгоритмы и языки в базовой информатике.
Правовой статус программ — интеллектуальные права.
Конкретные языки — раздел 5. Языки.
Смежная гигиена: Опасные скрипты — терминал, Git и проверка команд от ИИ-агента в IDE; для API smoke-test из консоли — утилита curl, curl / fetch — примеры.
В подразделах 4.01–4.03, 4.05–4.08, 4.15–4.16 сложные идеи по возможности даются сначала на русском алгоритмическом псевдокоде, затем — примером на конкретном языке.
Подразделы про Git, мобильные и десктопные приложения опираются на платформы — там псевдокод уместен точечно.
Развёрнутый образец — "Параллельные вычисления".
Этот том про алгоритмы, синтаксис, отладку и Git. Как устроены требования, тестирование на уровне проекта, релизы, сопровождение и роли в команде — в томе Проект: методология и SDLC