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

Код и разработка


О разделе

Совсем с нуля, без опыта за ПК — сначала Основы компьютерной грамотности, затем программа и этот том.

Раздел "Код и разработка" — мост между программой как инструкциями для ПК и профессиональной инженерией — языками, фреймворками, архитектурой. Здесь разбирают, как записывают логику (синтаксис, операторы, стиль), как она доходит до процессора (компиляция, байт-код, JIT, память, потоки) и как удерживают проект живым (модули, зависимости, отладка, Git).

ИИ в этом контуре — ускоритель черновика и объяснений; антипаттерны "код по наитию" и однотипный мусорный вывод — в вайб-кодинге и нейрослопе. Рабочий цикл с LLM — Генерация кода; готовые промпты с разбором — Prompt engineering — библиотека.

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

Школьный обзор (этап 28). Направления программирования, цикл написания программы, понятия языка (алфавит, синтаксис, транслятор), структуры данных, графы, ошибки — раздел 22 «Базовой информатики».

Сборка, Run в IDE, dev-сервер в терминале, Docker — единая шпаргалка для новичка: Запуск и перезапуск приложений.

Где исполняется собранный код (bare metal, ВМ, контейнер, облачный worker) — четыре модели развёртывания; среда JVM/CLR — в 4.03 Выполнение кода.

Три опорных понятия

ПонятиеСмысл в одной фразеГде углубиться
АлгоритмКонечный план решения задачи с понятными шагами4.01 Алгоритмы
ПрограммаИнструкции и данные для ЭВМ; на диске — файл, в работе — процесс1.19 Программа
КодТекст на языке программирования (или машинные инструкции), подчинённый правилам синтаксиса и несущий смысл через семантику4.02 Что такое код
Среда выполненияJVM, CLR, интерпретатор: загрузка модулей, память, GC, JIT4.03 Выполнение кода, 4.06 Архитектура выполнения

Вычисление в информатике — преобразование входной информации в выходную по заданным правилам: от сложения двух чисел до прогноза по опросу. Программа реализует алгоритм; процессор и среда выполнения проводят вычисление во времени.

От идеи к исполнению

  1. Алгоритм — что делать (часто словами, блок-схемой, псевдокодом).
  2. Исходный текст — синтаксическая единица языка — определения, операторы, комментарии (синтаксис проверяется компилятором или IDE).
  3. Трансляция — компиляция заранее, интерпретация по ходу или гибрид (байт-код + JIT, транспиляция). Подробно — трансляторы, компиляторы и интерпретаторы.
  4. Исполняемый образ на диске загружает программный загрузчик под управлением ОС.
  5. Процесс — запущенный экземпляр программы в ОЗУ; процессор выполняет инструкции до завершения или ошибки. Внутри процесса работают потоки — наименьшие единицы выполнения при многозадачности. Цепочка "файл на диске → процесс → потоки" — программа, процесс и поток.

Уровни представления кода

УровеньКто читаетПример
Машинный кодПроцессор (опкоды — двоичные коды операций из 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, макросы).

Рекомендуемый порядок внутри раздела

ЭтапПодразделЗачем
14.01 АлгоритмыПлан до синтаксиса
1aBig-O — шпаргалкаO(n) по коду на Python, ловушки list / set
24.02 КодСинтаксис, коллекции, функции, циклы
34.03 ВыполнениеПамять, CPU, VM, JIT
44.07 ПарадигмыСтили мышления
54.04 Проект и фреймворкиСтруктура приложения
5aIDE и редакторыПодсветка, IntelliSense, отладчик в одной среде
64.13 Git · 12 командИстория изменений кода
6aОтладкаТочки останова, символы, GDB
6bТестирование для разработчикаUnit-тесты, Red–Green–Refactor, связь с 7.05
6cDevTools в браузере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

аналитика

тестирование.