Эволюция языков программирования
Алгоритм и программаАлгоритм – это точно определенное описание способа решения задачи в виде конечной последовательности действий. Иначе, это описание называется формальнымПрограмма – это логически упорядоченная последовательность команд необходимая для управления компьютером. Программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом. Написать программу в машинном коде достаточно сложно и поэтому для представления алгоритма в виде, понятном компьютеру, служат языки программирования.
Языки программированияЯзыки программирования - этоискусственные языки. Они отличаются от естественных ограниченным, достаточно малым числом слов, значение которых понятно компьютеру (транслятору), и очень строгими правилами записи команд (операторов). Совокупность требований для записи команд образуют синтаксис языка, а смысл каждой команды – семантику языка.
Языки программированияНарушение формы записи программы приводят к синтаксической ошибке, а правильно написанная программа, но не отвечающая алгоритму, приводит к семантической ошибке (по другому – логической, или ошибке времени выполнения программы).Процесс поиска ошибок в программе называют тестированием, процесс устранения ошибок – отладкой программы.
Уровни языков программированияЕсли язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. “Низкий уровень” –это значит, что операторы близки к машинному коду и ориентированы на конкретный тип процессора. Языком самого низкого уровня является язык Ассемблера, который представляет каждую машинную команду в виде символьных условных обозначений, называемых символьнымимнемониками. С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора.
Уровни языков программированияЯзыкипрограммирования высокого уровня ближе и понятнее человеку, чем компьютеру.В программах, созданных на языках высокого уровня, особенности компьютерных систем не учитываются, перенос программ на уровне исходных текстов на другие платформы не создает трудностей, если в них создан транслятор этого языка. Программы разрабатывать на языках высокого уровня проще, а ошибок допускается меньше.
Поколения языков программированияЯзыки программирования принято делить на пять поколенийПервое поколение: начало 50-х годовВторое поколение: конец 50-x– начало 60-х годовТретье поколение принято относить к 60-м годамЧетвертое поколение: начало 70-х годов по настоящее времяРождение языков пятого поколения произошло в середине 90-х годов
Первое поколениеПервый язык ассемблераОн был создан по принципу « одна инструкция – одна строка».
Второе поколениеТогда был разработан символический ассемблер, в котором появилось понятие переменной. Он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.
Третье поколениеВ это время родились универсальные языки высокого уровня, с их помощью удается решать задачи из любых областей. Такие качества новых языков, как относительная простота, независимость от конкретного компьютера и возможность использования мощных синтаксических конструкций, позволили резко повысить производительность труда программистов.
Четвертое поколениеЭти языки предназначены для реализации крупных проектов, повышения их надежности и скорости создания.Они обычно ориентированы на специализированные области применения, где хороших результатов можно добиться, используя не универсальные, а проблемно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области. Как правило, в эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой в языках младших поколений потребовались бы тысячи строк исходного кода.
Пятое поколениеК ним относятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, которая закладываемая в эти языки,- возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать).Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием.
Классификация языков программирования
Процедурное программированиеПрограмма, написанная на процедурном языке, представляет собой последовательность команд, определяющих алгоритм решения задачи. Основная идея процедурного программирования - использование памяти для хранения данных. Основная команда- присвоение, с помощью которой определяется и меняется память компьютера. Программа производит преобразование содержимого памяти, изменяя его от исходного состояния к результирующему.
Процедурное программированиеЯзык Фортран создан в начале 50-хКобол – создан в конце 60-х годовАлгол – 1960 годВ середине 60-х годов 20-го века был создан специализированный язык программирования для начинающих – BASICВ 1963-1966гг был создан многоцелевой универсальный язык PL-1. Язык Паскаль (PASCAL) (1968-1971гг)-К языкам процедурного программирования можно отнести язык АДА (1979 г)Язык СИ (начало 70-х годов)
Объектно-ориентированное программированиеМетод программирования, при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта.
Объектно-ориентированное программированиеОбъединение данных и свойственных им процедур обработки в одном объекте, называется инкапсуляцией и является одним из важнейших принципов ООП
Объектно-ориентированное программированиеДругим фундаментальным понятием является класс.Классэто шаблон, на основе которого может быть создан конкретный программный объект, он описывает свойства и методы, определяющие поведение объектов этого класса. Каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.
Объектно-ориентированное программированиеНаследование предусматривает создание новых классов на базе существующих и позволяет классу потомку иметь (наследовать) все свойства класса – родителя. Полиморфизм означает, что рожденные объекты обладают информацией о том, какие методы они должны использовать в зависимости от того, в каком месте цепочки они находятся.
Объектно-ориентированное программированиеДругим важнейшим принципом ООП является модульность – объекты заключают в себе полное определение их характеристик, никакие определения методов и свойств не должны располагаться вне его, это делает возможным свободное копирование и внедрение одного объекта в другие.
Объектно-ориентированное программированиеVisual BasicDelphiC++ BuilderVisual C++
Декларативные языки программированияФункциональное программирование – это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений.Первым языком стал язык Лисп. Этот язык позволяет обрабатывать большие объемы текстовой информации.
Декларативные языки программированияЛогическое программирование- это программирование в терминах логики.В 1973 году был создан язык искусственного интеллекта Пролог (PROLOG) (Programming in Logic). Программа на языке Пролог строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с помощью методов поиска и сопоставления, которые в нем заложены. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.

эволюция языков программирования

  • 1.
  • 2.
    Алгоритм и программаАлгоритм– это точно определенное описание способа решения задачи в виде конечной последовательности действий. Иначе, это описание называется формальнымПрограмма – это логически упорядоченная последовательность команд необходимая для управления компьютером. Программа, с которой работает процессор, представляет собой последовательность чисел, называемую машинным кодом. Написать программу в машинном коде достаточно сложно и поэтому для представления алгоритма в виде, понятном компьютеру, служат языки программирования.
  • 3.
    Языки программированияЯзыки программирования- этоискусственные языки. Они отличаются от естественных ограниченным, достаточно малым числом слов, значение которых понятно компьютеру (транслятору), и очень строгими правилами записи команд (операторов). Совокупность требований для записи команд образуют синтаксис языка, а смысл каждой команды – семантику языка.
  • 4.
    Языки программированияНарушение формызаписи программы приводят к синтаксической ошибке, а правильно написанная программа, но не отвечающая алгоритму, приводит к семантической ошибке (по другому – логической, или ошибке времени выполнения программы).Процесс поиска ошибок в программе называют тестированием, процесс устранения ошибок – отладкой программы.
  • 5.
    Уровни языков программированияЕслиязык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня. “Низкий уровень” –это значит, что операторы близки к машинному коду и ориентированы на конкретный тип процессора. Языком самого низкого уровня является язык Ассемблера, который представляет каждую машинную команду в виде символьных условных обозначений, называемых символьнымимнемониками. С помощью языков низкого уровня создаются очень эффективные и компактные программы, так как разработчик получает доступ ко всем возможностям процессора.
  • 6.
    Уровни языков программированияЯзыкипрограммированиявысокого уровня ближе и понятнее человеку, чем компьютеру.В программах, созданных на языках высокого уровня, особенности компьютерных систем не учитываются, перенос программ на уровне исходных текстов на другие платформы не создает трудностей, если в них создан транслятор этого языка. Программы разрабатывать на языках высокого уровня проще, а ошибок допускается меньше.
  • 7.
    Поколения языков программированияЯзыкипрограммирования принято делить на пять поколенийПервое поколение: начало 50-х годовВторое поколение: конец 50-x– начало 60-х годовТретье поколение принято относить к 60-м годамЧетвертое поколение: начало 70-х годов по настоящее времяРождение языков пятого поколения произошло в середине 90-х годов
  • 8.
    Первое поколениеПервый языкассемблераОн был создан по принципу « одна инструкция – одна строка».
  • 9.
    Второе поколениеТогда былразработан символический ассемблер, в котором появилось понятие переменной. Он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.
  • 10.
    Третье поколениеВ этовремя родились универсальные языки высокого уровня, с их помощью удается решать задачи из любых областей. Такие качества новых языков, как относительная простота, независимость от конкретного компьютера и возможность использования мощных синтаксических конструкций, позволили резко повысить производительность труда программистов.
  • 11.
    Четвертое поколениеЭти языкипредназначены для реализации крупных проектов, повышения их надежности и скорости создания.Они обычно ориентированы на специализированные области применения, где хороших результатов можно добиться, используя не универсальные, а проблемно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области. Как правило, в эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой в языках младших поколений потребовались бы тысячи строк исходного кода.
  • 12.
    Пятое поколениеК нимотносятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, которая закладываемая в эти языки,- возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать).Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием.
  • 13.
  • 14.
    Процедурное программированиеПрограмма, написаннаяна процедурном языке, представляет собой последовательность команд, определяющих алгоритм решения задачи. Основная идея процедурного программирования - использование памяти для хранения данных. Основная команда- присвоение, с помощью которой определяется и меняется память компьютера. Программа производит преобразование содержимого памяти, изменяя его от исходного состояния к результирующему.
  • 15.
    Процедурное программированиеЯзык Фортрансоздан в начале 50-хКобол – создан в конце 60-х годовАлгол – 1960 годВ середине 60-х годов 20-го века был создан специализированный язык программирования для начинающих – BASICВ 1963-1966гг был создан многоцелевой универсальный язык PL-1. Язык Паскаль (PASCAL) (1968-1971гг)-К языкам процедурного программирования можно отнести язык АДА (1979 г)Язык СИ (начало 70-х годов)
  • 16.
    Объектно-ориентированное программированиеМетод программирования,при использовании которого главными элементами программ являются объекты. В языках программирования понятие объекта реализовано как совокупность свойств (структур данных, характерных для данного объекта), методов их обработки (подпрограмм изменения их свойств) и событий, на которые данный объект может реагировать и, которые приводят, как правило, к изменению свойств объекта.
  • 17.
    Объектно-ориентированное программированиеОбъединение данныхи свойственных им процедур обработки в одном объекте, называется инкапсуляцией и является одним из важнейших принципов ООП
  • 18.
    Объектно-ориентированное программированиеДругим фундаментальнымпонятием является класс.Классэто шаблон, на основе которого может быть создан конкретный программный объект, он описывает свойства и методы, определяющие поведение объектов этого класса. Каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.
  • 19.
    Объектно-ориентированное программированиеНаследование предусматриваетсоздание новых классов на базе существующих и позволяет классу потомку иметь (наследовать) все свойства класса – родителя. Полиморфизм означает, что рожденные объекты обладают информацией о том, какие методы они должны использовать в зависимости от того, в каком месте цепочки они находятся.
  • 20.
    Объектно-ориентированное программированиеДругим важнейшимпринципом ООП является модульность – объекты заключают в себе полное определение их характеристик, никакие определения методов и свойств не должны располагаться вне его, это делает возможным свободное копирование и внедрение одного объекта в другие.
  • 21.
  • 22.
    Декларативные языки программированияФункциональноепрограммирование – это способ составления программ, в которых единственным действием является вызов функции. В функциональном программировании не используется память, как место для хранения данных, а, следовательно, не используются промежуточные переменные, операторы присваивания и циклы. Ключевым понятием в функциональных языках является выражение. Программа, написанная на функциональном языке, представляет собой последовательность описания функций и выражений.Первым языком стал язык Лисп. Этот язык позволяет обрабатывать большие объемы текстовой информации.
  • 23.
    Декларативные языки программированияЛогическоепрограммирование- это программирование в терминах логики.В 1973 году был создан язык искусственного интеллекта Пролог (PROLOG) (Programming in Logic). Программа на языке Пролог строится из последовательности фактов и правил, затем формулируется утверждение, которое Пролог пытается доказать с помощью правил. Язык сам ищет решение с помощью методов поиска и сопоставления, которые в нем заложены. Логические программы не отличаются высоким быстродействием, так как процесс их выполнения сводится к построению прямых и обратных цепочек рассуждений разнообразными методами поиска.