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

More Related Content

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

Programming Concepts
Programming ConceptsProgramming Concepts
Programming Concepts
Mister_Lee
 
презентация языки программирования
презентация языки программированияпрезентация языки программирования
презентация языки программированияnhfkzkz
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. Algorithm
Ihor Porotikov
 
языки программирования
языки программированияязыки программирования
языки программирования
Dmitry Kulikov
 
43828
4382843828
Программирование
ПрограммированиеПрограммирование
Программированиеalecsa
 
Afandiyeva kamala yazik programmirovaniya pascal
Afandiyeva kamala yazik programmirovaniya pascalAfandiyeva kamala yazik programmirovaniya pascal
Afandiyeva kamala yazik programmirovaniya pascalkamala_afandiyeva_zahs
 
Занятие № 4 Языки и системы программирования. Их назначение и характеристики
Занятие № 4 Языки и системы программирования. Их назначение и характеристикиЗанятие № 4 Языки и системы программирования. Их назначение и характеристики
Занятие № 4 Языки и системы программирования. Их назначение и характеристики
Aibek9
 
Эмин Р. "Языки Программирования"
Эмин Р. "Языки Программирования"Эмин Р. "Языки Программирования"
Эмин Р. "Языки Программирования"
Emin Rahmanov
 
языки и методы программирования
языки и методы программированияязыки и методы программирования
языки и методы программированияkoriv51
 
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniyaQasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniyaaysel9r2
 
Qasimli Aysel 9r2
Qasimli Aysel 9r2  Qasimli Aysel 9r2
Qasimli Aysel 9r2
aysel9r2
 
языки программирования
языки программированияязыки программирования
языки программированияanastastish
 
языки программирования презетнация
языки программирования презетнацияязыки программирования презетнация
языки программирования презетнацияsonyadark
 
язык программирования с#
язык программирования с#язык программирования с#
язык программирования с#Nitrosalat
 
языки программирования презетнация
языки программирования презетнацияязыки программирования презетнация
языки программирования презетнацияtimofey_kravchenko
 
Функции в языке программирования QBasic
Функции в языке программирования QBasicФункции в языке программирования QBasic
Функции в языке программирования QBasickvlar
 
лекция 3
лекция 3лекция 3

Similar to эволюция языков программирования (20)

43828
4382843828
43828
 
Programming Concepts
Programming ConceptsProgramming Concepts
Programming Concepts
 
презентация языки программирования
презентация языки программированияпрезентация языки программирования
презентация языки программирования
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. Algorithm
 
языки программирования
языки программированияязыки программирования
языки программирования
 
43828
4382843828
43828
 
Программирование
ПрограммированиеПрограммирование
Программирование
 
Afandiyeva kamala yazik programmirovaniya pascal
Afandiyeva kamala yazik programmirovaniya pascalAfandiyeva kamala yazik programmirovaniya pascal
Afandiyeva kamala yazik programmirovaniya pascal
 
Занятие № 4 Языки и системы программирования. Их назначение и характеристики
Занятие № 4 Языки и системы программирования. Их назначение и характеристикиЗанятие № 4 Языки и системы программирования. Их назначение и характеристики
Занятие № 4 Языки и системы программирования. Их назначение и характеристики
 
Эмин Р. "Языки Программирования"
Эмин Р. "Языки Программирования"Эмин Р. "Языки Программирования"
Эмин Р. "Языки Программирования"
 
языки и методы программирования
языки и методы программированияязыки и методы программирования
языки и методы программирования
 
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniyaQasimli aysel 9 r2  klassifikasiya proqrammnoqo obespeceniya
Qasimli aysel 9 r2 klassifikasiya proqrammnoqo obespeceniya
 
Qasimli Aysel 9r2
Qasimli Aysel 9r2  Qasimli Aysel 9r2
Qasimli Aysel 9r2
 
языки программирования
языки программированияязыки программирования
языки программирования
 
языки программирования презетнация
языки программирования презетнацияязыки программирования презетнация
языки программирования презетнация
 
язык программирования с#
язык программирования с#язык программирования с#
язык программирования с#
 
языки программирования презетнация
языки программирования презетнацияязыки программирования презетнация
языки программирования презетнация
 
Languages b6cc1c17
Languages b6cc1c17Languages b6cc1c17
Languages b6cc1c17
 
Функции в языке программирования QBasic
Функции в языке программирования QBasicФункции в языке программирования QBasic
Функции в языке программирования QBasic
 
лекция 3
лекция 3лекция 3
лекция 3
 

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

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