Занятие-лекция "Классификация языков программирования"

Разделы: Информатика, Внеклассная работа


Тема: Классификация языков программирования.

Цели и задачи:

Обучающие: дать понятия: “язык программирования”, “стиль программирования”, раскрыть классификацию языков программирования, рассказать о необходимости эффективного использования нужного языка программирования для решения конкретной поставленной задачи.

Развивающие: расширение кругозора детей, развитие познавательных процессов.

Воспитательные: развитие интереса к предмету “информационная культура”, воспитание самостоятельности при работе с предлагаемым материалом.

Ход занятия:

Организационный момент – 3 мин.

Лекция – 30 мин.

Закрепление темы – игра “Аукцион” – 7 мин.

Примечание:

Перед занятием детям раздаются портреты ученых, которые создали тот или иной язык программирования, с биографией. В течении занятия, когда педагог читает лекцию и называет имя ученого, ученик, у которого находится рассказ об этом ученом, встает, рассказывает биографию и показывает его портрет.

Занятие проходит в виде лекции – беседы.

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

Стили программирования (классификация системы программирования):

процедурный
функциональный
логический
объектно – ориентированный.

Процедурное программирование.

Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена Д. фон Нейманом  в 40–х г.г.

Языком программирования называют систему обозначений, служащую в целях точного описания алгоритмов для ЭВМ или, по крайней мере, достаточную для автоматического нахождения такого алгоритма.

Языки общения с компьютером:

Низкого уровня:

машинный: двоичный язык, шестнадцатеричный язык;
язык детализированных схем программ;
символический язык: язык Ассемблера, язык Макроассемблера.

Высокого уровня:

универсальные: Фортран, Basic, Алгол, Кобол, ПЛ\1, Паскаль, Ада;

специализированные.

Уровень языка программирования определяется смысловой емкостью его конструкций и его ориентацией на программиста – человека.

Двоичный язык – непосредственно машинный язык. В настоящее время такие языки программистами не применяются.

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

Язык детализированных схем программ – это не язык программирования, а язык представления алгоритмов при разработке программ, некогда широко используемый. В связи с низким уровнем этот язык в настоящее время на практике не применяется.

Язык Ассемблера – этот язык предназначен для представления в символической форме программ, записанных на машинном языке. Он позволяет программисту пользоваться мнемоническими кодами операций, по своему усмотрению присваивать символические имена регистрам ЭВМ и ячейкам памяти, а также задавать наиболее удобные в том или ином контексте схемы адресации.

Язык Макроассемблера – является расширением языка Ассемблера за счет включения макросредств, т.е. представляет средство определения и использования новых, более мощных команд, как последовательностей базовых инструкций, что несколько повышает его уровень.

Фортран – первый и распространенный язык, был разработан в 1956 г. сотрудником формы IBM Дж. Бекусом (математик). Язык за несколько лет совершенствуется и в 1966 г. – Фортран – 66 – стандартизирован Американским национальным институтом стандартов (ANSI). Всем хорош Фортран, но все – таки сложен для многих пользователей, которым желательно прежде всего простота. И такой язык был изобретен на базе Фортрана – это Бейсик.

BASIC – (многоцелевой язык символических инструкций для начинающих) создали его Дж. Кемени и Т. Куртц. Простой язык программирования, разработанный в 1964 г. для использования новичками в Дортмутском колледже, как средство для обучения программированию, язык популярен.

Алгол – создан в 1960 г. (поэтому его иногда называют Алгол – 60). Развитием языка Алгол – 60 является Алгол – 68, созданный в Западной Европе Международной Федерацией. Версия Алгол – 68 обладала богатым набором средств, высокой строгостью и стройностью, но и большой сложностью. Ее реализация затянулась на долгие годы, в результате чего время было упущено и данный язык в некотором смысле, пережил самого себя – устарел, практически прекратив свое существование.

Кобол – общий язык, ориентированный на экономические применения, на обработку коммерческой информации, разработан в 1960 г. для применения в экономике и за период своего существования, как и многие языки, претерпевший ряд изменений. В настоящее время используются стандарты COBOL – 74, 85.

ПЛ\1 (PL/1) – этот язык является попыткой совместить все лучшее, что есть в Алголе и Коболе. Был создан на фирме IBM в 1966 – 67 г.г. в настоящее время практически не используется.

ПАСКАЛЬ (PASCAL) – этот язык является прямым развитием направления Алгола, он стал одним из наиболее популярных процедурных языков программирования среди прикладных программистов. Он разработан в 1970 г. швейцарским специалистом в области вычислительной техники профессором Н. Виртом, назван в честь французского математика Блеза Паскаля и, по замыслу автора, предназначался для обучения программированию. В настоящее время существует 3 PASCAL – стандарта:

британский стандарт BS6192: 1982 г.,
международный стандарт ISO 7185:1983г., идентичный предыдущему;
ANSI – стандарт

АДА – разработан в 1979 г. ведущими специалистами в области программирования по заказу Министерства обороны США для использования во встроенных системах с управляющими ЭВМ, что требует поддержки режима реального времени. Язык назван в честь Августы Лады Лавлейс, она по праву считается первым в мире программистом. АДА является продолжением направления Алгола. Язык отталкивает своей громоздкостью, хотя с 1986 г. он стал обязательным для многих военных приложений в США.

Существующие универсальные языки моделирования GPSS, Симула, Симскрипт и другие, в сочетании с универсальными языками программирования, позволяют создавать специализированные пакеты моделирующих программ.

Язык С – первоначально разработан в начале 70–х гг. для реализации разработки систем, трансляторов, баз данных и других системных и прикладных программ, т.е. создавался не как учебный, а как инструментальный язык.

Modula – 2 – 1979 г. – создан Н. Виртом, но подобно С, в нем присутствуют низкоуровневые средства.

APL – был создан Иверсоном в 1969 г. и сразу получил широкое распространение. Основное его назначение – обработка массивов.

LOGO (ЛОГО) – с целью обучения детей в 1960 г. разработан и используется в настоящее время. Он отличается простотой, но весьма богатыми возможностями, среди которых процедуры, графическое средство и др. Создали С. Пейпер с коллегами из Массачусетского технологического института (США) – управление “черепахой” – программной моделью малого робота.

GPSS – общецелевая система моделирования

Функциональное программирование.

А.П. Ершов: “Функциональное (аппликативное) программирование – это способ составления программ, в которых единственным действием является вызов функции…”

LISP (ЛИСП) (обработка списков) – самый первый функциональный язык, разработан и реализован группой авторов под руководством пионера в области искусственного интеллекта Джоном Маккарти в Массачусетском технологическом институте в 1959 г. для исследования по проблеме “искусственного интеллекта”.

Языки: VALID, VAL, ID, LUCID, PLANIVER, CONNIVER, ML.

Логическое программирование.

Язык PROLOG (программирование в терминах логики) – создан в 1972 г. французским ученым А. Кольмероэ, первоначально предназначен для работы с естественными языками.

Объектно – ориентированное программирование.

Симула (SIMULA) – 1967 г.

Симскрипт (SMALLTALK) – 1972 г. – разработан А. Кеем для реализации функциональной графики.

Классификация языков программирования по типам задач.

Эффективность использования языков программирования можно значительно повысить, если знать, для решения каких задач предназначен тот или иной из них.

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

Задачи искусственного интеллекта

Lisp, Prolog, Multilisp, Commonlisp, Planner, QA4, FRL, KRL, Qlisp, Рефал.

Параллельные вычисления

Fun, APL, Alfl, ParAlfl, ML, SML,PPL/1, Hope, Miranda, Occam, PFOR, Glypnir, Actus, параллельный Кобол, ОВС – ЛЯПАС, ОВС – МНЕМОКОД, ОВС – АЛГОЛ, ОВС – Фортран, язык РА (1), язык РА (G).

Задачи вычислительной математики и физики

Occam, PFOR, Glypnir, Actus, параллельный Кобол, ОВС – ЛЯПАС, ОВС – МНЕМОКОД, ОВС – АЛГОЛ, ОВС – Фортран, язык РА (1), язык РА (G)

Разработка интерфейса

Форт, С, С++, Ассемблер, Макроассемблер, Ява, РПГ, SIMULA – 67, Oak SMALLTALK.

Разработка программ – оболочек, разработка систем

Форт, С, С++, Ассемблер, Макроассемблер, Ява, РПГ, SIMULA – 67, Oak SMALLTALK.

Задачи вычислительного характера

Алгол, Фортран, Кобол, Ада, ПЛ\1, Фокал, Бейсик, Паскаль.

Оформление документов, обработка больших текстовых файлов, организация виртуальных трехмерных интерфейсов в Интернете, разработка баз данных.

HTML,Perl,Tc/1Tk, VRML, SQL, PL/SQL, INFORMIX 4GL, NATURAL, DDL, DSDL, SEQUEL, QBE, ISBL.

Закрепление пройденного материала – “Игра – Аукцион”.