Эволюция и классификация языков программирования
Рассмотрим основные этапы в истории языков программирования и коснемся отдельных языков, сыгравших ключевую роль в развитии программирования.
Языки программирования низкого уровня
Язык программирования, ориентированный на конкретный тип процессора, и, операторы которого близки к машинному коду, называется языком программирования низкого уровня.
Термин «низкий уровень» не обозначает плохое качество языка, таким образом подчеркивается его неразрывная связь с аппаратной частью компьютера.
Машинный язык.
Первые ЭВМ появились в 1940-х годах и программировались с помощью машинных языков. Машинный код состоял из последовательностей нулей и единиц. Каждая элементарная операция имела свой код, необходимо было явно указывать адреса ячеек памяти, в которых хранились данные, или куда их необходимо было сохранять. Такой подход содержал ряд неудобств, основными среди которых являлись:
- программа была машинно-зависимой, т. к. различные типы процессоров отличались друг от друга архитектурой и системой команд;
- чтение программы, а также изменение, отладка и поиск ошибок в ней вызывали огромные трудности.
Ассемблер.
В начале 1950-х годов была осуществлена идея использования символьных имен вместо адресов данных и замены цифровых кодов операций на мнемонические (словесные) обозначения. Язык программирования, реализующий данный подход, получил название Ассемблер (от англ. assembler — сборщик).
Программа, записанная на Ассемблере, не может обрабатываться непосредственно процессором. Возникла необходимость преобразования текста программы, записанной на данном языке, в машинный код. Для решения этой задачи были созданы трансляторы .
Транслятор — это программа, преобразующая текст, представленный на одном из языков программирования, в эквивалентную программу на машинном языке.
Использование символьных имен вместо числовых кодов операций и адресов данных существенно упростило процесс программирования, однако, по-прежнему сохранялась зависимость программы от типа процессора.
Необходимо отметить, что во многих сегодняшних задачах, где качество машинного кода ставится выше удобства программирования (например, при разработке ядра операционной системы), по-прежнему используется Ассемблер.
Языки программирования высокого уровня
Дальнейшая эволюция языков программирования привела к появлению языков высокого уровня, что позволило отвлечься от системы команд конкретного типа процессора. Ниже приведена диаграмма важнейших первых языков (источник: Б. Страуструп «Программирование: принципы и практика использования С++»)
Важное значение для развития высокоуровневых языков программирования имела разработка во второй половине 1950-х годов трех языков – Fortran, COBOL, Lisp. Философия, стоящая за этими языками, заключается в создании высокоуровневой системы обозначений, облегчающей программисту написание программ.
Язык программирования Fortran
Fortran ( Formula Translation — трансляция формул ) — был разработан в 1956 году сотрудниками компании IВM под руководством Джона Бэкуса. Появление Fortran — одно из наиболее значительных событий в истории языков программирования.
Fortran предназначался для научных вычислений. Он обладал достаточно машинно-независимой системой команд: код на языке Fortran можно было переносить из одного компьютера в другой с минимальными изменениями, что явилось огромным достижением для своего времени. По этим причинам Fortran считается первым высокоуровневым языком программирования.
Язык программирования COBOL
COBOL ( Common Business-Oriented Language — язык программирования для коммерческих и деловых задач ) был разработан комитетом CODASYL в 1959-60 годах по инициативе Министерства обороны США и группы основных производителей компьютеров для обработки бизнес-данных. Основной упор в этом языке был сделан на манипуляции данными: копирование, хранение и поиск, вывод на печать (отчеты).
Язык программирования Lisp.
Lisp ( LISt Processing – обработка списков ) был разработан в 1958 году Джоном Маккарти для обработки связанных списков и символьной информации.
Lisp был первым языком, не зависевшим от аппаратного обеспечения. В настоящее время существует множество диалектов языка. Это семейство языков нашло применение в области моделирования искусственного интеллекта.
Copyright © 2014-2018, Урок информатики
Все права защищены
Эволюция и классификация языков программирования
Процедурное программирование. Программа на процедурном языке состоит из последовательности команд, определяющих процедуру решения задачи. Основным является оператор присваивания, предназначенный для определения и изменения содержимого памяти компьютера.
Одним из первых процедурных языков программирования высокого уровня стал Фортран (создан вначале 50-х годов). Основное назначение – программирование научно-технических задач.
Кобол (1958–1960 гг.) – язык программирования, ориентированный на решение задач обработки данных. Широко используется для решения учетно-экономических и управленческих задач.
Алгол (конец 50-х г.) – предназначен для записи алгоритмов, построенных в виде последовательности процедур, применяемых при решении поставленных задач.
Бейсик (середина 60-х годов) – простой в освоении, наличие достаточно мощных универсальных средств, пригодных для решения научных, технических и экономических задач.
ПЛ/1 (начало 60-х) – универсальный язык, предназначенный для решения задач в области вычислительной техники: исследования и планирования вычислительных процессов, моделирования, решения логических задач, разработка систем математического обеспечения.
Паскаль (68-71 гг.) – к основным принципам Паскаля следует отнести:
– Структурное программирование. Оформление последовательности команд как замкнутых функций или процедур и объединение данных, связанных по смыслу, в сложные структуры данных.
– Программирование сверху вниз, когда задача разбивается на простые, после чего каждая решается в отдельности. Затем компонуются результаты проектирования простых задач, и поставленная задача сверху вниз в целом.
Си (начало 70-х) – планировался для замены Ассемблера, чтобы создавать столь же эффективные и компактные программы, и в то же время не зависеть от
Конкретного типа процессора. В Си сочетаются достоинства высокоуровневых языков в части управляющих конструкций и структур данных с возможностями прямого доступа к аппаратным средствам компьютера.
Функциональное программирование. Суть функционального программирования – это способ составления программ, в которых единственным действием является вызов функции. Основной конструкцией в функциональных языках является выражение. К выражениям относятся константы, структурированные объекты, функции, их тела и вызовы функций.
Программа представляет собой последовательность описаний функций и выражения, которые необходимо вычислить. Функциональное программирование не рассматривает память как хранилище значений, понятие оператора присваивания отсутствует.
Первым стал – Лисп (1959 г.) – основная черта языка – унификация программных структур и структур данных: все выражения записываются в виде списков.
Пролог (1973 г.) – логическое и реляционное программирование. Центральным понятием является отношение. Программа представляет собой совокупность определений отношений между объектами и цели. Логические программы имеют небольшое быстродействие, так как вычисления осуществляются методом проб и ошибок.
Первым стал Смолток (1970 г.) – реализация функций машинной графики.
Основой объектно-ориентированного программирования является понятие объект. Его сущность выражается формулой: объект = данные + процедуры. Каждый объект содержит некоторую структуру данных и доступные только ему процедуры обработки данных. Объединение данных и свойственных им процедур обработки в одном объекте называется инкапсуляцией.
К наиболее современным объектно-ориентированным языкам программирования относятся С++ и Java.
С середины 90-х многие объектно-ориентированные языки реализуются как системы визуального программирования.
К объектно-ориентированным системам визуального проектирования относятся: Visual Basic, Delphi, Visual C++. Это системы самого высокого уровня программирования.
Visual Basic является общей платформой для приложений MS Office.
Языки программирования баз данных. Эти языки отличаются от алгоритмических, прежде всего своим функциональным назначением. При работе с базами данных наиболее часто выполняются следующие операции: создание, преобразование, удаление таблиц в БД; поиск, отбор, сортировка по запросам пользователя; добавление новых записей или модификация существующих; удаление записей и др.
Языки программирования для компьютерных сетей.
HTML – универсальный язык разметки гипертекста, используемый для подготовки Web-документов для сети Internet. Язык представляет собой набор элементарных команд форматирования текста, добавления графических объектов, задание шрифта и цвета, организации ссылок и цвета.
Языки моделирования. При моделировании систем применяются формальные способы их описания – формальные аннотации, с помощью которых можно представить объекты и взаимосвязи между ними в системе. Такие системы называют Case-системами.
Эволюция и классификация языков программирования
Как организовать дистанционное обучение во время карантина?
Помогает проект «Инфоурок»
Описание презентации по отдельным слайдам:
Эволюция языков программирования
Язык программирования – набор ключевых слов и система правил для конструирования операторов. Операторы состоят из групп или строк чисел, букв, знаков препинания и других символов, с помощью которых программисты могут сообщить компьютеру набор команд.
Хронология создания языков программирования Название Год Автор География создания Fortran 1954 Джон Бэкус Америка Lisp 1958 Джон Маккарти Америка Algol-60 1960 Питер Наур Междунар. Cobol 1960 Междунар. Simula 1962 Кристен Нигаард Европа Basic 1963 Джон Кемени Америка PL/1 1964 Джордж Радин Америка Algol-68 1968 Адван Вайнгартен Междунар.
Хронология создания языков программирования Название Год Автор География создания Pascal 1971 Никлаус Вирт Европа Forth 1970 Чарльз Мур Америка С 1972 Деннис Ритчи Америка Smalltalk 1972 Алан Кей Америка Prolog 1973 Алан Кольмеро Европа Ada 1980 Джин Ишбиа Америка С++ 1984 Бьорн Страуструп Америка Java 1995 Джеймс Гослинг Америка
Хронология создания языков программирования Название Год Автор География создания APL 1957 Кеннет Айверсон Америка Snobol 1962 Ральф Грисуолд Америка Setl 1969 Джек Шварц Америка Параллельный Паскаль 1974 Пер Бринч Хансен Америка Scheme 1975 Гай Стил Америка Icon 1977 Ральф Грисуолд Америка
Хронология создания языков программирования Название Год Автор География создания Modula-2 1979 Никлаус Вирт Европа Оccam 1982 Дэвид Мэй Европа Common Lisp 1984 Гай Стил Америка Objective C 1986 Брэд Кокс Америка Eiffel 1986 Бертран Мейер Европа Oberon 1988 Никлаус Вирт Европа Modula-3 1988 Билл Калсов Америка
Хронология создания языков программирования Название Год Автор География создания Oberon-2 1991 Ханспетер Мёссенбёк Европа Limbo 1996 Деннис Ритчи Америка Component Pascal 1997 Куно Пфистер Европа C# 2000 Андерс Хейльсберг Америка
Классификация языков программирования задачи искусственного интеллекта — Lisp, Prolog, Multilisp, Commonlisp, Рефал, Planner, QA4, FRL, KRL, QLisp; параллельные вычисления — Fun, Apl, Alfl, PARAlfl, ML, SML, PPL/1, Hope, Miranda, Occam, PFOR, Glypnir, Actus, параллельный Cobol, ОВС-ЛЯПИС, ОВС-Мнемокод, ОВС-Алгол, ОВС-Фортран, РА(1), PA(G);
задачи вычислительной математики и физики — Occam, PFOR, Glypnir, Actus, параллельный Cobol, ОВС-ЛЯПИС, ОВС-Мнемокод, ОВС-Алгол, ОВС-Фортран, РА(1), PA(G) разработка интерфейса — Forth, С, C++, Ассемблер, Макроассемблер, Simula-67, OAK, Smalltalk, Java, РПГ; разработка программ-оболочек, разработка систем — Forth, С, C++, Ассемблер, Макроассемблер, Simula-67, OAK, Smalltalk, Java, РПГ;
задачи вычислительного характера — Algol, Fortran, Cobol, Ada, PL/1, Фокал, Basic, Pascal; оформление документов, обработка больших текстовых файлов, организация виртуальных трехмерных интерфейсов в Интернете, разработка баз данных — HTML, Perl, Tcl/Tk, VRML, SQL, PL/SCL, Informix 4GL, Natural, DDL, DSDL, SEQUEL, QBE, ISBL.
Домашнее задание Написать доклад по выбранному ЯП по плану: История создания Об авторах ЯП Область применения ЯП Вклад данного ЯП в историю развития программирования
Выберите книгу со скидкой:
ЕГЭ. География. Новый полный справочник для подготовки к ЕГЭ
350 руб. 163.00 руб.
350 руб. 171.00 руб.
ЕГЭ-2019. География. Теория и практика
350 руб. 213.00 руб.
ОГЭ. География. Большой сборник тематических заданий для подготовки к основному государственному экзамену
350 руб. 197.00 руб.
География. 10-11 классы. Атлас. (Традиционный комплект) (РГО)
350 руб. 106.00 руб.
География. 7 класс. Атлас. (Традиционный комплект)(РГО)
350 руб. 106.00 руб.
География. 5 класс. Атлас. (Традиционный комплект).
350 руб. 106.00 руб.
География. 10-11 классы. Контурные карты. (Традиционный комплект) (РГО)
350 руб. 59.00 руб.
География. 6 класс. Атлас. (Традиционный комплект)(РГО)
350 руб. 106.00 руб.
География. Материки, океаны, народы и страны. 7класс. Атлас
350 руб. 184.00 руб.
География. 9 класс. Контурные карты. (Традиционный комплект) (РГО)
350 руб. 59.00 руб.
География. Начальный курс географии. 6класс. Контурные карты
350 руб. 101.00 руб.
БОЛЕЕ 58 000 КНИГ И ШИРОКИЙ ВЫБОР КАНЦТОВАРОВ! ИНФОЛАВКА
Инфолавка — книжный магазин для педагогов и родителей от проекта «Инфоурок»
Бесплатный
Дистанционный конкурс «Стоп коронавирус»
- Силина Наталья Николаевна
- Написать
- 1823
- 04.12.2015
Номер материала: ДВ-227356
Добавляйте авторские материалы и получите призы от Инфоурок
Еженедельный призовой фонд 100 000 Р
- 04.12.2015
- 751
- 04.12.2015
- 1405
- 04.12.2015
- 949
- 04.12.2015
- 336
- 04.12.2015
- 1525
- 04.12.2015
- 699
- 04.12.2015
- 1772
Не нашли то что искали?
Вам будут интересны эти курсы:
Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.
Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако редакция сайта готова оказать всяческую поддержку в решении любых вопросов связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.
эволюция и классификация языков программирования.
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением. В более абстрактном виде ЯП является средством создания программных моделей объектов и явлений внешнего мира.
Со времени создания первых программируемых машин человечество придумало более двух с половиной тысяч языков программирования. Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.
Чтобы понимать тенденции развития ЯП, нужно знать движущие силы их эволюции. Для выяснения этого вопроса будем рассматривать ЯП с различных точек зрения.
1) Во-первых, ЯП является инструментом программиста для создания программ. Для создания хороших программ нужны хорошие ЯП. Поэтому одной из движущих сил эволюции ЯП является стремление разработчиков к созданию более совершенных программ.
2) Во-вторых, процесс разработки программы можно сравнивать с промышленным производством, в котором определяющими факторами являются производительность труда коллектива программистов, себестоимость и качество программной продукции. Создаются различные технологии разработки программ (структурное, модульное, объектно-ориентированное программирование и другие), которые должны поддерживаться ЯП. Поэтому второй движущей силой эволюции ЯП является стремление к повышению эффективности процесса производства программной продукции.
3) В-третьих, программы можно рассматривать как аналог радиоэлектронных устройств обработки информации, в которых вместо радиодеталей и микросхем используют конструкции ЯП. Как и электронные устройства, программы могут быть простейшими (уровня детекторного приемника) и сложными (уровня автоматической космической станции), при этом уровень инструмента должен соответствовать сложности изделия. Поэтому третьей движущей силой является увеличение разнообразия и повышение сложности задач, решаемых с помощью ЭВМ.
4) В-четвертых, совершенствование самих ЭВМ приводит к необходимости создания языков, максимально реализующих новые возможности ЭВМ.
5) В-пятых, программы являются интеллектуальным продуктом, который нужно накапливать и приумножать. Но программы, как и технические изделия, обладают свойством морального старения, одной из причин которого является их зависимость от типа ЭВМ и операционной среды. Поэтому ЯП должен обеспечивать продолжительный жизненный цикл программы. Стремление к этому и является движущей силой развития ЯП.
ЯП можно классифицировать по следующим признакам:
1) По степени ориентации на специфические возможности ЭВМ ЯП делятся на:
— машинно-зависимые;
— машинно-независимые.
К машинно-зависимым ЯП относятся машинные языки, ассемблеры и автокоды, использующиеся в системном программировании. Программа на машинно-независимом ЯП после трансляции на машинный язык становится машинно-зависимой.
2) По степени детализации алгоритма получения результата ЯП делятся на:
— языки низкого уровня;
— языки высокого уровня;
— языки сверхвысокого уровня.
3) По степени ориентации на решение определенного класса задач:
— проблемно-ориентированные;
— универсальные.
4) По возможности дополнения новыми типами данных и операциями:
— расширяемые;
— нерасширяемые.
5) По возможности управления реальными объектами и процессами:
— языки систем реального времени;
— языки систем условного времени.
6) По способу получения результата:
— процедурные;
— непроцедурные.
7) По типу решаемых задач:
— языки системного программирования;
— языки прикладного программирования.
8) Непроцедурные языки по типу встроенной процедуры поиска решений:
— реляционные;
— функциональные;
— логические.
Специализированные языки.
Фортран (1954 год создания)
Ada (1983) и Ada95 (1995)
В 1954 году в недрах корпорации IBM группой разработчиков во главе с Джоном Бэкусом (John Backus) был создан язык программирования Fortran.
Значение этого события трудно переоценить. Это первый язык программирования высокого уровня. Впервые программист мог по-настоящему абстрагироваться от особенностей машинной архитектуры. Ключевой идеей, отличающей новый язык от ассемблера, была концепция подпрограмм. Напомним, что это современные компьютеры поддерживают подпрограммы на аппаратном уровне, предоставляя соответствующие команды и структуры данных (стек) прямо на уровне ассемблера, в 1954 же году это было совершенно не так. Поэтому компиляция Fortran’а была процессом отнюдь не тривиальным. Кроме того, синтаксическая структура языка была достаточно сложна для машинной обработки в первую очередь из-за того, что пробелы как синтаксические единицы вообще не использовались. Это порождало массу возможностей для скрытых ошибок, таких, например:
В Фортране следующая конструкция описывает «цикл for до метки 10 при изменении индекса от 1 до 100»:
DO 10 I=1,100
Если здесь заменить запятую на точку, то получится оператор присваивания:
DO10I = 1.100
Говорят, что такая ошибка заставила ракету взорваться во время старта.
Язык Фортран использовался (и используется по сей день) для научных вычислений. Он страдает от отсутствия многих привычных языковых конструкций и атрибутов, компилятор практически никак не проверяет синтаксически правильную программу с точки зрения семантической корректности (соответствие типов и проч.). В нем нет поддержки современных способов структурирования кода и данных. Это осознавали и сами разработчики. По признанию самого Бэкуса, перед ними стояла задача скорее разработки компилятора, чем языка. Понимание самостоятельного значения языков программирования пришло позже.
В 1957 году была предпринята попытка создания языка для описания математической обработки данных. Язык был назван APL (Application Programming Language). Его отличительной особенностью было использование математических символов (что затрудняло применение на текстовых терминалах; появление графических интерфейсов сняло эту проблему) и очень мощный синтаксис, который позволял производить множество нетривиальных операций прямо над сложными объектами, не прибегая к разбиению их на компоненты. Широкому применению помешало, как уже отмечалось, использование нестандартных символов как элементов синтаксиса.
6.3. Lisp и ему подобные языки
В 1958 году появился язык Lisp — язык для обработки списков. Получил достаточно широкое распространение в системах искусственного интеллекта. Имеет несколько потомков: Planner (1967), Scheme (1975), Common Lisp (1984). Многие его черты были унаследованы современными языками функционального программирования.
В 1960 году был создан язык программирования Cobol.
Он задумывался как язык для создания коммерческих приложений, и он стал таковым. На Коболе написаны тысячи прикладных коммерческих систем. Отличительной особенностью языка является возможность эффективной работы с большими массивами данных. Популярность Кобола столь высока, что даже сейчас, при всех его недостатках (по структуре и замыслу Кобол во многом напоминает Фортран), появляются новые его диалекты и реализации. Так появилась реализация Кобола, совместимая с Microsoft .NET, что потребовало, вероятно, внесения в язык некоторых черт объектно-ориентированного языка.
Основные понятия алгоритмических языков программирования.
Алгоритмический язык содержит подобные элементы, только слова называют элемен- тарными конструкциями, словосочетания-выражениями, предложения-операторами. Символы, элементарные конструкции, выражения и операторы составляют иерархическую структуру, поскольку элементарные конструк- ции образуются из последовательности символов, выражения-это последо- вательность элементарных конструкций и символов, а оператор-последо- вательность выражений, элементарных конструкций и символов. ОПИСАНИЕ ЯЗЫКА есть описание четырех названных элементов. Описание символов заключается в перечислении допустимых символов языка. Под описанием элементарных конструкций понимают правила их образования. Описание выражений-это правила образования любых выражений, имеющих смысл в данном языке. Описание операторов состоит из рассмотрения всех типов операторов, допустимых в языке. Описание каждого элемента языка задается его СИНТАКСИСОМ и СЕМАНТИКОЙ. Синтаксические определе- ния устанавливают правила построения элементов языка. Семантика опре- деляет смысл и правила использования тех элементов языка, для которых были даны синтаксические определения. СИМВОЛЫ языка-это основные неделимые знаки, в терминах которых пи- шутся все тексты на языке. ЭЛЕМЕНТАРНЫЕ КОНСТРУКЦИИ -это минимальные единицы языка, имеющие самостоятельный смысл. Они образуются из основных символов языка. ВЫРАЖЕНИЕ в алгоритмическом языке состоит из элементарных конс- трукций и символов, оно задает правило вычисления некоторого значе- ния. ОПЕРАТОР задает полное описание некоторого действия, которое необ- ходимо выполнить. Для описания сложного действия может потребоваться группа операторов. В этом случае операторы объединяются в СОСТАВНОЙ ОПЕРАТОР или БЛОК. Действия, заданные операторами, выполняются над ДАННЫМИ. Предложения алгоритмического языка, в которых даются сведения о типах данных, называются ОПИСАНИЯМИ или неисполняемыми операторами. Объединенная единым алгоритмом совокупность описаний и операторов образует ПРОГРАММУ на алгоритмическом языке. В процессе изучения алгоритмического языка необходимо отличать алгоритмический язык от того языка, с помощью которого осуществляется описание изучаемого алгоритмического языка. Обычно изучаемый язык на- зывают просто языком, а язык, в терминах которого дается описание изучаемого языка — МЕТАЯЗЫКОМ.
Эволюция и классификация языков программирования.
Язык программирования – набор ключевых слов (словарь) и система грамматических и синтаксических правил для конструирования операторов, состоящих из групп символов, с помощью которых люди могут сообщать компьютеру набор команд.
Парадигма программирования — это цельный набор идей и рекомендаций, определяющих стиль написания программ.
Виды парадигм программирования:
1. Логическое программирование
2. Функциональное программирование
3. Структурное программирование
4. Автоматное программирование
5. Процедурное программирование
6. Объектно-ориентированное программирование
7. Прототипное программирование
8. Аспектно-ориентированное программирование
Функциональное и логическое программирование являют собой части декларативного программирования, т. е. такого стиля программирования, при использовании которого в программах описывается способ решения поставленной задачи, а не предписываются шаги для получения результата.
Структурное программирование – методология разработки ПО, согласно которой любая программа представляет собой структуру, построенную из трёх типов базовых конструкций: последовательное исполнение, ветвление, цикл. Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде так называемых подпрограмм (процедур или функций). Разработка программы ведётся пошагово, методом «сверху вниз». Структурное программирование – это программирование без оператора безусловного перехода GOTO, без использования меток.
Модульное программирование — принцип, согласно которому логически связанные между собой подпрограммы, переменные группируются в отдельные файлы (модули), которые компилируются независимо друг от друга. Модульность программы значительно уменьшает время её перекомпиляции при изменениях, вносимых в исходные тексты, упрощает групповую разработку.
Объектно-ориентированное программирование — парадигма программирования, в которой предметная область представляется системой структур данных, каждая из которых представляет некий отдельный предмет (объект) с его внутренними свойствами и действиями над ним.
ООП характеризуется следующими свойствами:
1. Инкапсуляция – объединение данных с функциями их обработки в сочетании со скрытием деталей реализации.
2. Наследование – возможность создания иерархии классов, когда потомки наследуют свойства своих предков, могут их изменять и добавлять новые.
3. Полиморфизм – возможность использовать в различных классах иерархии одно имя для обозначения сходных по смыслу действий и гибко выбирать требуемое действие во время выполнения программы.
Прототипное программирование — стиль объектно-ориентированного программирования, при котором отсутствует понятие класса, а повторное использование (наследование) производится путём клонирования существующего экземпляра объекта — прототипа.
Языки программирования делятся на 2 группы:
1. Языки программирования «низкого уровня»(Ассемблер) — каждому оператору соответствует не более одной машинной команды.
2. Языки программирования «высокого уровня» —каждый оператор заменяет несколько машинных команд.
Поколения языков программирования:
1 поколение (начало 50 годов 20 века) – появление первого языка ассемблера, созданного по принципу «одна инструкция – одна строка».
2 поколение (начало 60 годов 20 века) – создание символического ассемблера, появление понятия переменной.
3 поколение (60 годы 20 века) – появление универсальных языков высокого уровня.
4 поколение (70 годы 20 века) – появление проблемно-ориентированных языков программирования
5 поколение (90 годы 20 века) – появление систем автоматического создания программ с помощью визуальных средств разработки.