Простой Python. Современный стиль программирования (Любанович) - страница 10

Python против языка Х

Насколько Python хорош по сравнению с другими языками программирования? Где и когда следует использовать тот или иной язык? В этом разделе я приведу примеры кода, написанные на других языках, чтобы вы могли понять, с чем конкурирует Python. Вы не обязаны понимать каждый из этих фрагментов, если не работали с этими языками. (Когда вы увидите последний фрагмент, написанный на Python, то почувствуете облегчение из-за того, что не работали с некоторыми языками.) Если вам интересен только Python, вы ничего не потеряете, если не будете читать этот раздел.

Каждая программа должна вывести число и немного рассказать о языке, на котором она написана.

Если вы пользуетесь терминалом или терминальным окном, программа, которая читает то, что вы вводите, выполняет это и отображает результат, называется программой-оболочкой. Оболочка операционной системы Windows называется cmd, она выполняет пакетные файлы, имеющие расширение. bat. Для Linux и других операционных систем семейства Unix (включая Mac OS X) существует множество программ-оболочек, самая популярная из которых называется bash или sh. Оболочка обладает небольшими возможностями вроде выполнения простой логики и разворачивания символа-джокера наподобие * в полноценные имена файлов. Вы можете сохранять команды в файлы, которые называются сценариями оболочки, и выполнять их позже. Эти программы могли быть самыми первыми в вашей карьере программиста. Проблема заключается в том, что со сценариями оболочки трудно работать, если они содержат как минимум несколько сотен строк, а сами сценарии выполняются гораздо медленнее, чем программы, написанные на других языках. В следующем фрагменте кода демонстрируется небольшая программа-оболочка:

>#!/bin/sh

>language=0

>echo "Language $language: I am the shell. So there."

Если вы сохраните этот файл под именем meh.sh и запустите его с помощью команды sh meh.sh, то на экране увидите следующее:

>Language 0: I am the shell. So there.

Старые добрые С и С++ являются довольно низкоуровневыми языками программирования, которыми пользуются в том случае, когда важна скорость. Их труднее выучить, и вам придется отслеживать множество деталей, что может привести к падениям программы и проблемам, которые трудно диагностировать. Так выглядит небольшая программа на языке С:

>#include

>int main(int argc, char *argv[]) {

>····int language = 1;

>····printf("Language %d: I am C! Behold me and tremble!\n", language);

>····return 0;

>}

С++ происходит из одного семейства с С, но имеет несколько отличительных особенностей: