Языки и методы программирования

Содержание

Слайд 2

Содержание Исторический обзор языков программирования. Парадигмы программирования

Содержание

Исторический обзор языков программирования.
Парадигмы программирования

Слайд 3

Предпосылки развития программирования 20-х года XIX века - Ч.Бэббидж – высказал

Предпосылки развития программирования

20-х года XIX века - Ч.Бэббидж – высказал мысль

о предварительной записи порядка действий машины для последующей автоматической реализации вычислений – программе
Перфокарты, Жозеф Мари-Жаккар
Слайд 4

Предпосылки развития программирования Ада Лавлейс - первый в мире программист. теоретически

Предпосылки развития программирования

Ада Лавлейс - первый в мире программист. теоретически разработала

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

Предпосылки развития программирования Джон Моучли, сотрудник Пенсильванского университета - предложил системы

Предпосылки развития программирования

Джон Моучли, сотрудник Пенсильванского университета - предложил системы кодирования

машинных команд с помощью специальных символов.
Грейс Мюррей Хоппер, - «третий в мире программист первого в мире большого цифрового компьютера». - подпрограммы, отладка
Слайд 6

ENIAC

ENIAC

Слайд 7

ENIAC

ENIAC

Слайд 8

Исторический обзор языков программирования 1951 г. Хоппер - первый в мире

Исторический обзор языков программирования

1951 г. Хоппер - первый в мире компилятор.
Компилятор

Хоппер осуществлял функцию объединения команд и в ходе трансляции производил организацию подпрограмм, выделение памяти компьютера, преобразование команд высокого уровня (в то время псевдокодов) в машинные команды.
Слайд 9

В 1954 г. группа под руководством Г.Хоппер разработала систему, включающую язык

В 1954 г. группа под руководством Г.Хоппер разработала систему, включающую язык

программирования и компилятор, которая в дальнейшем получила название MATH-MATIC.
Слайд 10

«Существует много различных людей, которым нужно решать разные задачи. Некоторые из

«Существует много различных людей, которым нужно решать разные задачи. Некоторые из

них связаны с обработкой символов, другие - с обработкой слов, и им нужны языки другого типа, а не наши попытки превратить их всех в математиков».
В 1958 г. появился FLOW-MATIC - первый язык для задач обработки коммерческих данных.
Слайд 11

FORTRAN В середине 50-х годов под руководством Джона Бэкуса для фирмы

FORTRAN

В середине 50-х годов под руководством Джона Бэкуса для фирмы IBM

был разработан алгоритмический язык программирования FORTRAN. Основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода.
FORTRAN (FORmula TRANslator) - предоставлял возможность записи алгоритма вычислений с использованием условных операторов и операторов ввода/вывода
Слайд 12

FORTRAN для FORTRAN было создано огромное количество библиотек (статистические комплексы, пакеты

FORTRAN

для FORTRAN было создано огромное количество библиотек (статистические комплексы, пакеты управления

спутниками и т.д.)
HPF(High Performance Fortran) для параллельных суперкомпьютеров с множеством процессоров
Слайд 13

FORTRAN К языку FORTRAN предъявлялись требования cоздания высокоэффективного кода. Поэтому многие

FORTRAN

К языку FORTRAN предъявлялись требования cоздания высокоэффективного кода. Поэтому многие конструкции

языка первоначально разрабатывались с учетом архитектуры IBM 407. С целью некоторой возможной на тот момент унификации языка язык FORTRAN IV, разработанный в 1966 году, стал первым стандартом, именуемым FORTRAN 66.
Слайд 14

ALGOL ALGOL (ALGOrithmic Language) - разработан под руководством Питера Наура в

ALGOL

ALGOL (ALGOrithmic Language) - разработан под руководством Питера Наура в конце

50-х годов
Основная цель - независимость от конкретной архитектуры вычислительной системы, так же удобство описания алгоритмов и применение системы обозначений, близкой к той, что принята в математике.
Слайд 15

ALGOL Algol был призван заменить Фортран, но из-за более сложной структуры

ALGOL

Algol был призван заменить Фортран, но из-за более сложной структуры не

получил широкого распространения. В 1968 году была создана версия Алгол 68, по своим возможностям долго опережавшая многие языки программирования.
Слайд 16

PL/1 ПЛ/1 -1965 год. (Program­ming Language 1, т. е язык программирования

PL/1

ПЛ/1 -1965 год. (Program­ming Language 1, т. е язык программирования 1).


разработан при содействии фирмы IBM.
цель - создать язык, сочетающий в себе лучшие свойства Алгола, Кобола и Фортрана. ПЛ/1 действительно подходит для решения широкого круга задач и является более гибким по сравнению с Алголом, Коболом и Фортраном.
Слайд 17

Cobol Cobol (Кобол)- язык для программирования экономических задач. хорошо развиты средства

Cobol

Cobol (Кобол)- язык для программирования экономических задач.
хорошо развиты средства обработки

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

Языки обучения программированию В 1965 году Т. Куртц и Д. Кемени

Языки обучения программированию

В 1965 году Т. Куртц и Д. Кемени -

язык для обучения программированию, который являлся упрощенной версией Фортрана и получил название Бейсик (Beginner's All-purpose Simbolic Instruction Code, т.е. многоцелевой код символических команд для начинающих).
Слайд 19

Языки обучения программированию В 1971 году профессор Н. Вирт из Технического

Языки обучения программированию

В 1971 году профессор Н. Вирт из Технического университета

в Цюрихе разработал новый язык, известный под названием "Паскаль" (в честь хорошо известного математика 17-го века Блеза Паскаля).
Язык Паскаль основан на Алголе, но содержит ряд усовершенствований. Первоначально он создавался как учебный язык, в нем аккуратно соблюдена структурная линия программирования.
Слайд 20

Языки обучения программированию Фирма Borland Internetional Inc (США) разработала систему Турбо

Языки обучения программированию

Фирма Borland Internetional Inc (США) разработала систему Турбо -

Паскаль для ПК. Турбо - Паскаль - это не только язык и транслятор с него, но еще и операционная оболочка, позволяющая пользователю удобно работать. Турбо - Паскаль вышел за рамки учебного предназначения и стал языком профессионального программирования с универсальными возможностями.
Слайд 21

Лисп В 1965 году в Стэнфорде под руководством Дж. Маккарти появился

Лисп

В 1965 году в Стэнфорде под руководством Дж. Маккарти появился язык

программирования Лисп (List Pro­cessing, т.е. обработка списков). Он служит для обработки строк и рекурсивных данных. Лисп располагает также средствами для выполнения арифметических и логических операций. Он находит широкое применение в исследованиях по созданию искусственного интеллекта.
Слайд 22

АДА В январе 1975 г. Пентагон учредит комитет, которому было предписано

АДА

В январе 1975 г. Пентагон учредит комитет, которому было предписано разработать

один универсальный язык. На конкурсной основе комитет проработал сотни проектов и принял два проекта для окончательного рассмотрения. В мае 1979 г. был объявлен победитeль - группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Огасты Ады Лавлейс..
Слайд 23

АДА Язык АДА - прямой наследник языка Паскаль. - этот язык

АДА

Язык АДА - прямой наследник языка Паскаль. - этот язык предназначен

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

Язык С С - разработан в середине 70-х годов Денисом Ритчи

Язык С

С - разработан в середине 70-х годов Денисом Ритчи и

Кеном Томпсоном.
популярный язык системного программирования и в свое время использовался для написания ядра операционной системы UNIX.
Стандарт языка С начал разрабатываться рабочей группой института стандартов ANSI в 1982 году. Международный стандарт языка С принят в 1990 году. Язык С лег в основу разработки языков программирования C++ и Java.
Слайд 25

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

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

Появились языки, применяемые в различных офисных программах, например VBA (Visual Basic for Application).
Слайд 26

Языки программирования в 90 годы с распространением сети Интернет расширяется возможность

Языки программирования в 90 годы

с распространением сети Интернет расширяется возможность распределенной

обработки данных
Java, Perl и PHP - языки, ориентированные на создание серверных приложений
HTML и XML – языки описания документов
Слайд 27

Традиционные языки программирования С++ и Pascal - претерпевают изменения: под языком

Традиционные языки программирования С++ и Pascal - претерпевают изменения: под языком

программирования начинает пониматься не только функциональность самого языка, а также библиотеки классов, предоставляемые средой программирования.
Слайд 28

Классификации языков программирования высокого уровня

Классификации языков программирования высокого уровня

Слайд 29

Классификации языков программирования высокого уровня

Классификации языков программирования высокого уровня

Слайд 30

Классификация по уровню абстрагирования при постановке задачи.

Классификация по уровню абстрагирования при постановке задачи.

Слайд 31

Классификация по функциональному назначению.

Классификация по функциональному назначению.

Слайд 32

Области применения языков программирования научные вычисления (языки C++, FORTRAN, Java); системное

Области применения языков программирования
научные вычисления (языки C++, FORTRAN, Java);
системное программирование

(языки C++, Java);
обработка информации (языки C++, COBOL, Java);
искусственный интеллект (LISP, Prolog);
издательская деятельность (Postscript, TeX);
удаленная обработка информации (Perl, PHP, Java, C++);
описание документов (HTML, XML).
Слайд 33

Факторы, влияющие на востребованность ЯПВУ наличие среды программирования, поддерживающей разработку приложений

Факторы, влияющие на востребованность ЯПВУ

наличие среды программирования, поддерживающей разработку приложений на

конкретном языке программирования;
удобство сопровождения и тестирования программ;
стоимость разработки с применением конкретного языка программирования;
четкость и ортогональность конструкций языка;
применение объектно-ориентированного подхода.
Слайд 34

Синтаксис языка описывает систему правил написания различных языковых конструкций, а семантика

Синтаксис языка описывает систему правил написания различных языковых конструкций, а семантика

языка программирования определяет смысл этих конструкций. Синтаксис языка программирования может быть описан с помощью БНФ-нотаций.
Семантика языка взаимосвязана с используемой вычислительной моделью.
Слайд 35

Парадигмы программирования Парадигма -- набор теорий, стандартов и методов, которые совместно

Парадигмы программирования

Парадигма -- набор теорий, стандартов и методов, которые совместно

представляют собой способ организации научного знания, -- иными словами, способ видения мира. парадигма в программировании -- способ концептуализации, который определяет, как следует проводить вычисления, и как работа, выполняемая компьютером, должна быть структурирована и организована.
Слайд 36

парадигмы директивного, объектно-ориентированного и функционально-логического программирования. Для поддержки программирования в соответствии

парадигмы директивного, объектно-ориентированного и функционально-логического программирования.
Для поддержки программирования в соответствии

с той или иной парадигмой разработаны специальные алгоритмические языки.
Слайд 37

Директивное программирование (directive programming) C и Pascal разработчик программы использует процессорно-ориентированная

Директивное программирование (directive programming)

C и Pascal
разработчик программы использует процессорно-ориентированная модель,

то есть пытается создать код, должным образом воздействующий на данные. Активным началом при этом подходе считается программа (код), которая должна выполнить все необходимые для достижения нужного результата действия над пассивными данными.
Слайд 38

объектно-ориентированный (object oriented) подход C++ и Java. первичными считаются объекты (данные),

объектно-ориентированный (object oriented) подход

C++ и Java.
первичными считаются объекты (данные), которые

могут активно взаимодействовать друг с другом с помощью механизма передачи сообщений (называемого также и механизмом вызова методов). Функция программиста - он должен придумать и реализовать такие объекты, взаимодействие которых после старта программы приведет к достижению необходимого конечного результата.