Некоторые замечания об алгоритмических языках

В настоящее время основными алгоритмическими языками, изучаемыми в учебных заведениях, являются языки следующих групп: PASCAL, C, BASIC, ASSEMBLER. В последние годы в некоторых учебных заведения начали изучать язык PYTHON. Сам его транслятор написан на языке С.
Авторы, рекламирующие этот язык, относят его к языкам высокого уровня, в то время как С - к языкам более низкого уровня.
Языки первых трех групп не сильно различаются друг от друга. Т.е. общая структура программ там, практически, очень подобная. Идентичные по смыслу операторы записываются почти одинаково. Там может несколько различаться синтаксис, но общая структура очень подобная. К этой же группе можно отнести и язык FORTRAN, использование которого в настоящее время значительно сокращено. Все эти языки относятся к т.н. ЯЗЫКАМ ВЫСОКОГО УРОВНЯ (ЯВУ). Другого типа язык ASSEMBLER. Это язык низкого уровня. При его использовании существенно повышаются требования к пониманию внутренней структуры компьютера. Программировать и отлаживать программы на ASSEMBLERе значительно более трудоёмкое занятие, чем на ЯВУ. В связи с этим, естественно, возникает вопрос : а зачем он тогда нужен ? При ответе на этот вопрос я привожу такую аналогию. Вы решили строить дом. У Вас есть деньги. Вы можете собрать дом из стандартных блоков, соединив их каким-то образом. Вы можете сделать его из вычурных элементов, разработанных именно Вами. Этот второй способ дороже. Но результат в этом случае может быть значительно лучше. Поэтому обычно поступают следующим образом. Основную часть проекта делают на ЯВУ, что позволяет написать и отладить его относительно быстро. Ту часть проекта, которая наиболее требовательна по времени и (или) памяти — пишется на ASSEMBLERе. Любой ЯВУ позволяет такое объединение.
Имеются еще несколько понятий, знание которых необходимо, перед тем, как следует начинать заниматься изучением программирования (на любом языке).
Это следующие понятия.
АЛГОРИТМ — последовательность действий, приводящая к нужному результату. Отсюда понятно, что может быть алгоритм приготовления борща или раскроя ткани при пошиве брюк.
ПРОГРАММА — реализация АЛГОРИТМА на конкретном языке программирования (если мы говорим о программировании). Т.е. один и тот же алгоритм может быть реализован на разных языках.
Отсюда ясно, что АЛГОРИТМ более общее понятие, чем ПРОГРАММА.
Поэтому перед тем как начинать учиться писать ПРОГРАММЫ, следует научиться создавать АЛГОРИТМЫ.
ТРАНСЛЯТОР — специальная программа, переводящая написанный Вами текст на любом языке программирования во внутренние команды процессора.
КОМПИЛЯТОР — ТРАНСЛЯТОР, переводящий сразу ВСЮ исходную программу во внутренние команды процессора. Таковыми являются трансляторы со всех упомянутых тут языков, кроме BASIC и PYTHON.
ИНТЕРПРЕТАТОР — ТРАНСЛЯТОР, переводящий во внутренние команды процессора по одному оператору исходного текста и тут же их исполняющий. К таковым относятся трансляторы BASIC и PYTHON. По этой причине ИНТЕРПРЕТАТОРЫ всегда работают медленнее КОМПИЛЯТОРОВ. Основным достоинством ИНТЕРПРЕТАТОРОВ раньше было удобство ОТЛАДКИ, т.е. возможности отслеживать результаты работы программы начиная с любого места и по отдельным операторам. В настоящее время все КОМПИЛЯТОРЫ имеют эти возможности.