Виды языков программирования
ПОНЯТЬ
Пользователь может решать свои практические задачи на компьютере либо с помощью прикладных программ (текстовый редактор, электронные таблицы и т.п.), либо создавая свою программу в какой-либо среде программирования. Сегодня прикладное программное обеспечение развито так хорошо, что необходимость в создании собственных программ возникает нечасто, но владение хотя бы одним языком программирования позволяет лучше представлять себе процессы, происходящие в компьютере, и точнее оценивать получаемые результаты.
Любая программа должна быть составлена человеком-программистом, записана в память компьютера и только потом она может быть выполнена процессором.
Для процессора программа представляет собой последовательность машинных команд, состоящих из нулей и единиц. Каждая команда "приказывает" процессору выполнить какие-то действия. Вся эта последовательность называется машинным кодом программы (или объектным кодом). Программисты первых ЭВМ писали программы в машинных кодах, но этот процесс был очень трудоёмким, а потому решили каждой команде присваивать название – мнемокод. «Мнемо» означает: то, что лучше запоминается. И конечно же, помнить, что операция сложения программу в виде названий команд, а потом компьютер (опять же по специальной программе) сам "переведет" каждую строку такой программы в нули и единицы. Такая программа, состоящая из мнемокодов машинных команд, называется ассемблерной, а язык мнемокодов - ассемблером.
Пример программы на языке Assembler
Ассемблер называют языком низкого уровня, поскольку программа на таком языке очень легко преобразовывается в команды, понятные процессору. Сегодня программы на ассемблере пишут только профессионалы – системные программисты. И то, лишь такие программы, которые невозможно написать на других языках - при разработке операционных систем, систем защиты данных и т.п. Здесь можно реализовать все возможности компьютера, обратиться к конкретной ячейке оперативной памяти или конкретному регистру процессора, но писать такие программы – очень трудоёмкое дело. Нужно досконально знать компьютер во всех его тонкостях, представлять взаимодействие всех его узлов, знать распределение памяти и многое другое.
Начиная с 60-х годов начинают активно создаваться языки программирования высокого уровня, которые по своим правилам, используемым словам и обозначениям (синтаксису и семантике) приближены к естественному языку, привычному для человека. Каждой «фразе» на таком языке соответствует от нескольких до нескольких тысяч машинных команд.
Процесс перевода с языка программирования в машинный код называется трансляцией. А программа, которая переводит написанную программистом программу на машинный язык, называется транслятором. Для каждого языка программирования существует свой транслятор.
Программа, записанная в виде предложений языка программирования, называется исходной программой. После трансляции исходного текста получается программа в объектном коде, которая может выполняться процессором.
Вы уже знаете, что на компьютере можно решать задачи, связанные с вычислениями, обработкой текстов, имитационным моделированием реальных процессов, созданием и использованием информационных систем, обработкой мультимедийной информации, систематизацией знаний и получением новых знаний путём логического вывода и т.п.
Решение любой задачи подразумевает наличие:
совокупности исходных данных;
желаемого результата решения;
процесса решения, то есть перехода от исходных данных к результату, который, как правило, состоит в необходимости выполнить определенную последовательность действий-процедур.

Рис. Схематичное представление решения задачи, где П1, П2,…, ПN – процедуры, составляющие процесс решения.
Всё многообразие языков программирования высокого уровня (а по оценкам специалистов их более 2000) можно разделить на те, которые предназначены для описания процесса решения, те, которые декларируют (задают, определяют), что же нужно получить в результате, и те, в которых имеются средства для такого описания исходных данных, что результат может быть получен путём логического вывода.
Языки программирования, предполагающие описание процесса решения задачи, называются процедурными или алгоритмическими. Само название «процедурные» горит о том, что программа на таком языке представляет собой описание последовательности отдельных процедур – действий, шагов, операций, – которые составляют процесс решения задачи.
Основные понятия – переменная и процедура. В переменных хранятся все данные, которые нужно обработать или получить (вычислить), а процедуры задают действия над данными и способы их выполнения.
Примеры процедурных языков программирования: Basic, Pascal, Fortran.
Декларативные (описательные) языки программирования предназначены для задач, для решения которых достаточно описать либо совокупность исходных данных (например, языки логического программирования), либо свойства и признаки результата, который хочет получить программист (например, языки разметки гипертекста), а все необходимые действия, входящие в процесс решения задачи, будут автоматически добавлены средой программирования.
Так, программа, написанная на языке логического программирования, описывает связи и отношения между объектами и величинами на языке логических операций и формул алгебры логики, но не определяет последовательность действий. В программе в явном виде указывается, какими свойствами должен обладать результат, но не говорится, каким способом он будет получен. Результат выводится на основании логических законов из описания, составленного на языке формальной логики.
Примером языка логического программирования является Prolog.
Пример программы на языке Prolog
Языки разметки гипертекста предназначены для создания сайтов, обучающих программ и т.п. Программа представляет собой описание оформления отдельных страниц сайта и переходов между страницами, то есть желаемого результата. В программе указываются какую информацию из какого файла и в каком виде отобразить на экране, а сам процесс отображения и перехода по гиперссылкам автоматически реализуется средствами языка программирования.
Пример языка разметки гипертекста – HTML (НyperText Language Marking).
Пример программы на языке HTML
Объектно-ориентированные языки программирования предназначены для моделирования ситуации, в которой возникает задача, и процесса его решения как единой системы. Такое моделирование наиболее близко к тому, как это делает человек при решении сложных задач. Основные понятия – объект, сообщение, метод, класс объектов, инкапсуляция (объединение в объекте данных и методов их обработки), наследование (сохранение характеристик и поведения порождающих объектов во вновь созданном объекте), полиморфизм (способность объектов следовать разным собственным методам).
Примеры объектно-ориентированных языков программирования: SmallTalk, Delphi, C++
Существуют и другие виды языков программирования – языки функционального программирования, визуального программирования и др.
Выше говорилось, что существуют разные версии одного и того же языка программирования. Но нужны специальные программные средства, которые бы позволяли работать с программами.
Вы помните, чтобы можно было работать с текстом, его прежде нужно ввести в память компьютера (введя с клавиатуры в текстовом редакторе или распознав отсканированный печатный текст).
Для работы с программами служат программные среды. Их основными компонентами являются:
встроенный текстовый редактор, позволяющий вводить текст программы в память компьютера;
отладчик, позволяющий проверять правильность написания программы;
транслятор, предназначенный для перевода программы с языка программирования на язык машинных команд, понятный процессору;
средства работы с окнами, дающие возможность работать одновременно с несколькими программами, а также переключаться из окна программы в окно результатов и обратно;
справочная система и многое другое.
Чтобы лучше узнать состав и возможности конкретной среды программирования, нужно изучить её меню.
ЗНАТЬ
Решение любой задачи – это получение желаемого результата на основании совокупности исходных данных.
Процесс решения задачи - переход от исходных данных к результату как последовательность определенных действий (процедур).
Чтобы задача решалась автоматически, необходимо составить и запустить на выполнение программу решения.
Процессор может выполнить программы, написанные только в машинном коде - языке «понятном» процессору. Человеку трудно программировать на таком низком уровне, а потому разработаны языки программирования высокого уровня, в которых процесс решения описывается в более привычном для человека виде.
Исходный текст программы, написанный на языке высокого уровня, преобразуется в последовательность команд, записанных в машинном коде, специальными программами – трансляторами.
Существует множество языков программирования высокого уровня. Их далеко не полная классификация представлена на рисунке.

УМЕТЬ
5