Разделы презентаций


Эволюция языков программирования презентация, доклад

Содержание

Язык программированияЯзы́к программи́рования — формальная знаковая система, предназначенная для записи программ. Язык программирования - это набор символов (цифр, букв, специальных знаков) и система правил образования (синтаксис) и правил истолкования (семантика) конструкций

Слайды и текст этой презентации

Слайд 1Эволюция языков программирования. Классификация языков программирования

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

Слайд 2Язык программирования
Язы́к программи́рования — формальная знаковая система, предназначенная для записи

программ.
Язык программирования - это набор символов (цифр, букв, специальных

знаков) и система правил образования (синтаксис) и правил истолкования (семантика) конструкций из этих символов, с помощью которых описывается порядок выполнения алгоритма. Язык программирования имеет иерархическую структуру.
Обычно в нем выделяют четыре уровня:
• основные символы (алфавит);
• слова;
• выражения;
• предложения (операторы)
Со времени создания первых программируемых машин человечество придумало уже более 8,5 тыс. языков программирования. Каждый год их число пополняется новыми.

Язык программированияЯзы́к программи́рования — формальная знаковая система, предназначенная для записи программ. Язык программирования - это набор символов

Слайд 3Языки программирования высокого и низкого уровней
Язык низкого уровня – программирование

непосредственно в машинных кодах.
Язык высокого уровня – (согласно ГОСТ 19781-90)

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

Слайд 4Языки программирования компилируемые и интерпретируемые
Программа на компилируемом языке при помощи

специальной программы-компилятора преобразуется (компилируется) в машинный код и далее записывается

в исполняемый модуль, который может быть запущен на выполнение как отдельная программа. Другими словами, компилятор переводит исходный текст программы с языка программирования высокого уровня в двоичные коды инструкций процессора.
Если программа написана на интерпретируемом языке, то интерпретатор непосредственно выполняет построчно (интерпретирует) исходный текст без предварительного перевода. При этом программа остаётся на исходном языке и не может быть запущена без интерпретатора.
Языки программирования компилируемые и интерпретируемыеПрограмма на компилируемом языке при помощи специальной программы-компилятора преобразуется (компилируется) в машинный код

Слайд 5Этапы процесса компиляции
Лексический анализ. На этом этапе последовательность символов исходного

файла преобразуется в последовательность лексем (лексема - допустимый символ или

последовательность допустимых символов языка программирования, имеющая смысл для компилятора).
Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в дерево разбора.
Семантический анализ. Дерево разбора обрабатывается с целью установления его семантики (смысла) — напр. привязка идентификаторов к их декларациям, типам, проверка совместимости, определение типов выражений и т. д. Результат обычно называется «промежуточным представлением/кодом
Оптимизация. Выполняется удаление излишних конструкций и упрощение кода с сохранением его смысла.
Генерация кода. Из промежуточного представления выдается код на целевом языке.
Этапы процесса компиляцииЛексический анализ. На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем (лексема -

Слайд 6Компиляция и компоновка
После вышеперечисленных этапов компиляции происходит компоновка.
Программа, как правило,

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

с этими библиотеками. Связывание с библиотеками выполняется редактором связей или компоновщиком (ПРОЦЕСС КОМПОНОВКИ).
Компиляция и компоновкаПосле вышеперечисленных этапов компиляции происходит компоновка.Программа, как правило, обращается к библиотечным функциям и машинный код

Слайд 7Эволюция языков программирования Первые универсальные языки

Во времена первых компьютеров (40е гг.

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

перфокарты, перфоленты.
Эволюция языков программирования Первые универсальные языкиВо времена первых компьютеров  (40е гг. ХХв.) программирование осуществлялось в машинных

Слайд 8Ассемблер
Ассемблер (50-е гг. XXв) – язык программирования низкого уровня
В

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

также возможность использования макросов и меток, что также упрощало создание, модификацию и отладку программ.
АссемблерАссемблер (50-е гг. XXв) – язык программирования низкого уровня В языке Ассемблер осуществлен переход к символическому кодированию

Слайд 9Фортран
В 1954 году в корпорации IBM группой разработчиков во главе

с Джоном Бэкусом был создан язык программирования Fortran.
Это первый

язык программирования высокого уровня.
Ключевой идеей, отличающей новый язык от ассемблера, была концепция подпрограмм.
Язык Фортран использовался (и используется по сей день) для научных вычислений.
ФортранВ 1954 году в корпорации IBM группой разработчиков во главе с Джоном Бэкусом был создан язык программирования

Слайд 10Cobol
В 1960 году был создан язык программирования Cobol
Он задумывался

как язык для создания коммерческих приложений
Отличительной особенностью языка является

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

Слайд 11PL/1
В 1964 году корпорация IBM создала язык PL/1, который

был призван заменить Cobol и Fortran в большинстве приложений
Язык

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

PL/1 В 1964 году корпорация IBM создала язык PL/1, который был призван заменить Cobol и Fortran в

Слайд 12BASIC
В 1963 году в Дартмурском колледже был создан язык программирования

BASIC (Beginners’ All-Purpose Symbolic Instruction Code — многоцелевой язык символических

инструкций для начинающих).
Язык задумывался как средство обучения и как первый изучаемый язык программирования.
Он предполагался легко интерпретируемым и компилируемым.
BASICВ 1963 году в Дартмурском колледже был создан язык программирования BASIC (Beginners’ All-Purpose Symbolic Instruction Code —

Слайд 13Algol
В 1960 году командой во главе с Петером Науром

(Peter Naur) был создан язык программирования Algol.
Этот язык дал

начало целому семейству Алгол-подобных языков (важнейший представитель — Pascal).

Algol В 1960 году командой во главе с Петером Науром (Peter Naur) был создан язык программирования Algol.

Слайд 14Дальнейшее развитие языков программирования
Создание каждого из вышеупомянутых языков было

вызвано некоторыми практическими требованиями.
Эти языки послужили фундаментом для более

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

Слайд 15Pascal-подобные языки
В 1970 году Никлаусом Виртом был создал язык программирования

Pascal.
Язык замечателен тем, что это первый широко распространенный язык

для структурного программирования.

Pascal-подобные языкиВ 1970 году Никлаусом Виртом был создал язык программирования Pascal. Язык замечателен тем, что это первый

Слайд 16Структурное программирование
Структу́рное программи́рование — методология разработки программного обеспечения, в основе

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

в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
Структурное программированиеСтрукту́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит представление программы в виде иерархической

Слайд 17Основные правила структурного программирования
Любая программа представляет собой структуру, построенную из

трёх типов базовых конструкций:
последовательное исполнение — однократное выполнение операций

в том порядке, в котором они записаны в тексте программы;
ветвление — однократное выполнение одной из двух или более операций, в зависимости от условия;
цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется условие продолжения цикла.

Основные правила структурного программированияЛюбая программа представляет собой структуру, построенную из трёх типов базовых конструкций: последовательное исполнение —

Слайд 18Повторяющиеся фрагменты программы и представляющие собой логически целостные вычислительные блоки

могут оформляться в виде подпрограмм (процедур или функций).
Наиболее сильной

критике со стороны разработчиков структурного подхода к программированию подвергся оператор GOTO (оператор безусловного перехода).
Структурное программирование – это программирование без GOTO.
Повторяющиеся фрагменты программы и представляющие собой логически целостные вычислительные блоки могут оформляться в виде подпрограмм (процедур или

Слайд 19Структурное программирование – программирование «сверху-вниз»
Программирование «сверху-вниз», нисходящее программирование предполагает последовательное

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

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

Слайд 20Дальнейшее развитие Pascal-подобных языков
Отрицательной чертой языка Pascal было отсутствие в

нем средств для разбиения программы на модули.
Н.Вирт в дальнейшем

разработал язык Modula-2 (1978), в котором идея модуля стала одной из ключевых концепций языка. В 1988 году появилась Modula-3, в которую были добавлены объектно-ориентированные черты.
Логическим продолжением Pascal и Modula являются язык Oberon и Oberon-2. Они характеризуются движением в сторону объектно- и компонентно- ориентированности.
Дальнейшее развитие Pascal-подобных языковОтрицательной чертой языка Pascal было отсутствие в нем средств для разбиения программы на модули.

Слайд 21Объектно-ориентированное программирование
Объе́ктно-ориенти́рованное программи́рование (ООП) — стиль программирования, в котором основными

концепциями являются понятия объектов и классов (либо, в менее известном

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

Слайд 22Основные концепции ООП
Система состоит из объектов
Объекты некоторым образом взаимодействуют между

собой
Каждый объект характеризуется своим состоянием и поведением
Состояние объекта задаётся значением

полей данных (свойствами)
Поведение объекта задаётся методами

Основные концепции ООПСистема состоит из объектовОбъекты некоторым образом взаимодействуют между собойКаждый объект характеризуется своим состоянием и поведениемСостояние

Слайд 23Языки ООП
Языки объектного программирования принято делить на объектные, в которых

существуют классы и объекты, и объектно-ориентированные, в которых программист может

не только пользоваться предопределёнными классами, но и задавать собственные пользовательские классы.
Объектно-ориентированное программирование в настоящее время является абсолютным лидером в области прикладного программирования (языки Java, C#, C++, JavaScript, ActionScript и др.).

Языки ООПЯзыки объектного программирования принято делить на объектные, в которых существуют классы и объекты, и объектно-ориентированные, в

Слайд 24Основные понятия ООП
Наследование
Наследованием называется возможность порождать один класс от

другого с сохранением всех свойств и методов класса-предка (прародителя, иногда

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

Основные понятия ООПНаследование Наследованием называется возможность порождать один класс от другого с сохранением всех свойств и методов

Слайд 25Основные понятия ООП
Абстракция данных
Объекты представляют собою упрощенное, идеализированное описание

реальных сущностей предметной области. Если соответствующие модели адекватны решаемой задаче,

то работать с ними оказывается намного удобнее, чем с низкоуровневым описанием всех возможных свойств и реакций объекта.
Инкапсуляция
Инкапсуляция — это принцип, согласно которому любой класс должен рассматриваться как чёрный ящик — пользователь класса должен видеть и использовать только интерфейсную часть класса (т. е. список декларируемых свойств и методов класса) и не вникать в его внутреннюю реализацию.
Основные понятия ООПАбстракция данных Объекты представляют собою упрощенное, идеализированное описание реальных сущностей предметной области. Если соответствующие модели

Слайд 26Си-подобные языки
В 1972 году Керниганом и Ритчи был создан язык

программирования Cи. Он создавался как язык для разработки операционной системы

UNIX.
Си позволяет эффективно работать с данными, предоставляя при этом структурированные управляющие конструкции и абстракции высокого уровня (структуры и массивы). Именно с этим связана его огромная популярность и поныне.
Си-подобные языкиВ 1972 году Керниганом и Ритчи был создан язык программирования Cи. Он создавался как язык для

Слайд 27продолжение
В 1986 году Бьярн Страуструп создал первую версию языка C++,

добавив в язык C объектно-ориентированные черты и исправив некоторые ошибки

и неудачные решения языка.
C++ продолжает совершенствоваться и в настоящее время, так в 1998 году вышла новая (третья) версия стандарта, содержащая существенные изменения.
продолжениеВ 1986 году Бьярн Страуструп создал первую версию языка C++, добавив в язык C объектно-ориентированные черты и

Слайд 28продолжение
В 1995 году в корпорации Sun Microsystems Кеном Арнольдом и

Джеймсом Гослингом был создан язык Java. Он наследовал синтаксис C

и C++.
Отличительной особенностью языка является компиляция в код некоей абстрактной машины, для которой затем пишется эмулятор (Java Virtual Machine) для реальных систем. Кроме того, в Java нет указателей и множественного наследования, что сильно повышает надежность программирования.
продолжениеВ 1995 году в корпорации Sun Microsystems Кеном Арнольдом и Джеймсом Гослингом был создан язык Java. Он

Слайд 29продолжение
В 1999–2000 годах в корпорации Microsoft был создан язык C#.


Он в достаточной степени схож с Java (и задумывался как

альтернатива последнему), но имеет и отличительные особенности.
Ориентирован, в основном, на разработку многокомпонентных Интернет-приложений.
продолжениеВ 1999–2000 годах в корпорации Microsoft был создан язык C#. Он в достаточной степени схож с Java

Слайд 30Языки Ada и Ada 95
В 1983 году под эгидой

Министерства Обороны США был создан язык Ada.
В 1995 году

был принят стандарт языка Ada 95, который развивает предыдущую версию, добавляя в нее объекно- ориентированность и исправляя некоторые неточности.
Оба этих языка не получили широкого распространения вне военных и прочих крупномасштабных проектов (авиация, железнодорожные перевозки). Основной причиной является сложность освоения языка и достаточно громоздкий синтаксис (значительно более громоздкий, чем Pascal).
Языки Ada и Ada 95 В 1983 году под эгидой Министерства Обороны США был создан язык Ada.

Слайд 31Языки обработки данных
Все вышеперечисленные языки являются языками общего назначения

в том смысле, что они не ориентированы и не оптимизированы

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

Слайд 32APL
В 1957 году была предпринята попытка создания языка для

описания математической обработки данных.
Язык был назван APL (Application Programming

Language).
Его отличительной особенностью было использование математических символов (что затрудняло применение на текстовых терминалах; появление графических интерфейсов сняло эту проблему) и очень мощный синтаксис
APL В 1957 году была предпринята попытка создания языка для описания математической обработки данных. Язык был назван

Слайд 33Snobol и Icon
В 1962 году появился язык Snobol (а

в 1974 — его преемник Icon), предназначенный для обработки строк.


Синтаксис Icon напоминает С и Pascal одновременно. Отличие заключается в наличии мощных встроенных функций работы со строками и связанная с этими функциями особая семантика.
Современным аналогом Icon и Snobol является Perl — язык обработки строк и текстов, в который добавлены некоторые объектно-ориентированные возможности.
Snobol и Icon В 1962 году появился язык Snobol (а в 1974 — его преемник Icon), предназначенный

Слайд 34SETL
В 1969 году был создан язык SETL — язык

для описания операций над множествами.
Основной структурой данных в языке

является множество, а операции аналогичны математическим операциям над множествами.
SETL В 1969 году был создан язык SETL — язык для описания операций над множествами. Основной структурой

Слайд 35Lisp и ему подобные языки
В 1958 году появился язык

Lisp — язык для обработки списков.
Получил достаточно широкое распространение

в системах искусственного интеллекта.
Имеет несколько потомков: Planner (1967), Scheme (1975), Common Lisp (1984).
Многие его черты были унаследованы современными языками функционального программирования.
Lisp и ему подобные языки В 1958 году появился язык Lisp — язык для обработки списков. Получил

Слайд 36Скриптовые языки
В последнее время в связи развитием Интернет-технологий, широким

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

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

Слайд 37JavaScript
Язык был создан в компании Netscape Communications в качестве

языка для описания сложного поведения веб-страниц. Интерпретируется браузером во время

отображения веб-страницы.
По синтаксису схож с Java и отдаленно с C/C++.
JavaScript Язык был создан в компании Netscape Communications в качестве языка для описания сложного поведения веб-страниц. Интерпретируется

Слайд 38VBScript
Язык был создан в корпорации Microsoft во многом в

качестве альтернативы JavaScript.
Имеет схожую область применения.
Синтаксически схож с

языком Visual Basic (и является усеченной версией последнего).
Так же, как и JavaScript, исполняется браузером при отображении веб-страниц и имеет ту же степень объектно- ориентированности
VBScript Язык был создан в корпорации Microsoft во многом в качестве альтернативы JavaScript. Имеет схожую область применения.

Слайд 39Perl
Язык создавался в помощь системному администратору операционной системы Unix

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

до мощного средства работы с текстами
Является интерпретируемым языком и реализован практически на всех существующих платформах.
Применяется при обработке текстов, а также для динамической генерации веб-страниц на веб-серверах.
Perl Язык создавался в помощь системному администратору операционной системы Unix для обработки различного рода текстов и выделения

Слайд 40Python
Интерпретируемый объектно-ориентированный язык программирования. По структуре и области применения

близок к Perl, однако менее распространен и более строг и

логичен.
Имеются реализации для большинства существующих платформ
Python Интерпретируемый объектно-ориентированный язык программирования. По структуре и области применения близок к Perl, однако менее распространен и

Слайд 41Объектно-ориентированные языки
Объектно-ориентированный подход, пришедший на смену структурному, впервые появился

отнюдь не в C++, как полагают некоторые.
Существует целая череда

чистых объектно-ориентированных языков
Объектно-ориентированные языки Объектно-ориентированный подход, пришедший на смену структурному, впервые появился отнюдь не в C++, как полагают некоторые.

Слайд 42Simula
Первым объектно-ориентрованным языком был язык Simula (1967).
Этот язык

был предназначен для моделирования различных объектов и процессов, и объектно-ориентированные

черты появились в нем именно для описания свойств модельных объектов.
Simula Первым объектно-ориентрованным языком был язык Simula (1967). Этот язык был предназначен для моделирования различных объектов и

Слайд 43Smalltalk
Популярность объектно-ориентированному программированию принес язык Smalltalk, созданный в 1972

году.
Язык предназначался для проектирования сложных графических интерфейсов и был

первым по-настоящему объектно-ориентированным языком.
В нем классы и объекты — это единственные конструкции программирования
Smalltalk Популярность объектно-ориентированному программированию принес язык Smalltalk, созданный в 1972 году. Язык предназначался для проектирования сложных графических

Слайд 44Языки параллельного программирования
Большинство компьютерных архитектур и языков программирования ориентированы

на последовательное выполнение операторов программы. В настоящее время, однако же,

существуют программно-аппаратные комплексы, позволяющие организовать параллельное выполнение различных частей одного и того же вычислительного процесса.
Язык Occam (1982) и модель параллельных вычислений Linda (1985)
Языки параллельного программирования Большинство компьютерных архитектур и языков программирования ориентированы на последовательное выполнение операторов программы. В настоящее

Слайд 45Неимперативные языки
Программы на императивных языках представляют собой пошаговое описание

решения той или иной задачи.
Можно попытаться описывать лишь постановку

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

Слайд 46Функциональные языки
Основная идея, лежащая в основе функционального программирования, — это

представление программы в виде математических функций (т.е. функций, значение которых

определяется лишь их аргументами, а не контекстом выполнения).
Из языков с энергичной семантикой упомянем ML и два его современных диалекта — Standard ML (SML) и CaML. Последний имеет объектно-ориентированного потомка — Objective CaML (O’CaML).
Среди языков с ленивой семантикой наиболее распространены два: Haskell и его более простой диалект Clean.
Функциональные языкиОсновная идея, лежащая в основе функционального программирования, — это представление программы в виде математических функций (т.е.

Слайд 47Логические языки
Программы на языках логического программирования выражены как формулы математической

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

языков логического программирования является язык Prolog (1971). У него есть ряд потомков — Parlog (1983, ориентирован на параллельные вычисления), Delta Prolog и др
Логические языкиПрограммы на языках логического программирования выражены как формулы математической логики, а компилятор пытается получить следствия из

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика