Скачать презентацию Языки и системы программирования Системы программирования Принципы Скачать презентацию Языки и системы программирования Системы программирования Принципы

3 языки и системы программирования.pptx

  • Количество слайдов: 68

Языки и системы программирования Языки и системы программирования

Системы программирования. Принципы структурного и модульного программирования. Системы программирования. Принципы структурного и модульного программирования.

Система программирования • Основное назначение программного обеспечения (ПО) – повышение эффективности труда пользователя, а Система программирования • Основное назначение программного обеспечения (ПО) – повышение эффективности труда пользователя, а также увеличение пропускной способности ЭВМ посредством сокращения времени и затрат на подготовку и выполнение программ.

Введение в программирование • Какой язык понимает процессор? • Процессор понимает язык электрических сигналов. Введение в программирование • Какой язык понимает процессор? • Процессор понимает язык электрических сигналов. Он не различает сильный или слабый сигнал. Процессор принимает одно их двух состояний: есть сигнал (1) или нет сигнала (0). • Процессор отличает сочетания сигналов в единицу времени как много или в какой последовательности будет скачок тока или нет.

 • Компьютер – это сложная вычислительная система, предназначенная для реализации процесса автоматизированной обработки • Компьютер – это сложная вычислительная система, предназначенная для реализации процесса автоматизированной обработки данных в соответствии с задаваемыми алгоритмами. • Процессор – программно-управляемое электронное устройство, построенное на одной или нескольких микросхемах. • Основная функция – выполнение арифметических, логических и других операций, закодированных в командах; управление основными узлами компьютера и координация их взаимодействия. • Микросхема – электронная схема, реализованная в виде полупроводниковых кристаллов.

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

Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования

повторение языки • • • Русский язык Английский язык Немецкий язык Японский язык … повторение языки • • • Русский язык Английский язык Немецкий язык Японский язык … • Язык математики • Язык физики • Язык химии • Язык географии • … естественные языки формальные языки Алфавит – минимальный набор однозначно определенных символов из которых формируется сообщение.

? Как осуществляется взаимодействие ПК и человека? • Машинная программа – последовательность машинных команд, ? Как осуществляется взаимодействие ПК и человека? • Машинная программа – последовательность машинных команд, задающая алгоритм решения задачи в виде последовательности машинных операций. • Языки программирования – система обозначений и правил для описания алгоритмов и структур данных. • Языки низкого уровня – это средство записи инструкций компьютеру простыми приказами-командами на машинном уровне, ориентированном на конкретную ЭВМ. • Машинный язык – управляющий код для конкретной машинной операции, определяющий, откуда взять исходные данные и куда поместить результаты выполнения операции. • Язык программирования высокого уровня - это средство записи инструкций системой обозначений, близкой к человеку. Ориентирован на любую ЭВМ, т. к. в состав языка входит программа, автоматически переводящая текст на язык ЭВМ.

Система программирования • Язык программирования должен понимать текст программы, написанный человеком, анализировать его, указывая Система программирования • Язык программирования должен понимать текст программы, написанный человеком, анализировать его, указывая на ошибки, переводить на машинный язык для выполнения команд процессором.

Три составляющих языка программирования: 1. Алфавит – фиксированный для данного языка набор основных символов. Три составляющих языка программирования: 1. Алфавит – фиксированный для данного языка набор основных символов. 2. Синтаксис – набор правил, устанавливающих, какие комбинации символов являются осмысленными предложениями на этом языке. 3. Семантика – определяет смысловое значение предложений языка.

задача алгоритм Кодирование на языке программы программирования 1. Язык программирования должен быть формализованным 2. задача алгоритм Кодирование на языке программы программирования 1. Язык программирования должен быть формализованным 2. Язык программирования должен служить для записи алгоритма формальный исполнитель Язык программирования – формализованный язык для записи алгоритма, предназначенного для исполнителя – компьютера. Язык – это набор правил, определяющих систему записей, составляющих программу, синтаксис и семантику используемых грамматических конструкций. Реализация языка (транслятор) – это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд. Программа для компьютера – запись алгоритма на языке программирования.

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

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

! • Текст программы пишется во строенном в среду программирования текстовом редакторе. В нем ! • Текст программы пишется во строенном в среду программирования текстовом редакторе. В нем можно производить простые манипуляций с текстом. Встроенный в среду программирования редактор «знает» алфавит и синтаксис данного языка, что способствует отладки текста уже на первых шагах.

? • Как текст программы понимает процессор? • Для этого имеются в системе программирования ? • Как текст программы понимает процессор? • Для этого имеются в системе программирования другие программы: трансляторы. • Любое ли действие можно запрограммировать? • Любое, но в каждом языке имеется стандартный набор команд, связанных с тем или иным действием. • Где хранятся сведения о том, какие действия нужно выполнить при той или иной команде в тексте? • В специальных библиотеках программ, т. е. в файлах встроенных в систему программирования.

! Система программирования • Транслятор – специальная программа, осуществляющая перевод созданной программы на машинный ! Система программирования • Транслятор – специальная программа, осуществляющая перевод созданной программы на машинный язык. • Интерпретатор – транслятор, производящий покомандную обработку и выполнение исходной программы. • Компилятор – преобразует всю программу в модуль на машинном языке, после этого программа записывается в память компьютера и лишь потом исполняется.

Программист Программа на машиннонезависимом языке ассемблер транслятор Формальный исполнитель программ. Обрабатывает информацию в двоичном Программист Программа на машиннонезависимом языке ассемблер транслятор Формальный исполнитель программ. Обрабатывает информацию в двоичном коде 110001 101010 010000

информация ? Sin (300)=? Program A 1; var a, b, s: integer; Begin Write информация ? Sin (300)=? Program A 1; var a, b, s: integer; Begin Write (‘введите а’); Read (a); Write (‘введите b’); Read (b); S: =a+b; Write (‘S=’, S); End. Нужна специальная программа для создания и редактирования программ на том или ином языке программирования.

Program A 1; var a, b, s: integer; Begin Write (‘введите а’); Read (a); Program A 1; var a, b, s: integer; Begin Write (‘введите а’); Read (a); Write (‘введите b’); Read (b); S: =a+b; Write (‘S=’, S); End. 011100011 100100111 10001 100111010 01000110 Транслятор – программа, которая преобразует программу, написанную на языке высокого уровня в программу, состоящую из машинных команд. Интерпретатор – переводит и выполняет программу построчно Компилятор – читает программу целиком, переводит и создает законченный вариант (exe ФАЙЛ) программы на машинном языке, который затем и выполняется

Program A 1; var a, s: integer; Begin Write (‘введите а’); Red (a); Write Program A 1; var a, s: integer; Begin Write (‘введите а’); Red (a); Write (‘введите b’); Read (b); S: =a+b; Write (‘S=’, S); End Program A 1; var a, b, s: integer; Begin Write (‘введите а’); Read (a); Write (‘введите b’); Read (b); S: =a+b; Write (‘S=’, S); End. Отладочная программа (т. е. программа, помогающая находить устранять ошибки в программе )

 • • Многооконный режим работы «Дружественная» к пользователю диалоговая среда Библиотеки стандартных программ • • Многооконный режим работы «Дружественная» к пользователю диалоговая среда Библиотеки стандартных программ и функций Графические библиотеки Утилиты для работы с библиотеками Встроенная справочная служба И др.

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

Утилиты • • программы-драйверы программы-упаковщики (архиваторы), антивирусные программы, программы восстановления информации, форматирования, защиты данных Утилиты • • программы-драйверы программы-упаковщики (архиваторы), антивирусные программы, программы восстановления информации, форматирования, защиты данных ; программы оптимизации и контроля качества дискового пространства; коммуникационные программы, организующие обмен информацией между компьютерами; программы для управления памятью, обеспечивающие более гибкое использование оперативной памяти; программы для записи CD, DVD и многие другие.

! Система программирования • Модули – части целого. • Библиотеки программ – файлы, которые ! Система программирования • Модули – части целого. • Библиотеки программ – файлы, которые содержат информацию, подключаемую программным способом для использования в исполняемой части по мере необходимости.

? Система программирования • Если в модулях библиотеки нет команды, которая нужна при создании ? Система программирования • Если в модулях библиотеки нет команды, которая нужна при создании программы? • Её нужно написать на языке программирования, т. е. создать дополнительный модуль с новыми командами для данной системы программирования. • Сколько модулей (файлов) входят в среду программирования? • Много, но не всегда все модули используются, объем программного обеспечения языка может меняться.

Необходимые модули Turbo Pascal: • Turbo. exe – интегрированная среда программирования; • Turbo. hlp Необходимые модули Turbo Pascal: • Turbo. exe – интегрированная среда программирования; • Turbo. hlp – файл, содержащий данные для оперативной подсказки; • Turbo. tp – файл конфигурации системы; • Turbo. tpl – библиотека стандартных модулей ТР; • Graph. tpu и Graph. int– модули с графическими процедурами; • CRT. tpu и Crt. int – модуль управления дисплеем и клавиатурой; • Egavga. bgi – драйвер видеосистемы монитора. • Шрифты – файлы с расширением. chr

Стили программирования • • процедурный функциональный логический объектно – ориентированный Стили программирования • • процедурный функциональный логический объектно – ориентированный

ЭВОЛЮЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ ЭВОЛЮЦИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ

Процедурное программирование Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена Д. Процедурное программирование Процедурное (императивное) программирование является отражением архитектуры традиционных ЭВМ, которая была предложена Д. фон Нейманом в 40–х г. г.

Двоичный язык – непосредственно машинный язык. В настоящее время такие языки программистами не применяются. Двоичный язык – непосредственно машинный язык. В настоящее время такие языки программистами не применяются.

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

Язык Ассемблера – этот язык предназначен для представления в символической форме программ, записанных на Язык Ассемблера – этот язык предназначен для представления в символической форме программ, записанных на машинном языке. Он позволяет программисту пользоваться мнемоническими кодами операций, по своему усмотрению присваивать символические имена регистрам ЭВМ и ячейкам памяти, а также задавать наиболее удобные в том или ином контексте схемы адресации.

BASIC – (многоцелевой язык символических инструкций для начинающих) создали его Дж. Кемени и Т. BASIC – (многоцелевой язык символических инструкций для начинающих) создали его Дж. Кемени и Т. Куртц. Простой язык программирования, разработанный в 1964 г.

ПАСКАЛЬ (PASCAL) – этот язык является прямым развитием направления Алгола, он стал одним из ПАСКАЛЬ (PASCAL) – этот язык является прямым развитием направления Алгола, он стал одним из наиболее популярных процедурных языков программирования среди прикладных программистов. Он разработан в 1970 г. швейцарским специалистом в области вычислительной техники профессором Н. Виртом, назван в честь французского математика Блеза Паскаля и предназначался для обучения программированию.

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

В настоящее время существует 3 PASCAL – стандарта: o британский стандарт BS 6192: 1982 В настоящее время существует 3 PASCAL – стандарта: o британский стандарт BS 6192: 1982 г. , o международный стандарт ISO 7185: 1983 г. , идентичный предыдущему; o ANSI – стандарт

Функциональное программирование LISP (ЛИСП) (обработка списков) – самый первый функциональный язык, разработан и реализован Функциональное программирование LISP (ЛИСП) (обработка списков) – самый первый функциональный язык, разработан и реализован группой авторов под руководством пионера в области искусственного интеллекта Джоном Маккарти в Массачусетском технологическом институте в 1959 г. “искусственного интеллекта”.

Логическое программирование Язык PROLOG (программирование в терминах логики) – создан в 1972 г. французским Логическое программирование Язык PROLOG (программирование в терминах логики) – создан в 1972 г. французским ученым А. Колмероэ, первоначально предназначен для работы с естественными языками.

Объектно–ориентированное программирование Симула (SIMULA) – 1967 г. Симскрипт (SMALLTALK) – 1972 г. – разработан Объектно–ориентированное программирование Симула (SIMULA) – 1967 г. Симскрипт (SMALLTALK) – 1972 г. – разработан А. Кеем для реализации функциональной графики

Классификация языков программирования Языки низкого уровня машинные машинно–ориентированные (языки ассемблера) По степени детализации Предназначены Классификация языков программирования Языки низкого уровня машинные машинно–ориентированные (языки ассемблера) По степени детализации Предназначены для однозначного описания алгоритмов, требуют явно выписать процедуру решения машинно-независимые (высокого уровня) Программа представляет собой описание в форме взаимодействующих объектов Ориентированы на систематическое и формальное описание задачи с тем, чтобы решение вытекало из описания. объектноориентированные (Object Pascal, По способу программирования Java, C++) процедурные (Basic, Pascal) логические (Prolog, Lisp)

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

Вычислительные машины и языки программирования История языков развития программирования тесным образом связана с историей Вычислительные машины и языки программирования История языков развития программирования тесным образом связана с историей вычислительных машин. Даже простые арифметические операции с большими числами затруднительны для человеческого мозга. Поэтому уже в древности появилось простейшее счетное устройство - абак. В семнадцатом веке была изобретена логарифмическая линейка. В 1642 году Блез Паскаль сконструировал восьмиразрядный суммирующий механизм. В 1820 году француз Шарль де Кольмар создал арифмометр, способный производить умножение и деление.

Первая программируемая вычислительная машина Все основные идеи, которые лежат в основе работы компьютеров, были Первая программируемая вычислительная машина Все основные идеи, которые лежат в основе работы компьютеров, были изложены еще в 1833 году английским математиком Чарльзом Бэббиджем (17911871). Он разработал проект машины для выполнения научных и технических расчетов, где предугадал основные устройства современного компьютера, а также его задачи. Управление такой машиной должно было осуществляться программным путем. Для ввода и вывода данных Бэббидж предлагал использовать перфокарты. В то время перфокарты уже использовались в текстильной промышленности.

Первый язык программирования разработала Лавлейс Огаста Ада Кинг (1815 – 1852) для машины Бэбиджа. Первый язык программирования разработала Лавлейс Огаста Ада Кинг (1815 – 1852) для машины Бэбиджа. В комментариях к описанию машины, изданном в 1843 году, введены понятия «операция» , «переменная» , «условный переход» , «цикл» . Приведена программа для решения системы двух линейных уравнений с двумя неизвестными

Создание компании IBM В 1888 году американский инженер Герман Холлерит сконструировал первую электромеханическую счетную Создание компании IBM В 1888 году американский инженер Герман Холлерит сконструировал первую электромеханическую счетную машину. Эта машина, названная табулятором, могла считывать и сортировать статистические записи, закодированные на перфокартах. В 1890 году изобретение Холлерита было впервые использовано в 11 -й американской переписи населения. Работа, которую пятьсот сотрудников выполняли в течение семи лет, Холлерит сделал с 43 помощниками на 43 табуляторах за один месяц. В 1896 году Герман Холлерит основал фирму Computing Tabulating Recording Company, которая стала основой для будущей International Business Machines Corporation (IBM).

Первая электронная вычислительная машина В 1946 в США была создана первая электронная вычислительная машина Первая электронная вычислительная машина В 1946 в США была создана первая электронная вычислительная машина (ЭВМ) - ENIAC (Electronic Numerical integrator and Computer - Электронный числовой интегратор и компьютер). Разработчики: Джон Мочи (John Маuchу) и Дж. Преспер Эккерт (J. Prosper Eckert). Он был произведен на свет в Школе электрической техники Moore (при университете в Пенсильвании). Время сложения - 200 мкс, умножения - 2800 мкс и деления - 24000 мкс. Компьютер содержал 17468 вакуумных ламп шестнадцати типов, 7200 кристаллических диодов и 4100 магнитных элементов. Общая стоимость базовой машины - 750000 долларов.

Первая советская ЭВМ В Советском Союзе первая электронная цифровая вычислительная машина была разработана в Первая советская ЭВМ В Советском Союзе первая электронная цифровая вычислительная машина была разработана в 1950 году под руководством академика С. А. Лебедева в Академии наук Украинской ССР. Она называлась «МЭСМ» (малая электронная счётная машина).

Возникновение компьютерной науки (Computer Science) Основоположниками компьютерной науки по праву считаются Клод Шеннон - Возникновение компьютерной науки (Computer Science) Основоположниками компьютерной науки по праву считаются Клод Шеннон - создатель теории информации, Алан Тьюринг - математик, разработавший теорию программ и алгоритмов, и Джон фон Нейман - автор конструкции вычислительных устройств, которая до сих пор лежит в основе большинства компьютеров. В те же годы возникла еще одна новая наука, связанная с информатикой, - кибернетика, наука об управлении как одном из основных информационных процессов. Основателем кибернетики является американский математик Норберт Винер.

Первое поколение ЭВМ Развитие ЭВМ делится на несколько периодов. Поколения ЭВМ каждого периода отличаются Первое поколение ЭВМ Развитие ЭВМ делится на несколько периодов. Поколения ЭВМ каждого периода отличаются друг от друга элементной базой и математическим обеспечением. Первое поколение (1945 -1954) - ЭВМ на электронных лампах. Их быстродействие не превышало 2— 3 тыс. операций в секунду, оперативная память не превышала 2 Кб. Машинно-зависимые языки программирования низкого уровня – двоичные машинные коды, Автокод, языки Ассемблера.

Языки программирования Год Язык (идея) Создате ЭВМ ль Заметки о языке Немецкий инженер Цузе Языки программирования Год Язык (идея) Создате ЭВМ ль Заметки о языке Немецкий инженер Цузе разработал этот язык для ЭВМ Z 4, но ни компилятора, ни интерпретатора для него написано не было (поскольку и язык, и ЭВМ он разрабатывал в одиночку). 46 Плюнкалкюль Цузе Z 4 49 "Краткий код" Мочли Юнивак По своей сути, это была система обозначений для быстрого ввода в ЭВМ алгебраических выражений. "Краткий код" работал как примитивный интерпретатор. 49 Идея Грейс подпрограммы Хоппер Марк-1 Программисты под руководством Хоппер впервые во всем мире реализовали идею подпрограмм как многократно используемую последовательность команд. Тогда они просто переписывали куски машинного кода друг у друга из блокнотов.

Год Язык (идея) Языки программирования Создатель ЭВМ Заметки о языке 50 Ассемблер Грейс Хоппер Год Язык (идея) Языки программирования Создатель ЭВМ Заметки о языке 50 Ассемблер Грейс Хоппер Эдсак Первый ассемблер представлял из себя систему мнемонических обозначений, объединённую с библиотекой подпрограмм 52 АВТОКОД Гленн Автокод был первым полноценным транслятором (компилятором), т. е. он транслировал мнемоническую схему в машинные коды. Марк-1 52 А-0 Грейс Хоппер Юнивак А-0 был первым полноценным ассемблером, получившим широкую известность. Он предоставлял услуги как компилятора, так и компоновщика. По сути, А-0 представлял первое промышленное средство для создания других программ. 56 B-0 Грейс Хоппер Юнивак Хоппер создала первый ассемблер, который понимал мнемонические команды.

Второе поколение ЭВМ 2 -го поколения были разработаны в 1950— 60 гг. В качестве Второе поколение ЭВМ 2 -го поколения были разработаны в 1950— 60 гг. В качестве основного элемента были использованы уже не электронные лампы, а полупроводниковые диоды и транзисторы, а в качестве устройств памяти стали применяться магнитные сердечники и магнитные барабаны - далекие предки современных жестких дисков. Второе отличие этих машин — это то, что появилась возможность программирования на алгоритмических языках. Были разработаны первые языки высокого уровня - Фортран, Алгол, Кобол.

Языки программирования Год Язык (идея) Создатель ЭВМ Заметки о языке 54 FORTRAN Бэкус IBM-704 Языки программирования Год Язык (идея) Создатель ЭВМ Заметки о языке 54 FORTRAN Бэкус IBM-704 Был первым языком программирования высокого уровня. Разрабатывался компанией IBM для её новой ЭВМ. Коллектив под руководством Бэкуса разработал не только спецификацию языка, но и создал компилятор для него. Это обеспечило достаточно быструю и широкую распространенность языка. Кроме того, Фортран был первым языком, для которого были разработаны компиляторы для разных ЭВМ (т. е. программа могла выполняться на различных ЭВМ). Лучше всего Фортран подходит для решения инженерных и расчетных задач. 58 ALGOL – 58 Первая спецификация Алгола была рождена европейским международным комитетом. 59 “CSC” – первая компания по разработке ПО В 59 году в США появилась первая компания, занимающаяся созданием промышленных программ.

Языки программирования Год Язык Создатель ЭВМ (идея) 59 БНФ Бэкус, Наур Заметки о языке Языки программирования Год Язык Создатель ЭВМ (идея) 59 БНФ Бэкус, Наур Заметки о языке Для описания спецификации Алгола Бэкус создал специальную систему – “нормальную форму”. Чуть позже эта система была уточнена Науром. Министерство обороны США создало организацию CODASYL, главным назначением которой было создание нового языка, ориентированного на бизнес – приложения. 60 ALGOL – 60 Бэкус Новая спецификация Алгола, которую отличали следующие идеи: Блочная структура Возможность рекурсии Описание с использованием БНФ 59 COBOL Стандарт языка, принятый для создания коммерческих приложений 59 CODASYL 58 Lisp CODASYL Маккарти Язык для исследований в области искусственного интеллекта, предназначенный для работы со списками и лямбда – выражениями (был создан в МТИ).

Третье поколение ЭВМ Разработка в 60 -х годах интегральных схем - целых устройств и Третье поколение ЭВМ Разработка в 60 -х годах интегральных схем - целых устройств и узлов из десятков и сотен транзисторов, выполненных на одном кристалле полупроводника (то, что сейчас называют микросхемами) привело к созданию ЭВМ 3 -го поколения. В это же время появляется полупроводниковая память, которая и по сей день используется в персональных компьютерах в качестве оперативной.

Языки программирования Год Язык (идея) 64 ПЛ/1 64 БЭЙСИК Создатель ЭВМ Заметки о языке Языки программирования Год Язык (идея) 64 ПЛ/1 64 БЭЙСИК Создатель ЭВМ Заметки о языке Рэдин (IBM) Универсальный язык программирования, разрабатывавшийся для системы System/360. Учитывая количество средств, которые были вложены в разработку и пропаганду этого языка и конечный результат, можно сказать, что этот проект провалился. Язык имел плохой дизайн. Кемени, Курц Был разработан в Дартмундском колледже как язык для обучения работе с компьютером студентов всех специальностей (и технических, и гуманитарных). Начал разрабатываться в 59 -60 х годах, когда существовал только Фортран. Отличия от Фортрана: o операторы ввода/вывода o единая система чисел (без различия на целые/вещественные) Одновременно с разработкой языка велась разработка ЭВМ, которая работала бы не в пакетном режиме, а в режиме разделения времени (отсюда – необходимость операторов ввода. Позже появится и структурно-ориентированный стандарт True. BASIC.

Языки программирования Год Язык Создатель ЭВМ (идея) 67 Симула 67 Заметки о языке Создан Языки программирования Год Язык Создатель ЭВМ (идея) 67 Симула 67 Заметки о языке Создан на основе Алгола 60 для целей имитационного моделирования. В нём впервые появилось понятие «класса» . Но этот язык был неэффективен. 66 АЛГОЛ – W Хоар, Вирт Новый стандарт языка, который был предложен Хоаром и Виртом как альтернатива существующей спецификации (буква W – от фамилии Вирт). 68 АЛГОЛ – 68 Этот вариант Алгола очень не понравился Вирту. Он как и PL/1 получился слишком большим. Кроме того имел очень сложное описание. Отсутствие реально работающих промышленных компиляторов для Алгола-68 только довершило ситуацию. 72 Smalltalk 72 язык, который изначально разрабатывался учёными для обучения детей, чтобы изучать их психологию. Именно он служит первым претендентом на звание первого объектноориентированного (ОО) ЯП, так как вся последующая терминология ОО подхода пошла именно оттуда.

Языки программирования Год Язык Создатель (идея) 68 Статья о Дейкстра структурном программиро вании ЭВМ Языки программирования Год Язык Создатель (идея) 68 Статья о Дейкстра структурном программиро вании ЭВМ Заметки о языке В этой статье Дейкстра доказывал вредность оператора “GOTO” (т. к. он нарушает последовательность операторов) и показывал, что любая программа может быть написана с использованием 3 -х структур: Последовательность Альтернатива Повторение Очень компактный универсальный язык программирования. Именно для этого языка была организация ACM открыла первую SIG(Software Interest Group). 69 AПЛ Кеннет Айверсон (IBM) 70 ПАСКАЛЬ Никлаус Вирт Был разработан Виртом как противопоставление Алголу-68. Язык с высокой структурированностью. До сих пор – лучший язык для обучения программированию. 71 ФОРТ Чарльз Мур Самый компактный язык программирования. Обладает высокой степенью расширяемости. Первое промышленное применение – управление радиотелескопами.

Языки программирования Год Язык (идея) Создатель ЭВМ Заметки о языке Керниган, Ричи, Bell Lab. Языки программирования Год Язык (идея) Создатель ЭВМ Заметки о языке Керниган, Ричи, Bell Lab. Язык был разработан для написания операционной системы UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX’ом распространялся и С. До сих пор С – один из лучших языков для системного программирования. 72 ПРОЛОГ Алан Колмери Логический язык программирования, в котором описываются факты и отношения между ними. 75 HOLWG Уайтекер HOLWG – рабочая группа по управлением Уайтекера, была создана Пентагоном для получения языка, который мог бы использоваться на всех компьютерах министерства обороны США. Результатом в 79 году стал язык Ада. 79 АДА Жан Ихбиа Универсальный язык программирования, был разработан по заказу МО США. После создания вышло требование переписать все существующие приложения на Аде. 72 С

Языки программирования Год Язык (идея) Создатель ЭВМ Заметки о языке Керниган, Ричи, Bell Lab. Языки программирования Год Язык (идея) Создатель ЭВМ Заметки о языке Керниган, Ричи, Bell Lab. Язык был разработан для написания операционной системы UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX’ом распространялся и С. До сих пор С – один из лучших языков для системного программирования. 72 ПРОЛОГ Алан Колмери Логический язык программирования, в котором описываются факты и отношения между ними. 72 С 75 HOLWG Уайтекер HOLWG – рабочая группа по управлением Уайтекера, была создана Пентагоном для получения языка, который мог бы использоваться на всех компьютерах министерства обороны США. Результатом в 79 году стал язык Ада. 79 АДА Жан Ихбиа Универсальный язык программирования, был разработан по заказу МО США. После создания вышло требование переписать все существующие приложения на Аде.

Четвертое поколение ЭВМ Обычно считается, что период с 1975 г. принадлежит компьютерам четвертого поколения. Четвертое поколение ЭВМ Обычно считается, что период с 1975 г. принадлежит компьютерам четвертого поколения. Их элементной базой стали большие интегральные схемы (БИС. В одном кристалле интегрировано до 100 тысяч элементов). Быстродействие этих машин составляло десятки млн. операций в секунду, а оперативная память достигла сотен Мб. Появились микропроцессоры (1971 г. фирма Intel), микро. ЭВМ и персональные ЭВМ. Стало возможным коммунальное использование мощности разных машин (соединение машин в единый вычислительный узел и работа с разделением времени).

Языки программирования Год Язык Создатель (идея) ЭВМ Заметки о языке 85 С++ Бьярн Страуструп Языки программирования Год Язык Создатель (идея) ЭВМ Заметки о языке 85 С++ Бьярн Страуструп Объектно-ориентированное расширение языка С 86 Perl Ларри Уолл Язык создавался в помощь системному администратору операционной системы Unix для обработки различного рода текстов и выделения нужной информации. Развился до мощного средства работы с текстами. Является интерпретируемым языком и реализован практически на всех существующих платформах. Применяется при обработке текстов, а также для динамической генерации веб -страниц на веб-серверах. 87 Oberon Никлаус Вирт Оберон отличается от Модулы-2 отсутствием многих необязательных конструкций; добавлены же в язык средства объектно-ориентированного программирования -- расширяемые записи. Оберон -- это самый простой универсальный язык.

Языки программирования Год Язык (идея) Создатель ЭВМ Заметки о языке 91 Python Интерпретируемый объектно-ориентированный Языки программирования Год Язык (идея) Создатель ЭВМ Заметки о языке 91 Python Интерпретируемый объектно-ориентированный язык программирования. По структуре и области применения близок к Perl, однако менее распространен и более строг и логичен. 92 Oberon-2 Никлаус Вирт В 1992 году были приняты расширения языка Оберон, предложенные Ханспетером Мёссенбёком. Расширенный язык получил название Оберон-2. Основное нововведение -- связанные с типами процедуры. Сейчас Оберон-2 является фактическим стандартом языка 95 Delphi 95 PHP Расмус Лердорф

Языки программирования Год Язык (идея) 96 Java 99 C# Создатель Кен Арнольд, Джеймс Гослинг Языки программирования Год Язык (идея) 96 Java 99 C# Создатель Кен Арнольд, Джеймс Гослинг ЭВМ Заметки о языке Наследует синтаксис C и C++ и избавлен от некоторых неприятных черт последнего. Отличительной особенностью языка является компиляция в код некоей абстрактной машины, для которой затем пишется эмулятор (Java Virtual Machine) для реальных систем. Кроме того, в Java нет указателей и множественного наследования, что сильно повышает надежность программирования.

Пятое поколение ЭВМ пятого поколения — это ЭВМ будущего. Программа разработки, так называемого, пятого Пятое поколение ЭВМ пятого поколения — это ЭВМ будущего. Программа разработки, так называемого, пятого поколения ЭВМ была принята в Японии в 1982 г. Предполагалось, что к 1991 г. будут созданы принципиально новые компьютеры, ориентированные на решение задач искусственного интеллекта. С помощью языка Пролог и новшеств в конструкции компьютеров планировалось вплотную подойти к решению одной из основных задач этой ветви компьютерной науки - задачи хранения и обработки знаний. Коротко говоря, для компьютеров пятого поколения не пришлось бы писать программ, а достаточно было бы объяснить на "почти естественном" языке, что от них требуется. Предполагается, что их элементной базой будут служить не СБИС, а созданные на их базе устройства с элементами искусственного интеллекта. Для увеличения памяти и быстродействия будут использоваться достижения оптоэлектроники и биопроцессоры.

Пятое поколение ЭВМ К сожалению, японский проект ЭВМ пятого поколения повторил трагическую судьбу ранних Пятое поколение ЭВМ К сожалению, японский проект ЭВМ пятого поколения повторил трагическую судьбу ранних исследований в области искусственного интеллекта. Более 50 -ти миллиардов йен инвестиций были потрачены впустую, проект прекращен, а разработанные устройства по производительности оказались не выше массовых систем того времени. Однако, проведенные в ходе проекта исследования и накопленный опыт по методам представления знаний и параллельного логического вывода сильно помогли прогрессу в области систем искусственного интеллекта в целом.

Языки искусственного интеллекта • В качестве основных языков программирования в этом, пока неосуществленном, проекте Языки искусственного интеллекта • В качестве основных языков программирования в этом, пока неосуществленном, проекте предполагались языки искусственного интеллекта LISP и PROLOG. • Создателем языка LISP (1956 -1959 гг. ) является Джон Маккарти, которого называют отцом искусственного интеллекта. Именно он первым ввел термин "искусственный интеллект". • Основным в языке LISP является понятие рекурсивно определенных функций. Доказано, что любой алгоритм может быть описан с помощью некоторого набора рекурсивных функций. • Основные идеи этого языка были позже использованы в языке программирования для детей LOGO, разработанном в 70 -е годы в Массачусетском технологическом институте под руководством Сэймура Пейперта. • Подмножество языка LOGO, включающее команды для Черепашки, применяется при раннем обучении программированию. • Язык PROLOG разработан во Франции в 1972 году также для решения проблем искусственного интеллекта. PROLOG позволяет в формальном виде описывать различные утверждения, логику рассуждений, заставляет компьютер давать ответы на заданные вопросы.