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

