Программное обеспечение — это серия инструкций, данных машине. Процессор может выполнять только инструкции, представленные в определенной двоичной форме. За исключением экспериментальных механизмов, человек не может напрямую ввести двоичный код в представление, ожидаемое процессором: человек не может напрямую записывать битовые поля по ожидаемым адресам. Он вынужден проходить через отдельный код, называемый исходным кодом, который затем транслируется в двоичное представление, ожидаемое машиной, а затем загружается и выполняется целью.
Однако написание кода в двоичной форме, даже в отдельном файле, создает много проблем для людей. Это представление, состоящее только из непрерывной последовательности нулей и единиц, которую людям трудно читать, писать и поддерживать. Разнообразие микропроцессоров и компонентов, присутствующих в компьютере или ПЛК, означает, что двоичный код, созданный для системы, не может быть априори таким же, как на отдельной машине. Кроме того, существует столько двоичных кодов, сколько существует конфигураций и повышенной сложности, за исключением того, что человек может просто создать большой двоичный код.
Чтобы избежать этих ловушек и поскольку перевод необходим всегда, человек пишет текстовый код, чтобы он был более читаемым, понятным и простым в обслуживании: это исходный код, написанный на языке программирования . В большинстве случаев его легче читать, проще писать и он не зависит от целевой системы. Сторонняя программа ( компилятор , интерпретатор или виртуальная машина ) отвечает за перевод исходного кода в двоичный код, выполняемый целью.
Код, созданный человеком, называется исходным кодом ; способ написания этого исходного кода называется языком программирования ; транслятор этого кода в его двоичном представлении называется компилятором , интерпретатором или виртуальной машиной в зависимости от условий перевода.
В большинстве языков мы можем различать разные элементы в исходном коде:
элементы, описывающие алгоритм и данные (сам исходный код):
символы, обозначающие переменные, ключевые слова, обозначающие инструкции, представления данных;
буквальные константы.
комментарии, которые чаще всего документируют исходный код на естественном языке, предназначены для рецензентов исходного кода. Они не нужны для создания исполняемого кода, но могут использоваться компилятором, например, для автоматического создания документации.