Почему Python называется языком сценариев, а C ++ - нет? Почему C ++ обычно работает быстрее Python? Почему нам нужно компилировать C ++, а не Python? Что компилирует? Что такое компилятор?

Начнем с того, что и Python, и C ++ являются языками программирования. Мы создали их, чтобы мы могли общаться с компьютерами.

Чтобы упростить задачу, давайте рассмотрим Python и C ++ как двух людей. Python - португальский, а C ++ - китайский. Они оба едут в Квебек и хотят заказать путины в ресторане в Квебеке.

Но проблема в том, что ни один из них не понимает французского и, следовательно, не может общаться с официантками.

Python решает нанять переводчика, который знает португальский и французский языки. Это быстро и легко. С помощью переводчика он выполняет свою работу.

Однако C ++ решает вместо этого выучить французский. Он нанял инструктора, говорящего как на китайском, так и на французском. А с помощью преподавателя французского C ++ научился говорить по-французски. С ++ требуются месяцы, чтобы превратиться из того, кто не говорит по-французски, в того, кто владеет французским.

Теперь и Python, и C ++ отправляются в другой город в Квебеке и хотят заказать путины в местном ресторане. Python нужно снова нанять переводчика, чтобы заказать путины. Однако C ++ этого не делает, потому что он уже понимает французский.

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

Резюме

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

Для Python мы используем интерпретатор Python, например, Jupyter или Python. Эти интерпретаторы могут понимать Python и на лету переводить фрагмент кода Python и давать инструкции компьютерам. Это немного сбивает с толку, потому что один из самых популярных интерпретаторов Python также называется Python.

Для C ++ мы используем компилятор C ++, например, GCC или clang. Они называются компиляторами, потому что они будут читать код C ++ и генерировать двоичный исполняемый файл, который может выполняться компьютерами напрямую. Этот процесс перехода от исходного кода к двоичным исполняемым файлам называется компиляцией.