Menu
Coddy logo textTech

Что такое исходный код?

Исходный код представляет собой понятный человеку текст программы: программист пишет его на языке вроде Python, Java или C и сохраняет в обычных текстовых файлах, а компилятор или интерпретатор превращает его в инструкции, которые компьютер может выполнить.

Автор: Kevin Spektor, Сооснователь и CTO

Обновлено 24 сентября 2026 г.

Открой любой файл с расширением .py, .c или .java в простом текстовом редакторе, и ты читаешь исходный код. Это такой же файл, как список покупок: буквы, цифры, пробелы и переносы строк. Программой его делает то, что текст следует правилам языка программирования, поэтому инструмент может превратить его в инструкции для процессора.

Как выглядит исходный код

Вот законченная программа на Python. Каждая строка здесь исходный код, включая комментарий, который компьютер пропускает, а следующий программист читает.

Total: 12

Та же программа на C тоже является исходным кодом, просто на другом языке с другими правилами:

#include <stdio.h>

int main(void) {
    int price = 4;
    printf("Total: %d\n", price * 3);
    return 0;
}

Настоящее приложение состоит из тысяч таких файлов. В ядре Linux больше 30 миллионов строк исходного кода, а у небольшого веб-приложения легко наберётся несколько сотен файлов. У каждого файла есть расширение, которое сообщает инструментам, на каком он языке:

РасширениеЯзык
.pyPython
.c, .hC
.cpp, .hppC++
.javaJava
.jsJavaScript
.goGo
.rsRust

Исходный код является обычным текстом

В исходном коде нет шрифтов, цветов и скрытого форматирования. Цвета, которые ты видишь в редакторе, добавляет сам редактор для удобства чтения; в файле они не хранятся. Поэтому код пишут в редакторе кода вроде VS Code и никогда в Microsoft Word: текстовый процессор сохраняет данные форматирования и «умные» кавычки, и получается файл, который язык не может прочитать. Обычно он отвергает такой файл с синтаксической ошибкой.

Раз это просто текст, программа может даже хранить исходный код другой программы в строке и запустить его:

<class 'str'>
3 lines of text
Total: 12

До последней строки source является обычной строкой. exec передаёт её Python, который читает текст и выполняет его. Вот вся жизнь исходного кода в миниатюре: сначала текст, потом инструкции.

Как исходный код становится работающей программой

Процессор твоего компьютера не умеет читать Python или C. Он выполняет только машинный код, то есть двоичные инструкции для одного конкретного типа процессора (x86-64 в большинстве ноутбуков и серверов, ARM в телефонах и Mac на Apple Silicon). Кто-то должен переводить. Есть два основных способа:

  1. Компилятор переводит всю программу заранее. Команда gcc hello.c -o hello читает исходный код на C и записывает новый файл hello, полный машинного кода. После этого можно удалить hello.c, а hello всё равно запустится.
  2. Интерпретатор выполняет исходный код напрямую. Команда python3 hello.py запускает интерпретатор Python, который читает hello.py и выполняет его инструкции. Отдельный файл программы не создаётся, поэтому исходный код нужен при каждом запуске.

Многие языки сочетают оба способа. Исходный код на Java компилируется javac в байт-код (файлы .class), а виртуальная машина Java выполняет этот байт-код. Полное сравнение есть на странице компилятор и интерпретатор.

Исходный, объектный и машинный код

Эти три термина описывают одну и ту же программу на разных стадиях:

ТерминКто его читаетПример
Исходный кодЛюди и компиляторыtotal = price * 3 в app.py
Объектный кодКомпоновщик (линкер)hello.o, результат gcc -c hello.c
Машинный код (исполняемый файл)Процессорhello в Linux или macOS, hello.exe в Windows

Если открыть скомпилированный исполняемый файл в текстовом редакторе, ты увидишь нечитаемые символы, потому что это двоичные данные, а не текст. На Mac первые четыре байта программы hello из примера выше равны cf fa ed fe в шестнадцатеричной записи: это метка исполняемого файла Mach-O. Такие сырые значения можно посмотреть в конвертере систем счисления.

Открытый и закрытый исходный код

Кто может читать исходный код, вопрос не только технический, но и юридический. Программы с открытым исходным кодом (open source) публикуют исходники под лицензией, которая позволяет любому читать, менять и распространять их. Python, Linux и Firefox относятся к open source. Программы с закрытым исходным кодом (проприетарные) распространяются только в скомпилированном виде. Microsoft Windows и Adobe Photoshop закрыты, и их исходный код является коммерческой тайной.

Исходный код, как и книга, защищён авторским правом. То, что ты нашёл код в интернете, не значит, что его можно использовать: прежде чем копировать что-то в свой проект, проверь файл лицензии, часто он называется LICENSE.

Распространённые заблуждения

  • «Просмотр кода страницы показывает исходный код сайта». Он показывает HTML, CSS и JavaScript, которые получил твой браузер. Серверная часть сайта (на Python, Java, PHP или другом языке) никогда не покидает сервер, поэтому увидеть её нельзя.
  • «Декомпилятор возвращает исходный код». Декомпилятор восстанавливает читаемый код из скомпилированной программы, но комментариев там уже нет, а имена часто потеряны, так что результат только догадка об исходнике, а не тот файл, который написали авторы.
  • «Код и исходный код означают одно и то же». Исходный код является версией, написанной людьми. «Код» шире и включает машинный код, байт-код и сгенерированный код.
  • «Исходный код должен быть на английском». Ключевые слова вроде if и print являются английскими словами, но имена переменных, комментарии и строки могут быть на любом языке. Исходные файлы Python 3 по умолчанию в кодировке UTF-8, поэтому и prix = 4, и # 合計を計算する допустимы.

Что изучить дальше

Исходный код проверяется до запуска, и первое, с чем сталкивается большинство новичков, это синтаксическая ошибка. Чтобы понять, чем различаются два способа выполнения исходного кода, прочитай, что такое компилятор, а затем компилятор и интерпретатор. Писать и запускать собственный исходный код можно прямо в браузере в песочнице Python или начать курс Python.

Часто задаваемые вопросы

Какой пример исходного кода можно привести?
Исходным кодом является любой файл, который программист пишет на языке программирования: скрипт Python вроде app.py, файл на C вроде main.c или JavaScript на веб-странице. Даже одна строка print("Hello"), сохранённая в файле .py, считается исходным кодом. Такие программы, как Firefox или Linux, состоят из миллионов его строк.
Чем код отличается от исходного кода?
Исходный код представляет собой написанную человеком версию программы на языке программирования. «Код» является более широким словом: оно охватывает и то, что инструменты получают из исходника, например машинный код, байт-код или автоматически сгенерированный код. В обычном разговоре программисты говорят «код», имея в виду исходный код, и из контекста всё понятно.
Как получить исходный код программы?
В твоих собственных проектах исходный код представляет собой набор файлов, которые ты написал, обычно в Git-репозитории. У программ с открытым исходным кодом он опубликован, часто на GitHub или GitLab. Исходник программы с закрытым кодом обычно получить нельзя: у тебя есть только скомпилированный исполняемый файл, а декомпилятор даёт в лучшем случае приблизительную версию без исходных комментариев и имён.
Является ли HTML исходным кодом?
Да. HTML является языком разметки, а не языком программирования, но файлы .html, которые пишет разработчик, являются исходным кодом веб-страницы, и браузеры так и называют их просмотр: «Просмотр кода страницы». То же относится к файлам CSS и к файлам JavaScript, которые загружает страница.
Что такое управление исходным кодом?
Управление исходным кодом, или контроль версий, означает запись каждого изменения в исходных файлах проекта: так видно, кто что изменил, можно вернуться к прежней версии и объединить работу нескольких людей. Самый распространённый инструмент для этого Git, а сервисы вроде GitHub и GitLab хранят Git-репозитории онлайн.
Coddy programming languages illustration

Учитесь программировать с Coddy

НАЧАТЬ