Добавлен: 08.11.2023
Просмотров: 1047
Скачиваний: 16
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬМИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯРОССИЙСКОЙ ФЕДЕРАЦИИБЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТКафедра «АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ»
«История развития языков программирования» 1
Вариант 15 1
Содержание 2
Введение 3
Основные этапы исторического развития языков программирования 5
Разнообразие языков программирования 9
Трансляция 11
Заключение 13
Список использованных источников 14
Введение 3Основные этапы исторического развития языков программирования 5Разнообразие языков программирования 9Трансляция 11Заключение 13Список использованных источников 14
Таблица №1: Примеры чисел в шестнадцатеричной или двоичной системах счисления
Человеку воспринимать программу на таком языке сложно. Кроме того, даже небольшая программа состояла из множества строк кода. Ситуация осложнялась еще и тем, что каждая вычислительная машина понимает лишь свой машинный язык.ЭВМ были похожи на огромные шкафы, которые обычно стояли в огромном машинном зале и делали нужные вычисления быстрее, чем на механических или электрических калькуляторах. (Рис №2)Рисунок №2 Одна из первых вычеслительных машин Людям, в отличие от машин, более понятны слова, чем наборы цифр. Стремление человека оперировать словами, а не цифрами привело к появлению ассемблеров. Это языки, в которых вместо численного обозначения команд и областей памяти используются словесно-буквенные.При этом появляется проблема: машина не в состоянии понимать слова. Необходим какой-нибудь переводчик на ее родной машинный язык. Поэтому, начиная со времен ассемблеров, под каждый язык программирования создаются трансляторы – специальные программы, преобразующие программный код с языка программирования в машинный код. Ассемблеры на сегодняшний день продолжают использоваться. В системном программировании с их помощью создаются низкоуровневые интерфейсы операционных систем, компоненты драйверов.После ассемблеров наступил расцвет языков так называемого высокого уровня, такие как:
Таблица №2: Эволюция языков програмированияС помощью таких языков программист как бы управляет виртуальными объектами. Мыслить в рамках объектов-сущностей, описывать их взаимодействие, обобщать объекты в классы и устанавливать между ними наследственные связи, – все это делает программу по-своему похожей на реальный мир, на то, как его воспринимает человек.На сегодняшний день в большинстве случаев реализация крупных проектов осуществляется с помощью объектно-ориентированных возможностей языков.Основные принципы структурирования в случае ООП связаны с различными аспектами базового понимания предметной задачи, которое требуется для оптимального управления соответствующей моделью:
Рисунок №3 Популярность использования разных языков програмрования впроцентном соотношенииРазработка новых языков программирования, обладающий теми или иными преимуществами, велась как в прошлом, так и ведется сейчас. Эволюционируют, подстраиваясь под запросы нового времени, и старые языки программирования.Все многообразие языков можно классифицировать по разным критериям. Например, по типу решаемых задач:
«История развития языков программирования»
Вариант 15
Выполнил: студент гр. АСОИЗ 201Лижбанов Владислав СергеевичПроверила:Могилев, 2022Содержание
«История развития языков программирования» 1
Вариант 15 1
Содержание 2
Введение 3
Основные этапы исторического развития языков программирования 5
Разнообразие языков программирования 9
Трансляция 11
Заключение 13
Список использованных источников 14
Введение
Определимся с терминами. Программа - это набор инструкций для конкретного исполнителя (механизма, устройства и т.д.), а язык программирования - знаковая система, предназначенная для записи программ.Первые программисты появились задолго до компьютеров, с которыми они обычно ассоциируются. Автомат-гуманоид Аль-Джазари (1206 год), ткацкий станок Жаккара (1804) (рис.№1)Рисунок №1 Реконструкция ткацкого станка Жаккара"Аналитическая машина" Бэббиджа (1843) были программируемыми устройствами. Автомату алгоритм действий задавался с помощью кулачков и зажимов, станку и "разностной машине" - с помощью перфокарт. Ада Августа Лавлейс, дочь самого Байрона, даже написала для устройства Бэбиджа (которое он так и не собрал) программу, решавшую уравнение Бернулли.Программу можно представить как набор последовательных команд, то есть алгоритм, для объекта, то есть исполнителя, который должен их выполнить для достижения определенной цели.Так можно условно запрограммировать человека, составив для него к примеру инструкцию "как приготовить оладьи", а он начнет четко ей следовать. При этом инструкция, она же программа, для человека будет написана на такназываемом естественном языке, например, русском или английском.
Все же программируют не людей, а вычислительные машины, используя при этом специальные языки. Необходимость в особых языках связана с тем, что машины не в состоянии "понимать" наши, то есть человеческие естественные для нас языки.
Инструкции для машин пишут на языках программирования, которые характеризуются формальностью, то есть синтаксической однозначностью (например, в них нельзя менять местами определенные слова) и ограниченностью (имеют строго определенный набор слов и символов).
Основные этапы исторического развития языков программирования
Первые программы писались на машинном языке, так как для ЭВМ того времени еще не существовало развитого программного обеспечения, а машинный язык – это единственный способ взаимодействия с аппаратным обеспечением компьютера, так называемым "железом".Каждую команду машинного языка непосредственно выполняет то или иное электронное устройство. Данные и команды записывали в цифровом виде, например, в шестнадцатеричной или двоичной системах счисления.| Двоичная система | Шестнадцатеричная система |
| 0000 | 0 |
| 0001 | 1 |
| 0010 | 2 |
| 0011 | 3 |
| 0100 | 4 |
| 0101 | 5 |
| 0110 | 6 |
| 0111 | 7 |
| 1000 | 8 |
| 1001 | 9 |
| 1010 | A |
| 1011 | B |
| 1100 | C |
| 1101 | D |
| 1110 | E |
| 1111 | F |
Человеку воспринимать программу на таком языке сложно. Кроме того, даже небольшая программа состояла из множества строк кода. Ситуация осложнялась еще и тем, что каждая вычислительная машина понимает лишь свой машинный язык.ЭВМ были похожи на огромные шкафы, которые обычно стояли в огромном машинном зале и делали нужные вычисления быстрее, чем на механических или электрических калькуляторах. (Рис №2)Рисунок №2 Одна из первых вычеслительных машин Людям, в отличие от машин, более понятны слова, чем наборы цифр. Стремление человека оперировать словами, а не цифрами привело к появлению ассемблеров. Это языки, в которых вместо численного обозначения команд и областей памяти используются словесно-буквенные.При этом появляется проблема: машина не в состоянии понимать слова. Необходим какой-нибудь переводчик на ее родной машинный язык. Поэтому, начиная со времен ассемблеров, под каждый язык программирования создаются трансляторы – специальные программы, преобразующие программный код с языка программирования в машинный код. Ассемблеры на сегодняшний день продолжают использоваться. В системном программировании с их помощью создаются низкоуровневые интерфейсы операционных систем, компоненты драйверов.После ассемблеров наступил расцвет языков так называемого высокого уровня, такие как:
-
C++ -
C# -
Delphi -
Fortran -
Java -
JavaScript
| Покол- ения | Языки програмирования | Характеристика |
| 1 | Машинные | Ориентированы на использование в конкретной ЭВМ, сложны в осознании, требуют хорошего знания архитектуры ЭВМ |
| 2 | Ассемблеры, Макроассемблеры | Более удобны для использования, но по-прежнему машинно-зависимы |
| 3 | Языки высокого уровня | Мобильные, человеко- ориентированные, проще в освоении |
| 4 | Непроцедурные, объектно- Ориентированне, языки запросов, параллельные | Ориентированы на непрофесионального пользователя и на ЭВМ с параллельной архитектурой |
| 5 | Языки искуственного интеллекта, экспертных систем и баз знаний, естественные языки | Ориентированы на повышение интелектуального уровня ЭВМ и интерфейса с языками |
Таблица №2: Эволюция языков програмированияС помощью таких языков программист как бы управляет виртуальными объектами. Мыслить в рамках объектов-сущностей, описывать их взаимодействие, обобщать объекты в классы и устанавливать между ними наследственные связи, – все это делает программу по-своему похожей на реальный мир, на то, как его воспринимает человек.На сегодняшний день в большинстве случаев реализация крупных проектов осуществляется с помощью объектно-ориентированных возможностей языков.Основные принципы структурирования в случае ООП связаны с различными аспектами базового понимания предметной задачи, которое требуется для оптимального управления соответствующей моделью:
-
абстракция для выделения в моделируемом предмете важного для решения конкретной задачи по предмету -
инкапсуляциядля быстрой и безопасной организации собственно иерархической управляемости -
наследование для быстрой и безопасной организации родственных понятий -
полиморфизм для определения точки, в которой единое управление лучше распараллелить или наоборот — собрать воедино.
Разнообразие языков программирования
В настоящее время существует множество различающихся и похожих между собой языков программирования. Причина такого явления становится понятна, если представить то количество и разнообразие задач, которые на сегодняшний день решается с помощью вычислительной техники. Для решения разных задач требуются разные инструменты, то есть разные языки и подходы к программированию. (Рис.№3)Рисунок №3 Популярность использования разных языков програмрования впроцентном соотношенииРазработка новых языков программирования, обладающий теми или иными преимуществами, велась как в прошлом, так и ведется сейчас. Эволюционируют, подстраиваясь под запросы нового времени, и старые языки программирования.Все многообразие языков можно классифицировать по разным критериям. Например, по типу решаемых задач:
-
языки системного или прикладного назначения, -
языки для web-разработки -
организации баз данных -
разработки мобильных приложений