Найти в Дзене
Ибрагим Данилов

Большинство программистов, даже выучив язык от корки до корки, никогда не достигнут большего

Хорошо, все эти важные основы на уровне начального курса программирования. В большинстве вводных курсов по программированию учат, как читать и писать на C. Но поймите меня правильно: свободно владеть C очень полезно и этого достаточно, чтобы считать себя программистом, но это лишь часть более общей картины. Большинство программистов, даже выучив язык от корки до корки, никогда не достигнут большего. Преимущество хакеров в том, что они понимают, как взаимодействуют между собой все части общей картины. Чтобы смотреть на программирование шире, нужно просто понять, что код C предназначен для компиляции. Этот код не может ничего осуществить, пока он не будет скомпилирован в исполняемый двоичный файл. Восприятие исходного кода C как программы – обычное заблуждение, на котором систематически играют хакеры. Двоичные инструкции в a.out написаны на машинном языке – простом языке, понятном центральному процессору (ЦП). Компиляторы нужны для того, чтобы переводить код на языке C на машинные язы

Хорошо, все эти важные основы на уровне начального курса программирования. В большинстве вводных курсов по программированию учат, как читать и писать на C. Но поймите меня правильно: свободно владеть C очень полезно и этого достаточно, чтобы считать себя программистом, но это лишь часть более общей картины. Большинство программистов, даже выучив язык от корки до корки, никогда не достигнут большего.

Преимущество хакеров в том, что они понимают, как взаимодействуют между собой все части общей картины. Чтобы смотреть на программирование шире, нужно просто понять, что код C предназначен для компиляции. Этот код не может ничего осуществить, пока он не будет скомпилирован в исполняемый двоичный файл. Восприятие исходного кода C как программы – обычное заблуждение, на котором систематически играют хакеры. Двоичные инструкции в a.out написаны на машинном языке – простом языке, понятном центральному процессору (ЦП).

Компиляторы нужны для того, чтобы переводить код на языке C на машинные языки различных процессорных архитектур. В нашем случае процессор принадлежит к семейству архитектуры x86. Существуют также архитектуры процессоров Sparc (используется в рабочих станциях Sun) и PowerPC (используется в доинтеловских Маках). У каждой архитектуры свой машинный язык, поэтому компилятор выступает как промежуточное звено, переводя код C на машинный язык для целевой архитектуры