Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

История создания языков программирования

Лекция №4 История создания языков программирования. Программа на языке высокого уровня.

 

 

Рассмотрим основные сведения об алгоритмических языках программирования, получивших наибольшее распространение среди программистов.

Fortran (Фортран). Это первый компилируемый язык, созданный Джимом Бэкусом в 50-е годы. Программисты, разрабатывавшие программы исключительно на ассем­блере, выражали серьезное сомнение в возможности появления высокопроизво­дительного языка высокого уровня, поэтому основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и заканчивая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях.

Cobol (Кобол). Это компилируемый язык для применения в экономической области и решения бизнес-задач, разработанный в начале 60-х годов. Он отличается большой "многословностью" – его операторы иногда выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано очень много приложений, которые активно эксплуатируются и сегодня. Достаточно сказать, что наибольшую зарплату в США получают программисты на Коболе.

А1gо1 (Алгол). Компилируемый язык, созданный в 1960 году. Он был призван заме­нить Фортран, но из-за более сложной структуры не получил широкого распростра­нения. В 1968 году была создана версия Алгол 68, по своим возможностям и сегодня опережающая многие языки программирования, однако из-за отсутствия доста­точно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы. Язык Алгол сыграл большую роль в теории, но для практического программирования сейчас почти не используется.

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

BASIC (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Бейсик был создан в 1964 г. Томасом Куртом и Джоном Кемени как язык для начинающих программистов, облегчающий написание простых программ. В настоящее время разработано несколько различных версий языка Бейсик, таких как GWBASIC, QBASIC, Pro-BASIC, Turbo-BASIC, Visual-BASIC и др.

С (Си). Данный язык был создан в лаборатории Ве11 и первоначально не рассматри­вался как массовый. Он планировался для замены ассемблера, чтобы иметь возмож­ность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора.

Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке в 70-е годы написано множество при­кладных и системных программ и ряд известных операционных систем (например, Unix). В настоящее время Си широко используется при создании системного программного обеспечения.

PL/1 (ПЛ/1). В середине 60-х годов компания 1ВМ решила взять все лучшее из языков Фортран, Кобол и Алгол и воплотить в одном языке программирования. В результате в 1964 году на свет появился новый компилируемый язык программирования, который получил название Programming Language One. В этом языке было реализовано множество уникальных решений, полезность которых удается оценить только спустя 33 года, в эпоху крупных про­граммных систем. По своим возможностям ПЛ/1 значительно мощнее многих других языков (Си, Паскаля). Например, в ПЛ/1 присутствует уникальная возможность указания точности вычислений – ее нет даже у Си++ и Явы. В настоящее время язык ПЛ/1 почти не используется.

Ada (Ада). Назван по имени леди Огасты Ады Лавлейс, дочери английского поэта Байрона и его отдаленной родственницы Анабеллы Милбэнк. В 1979 году сотни экспертов Министерства обороны США отобрали из 17 вариантов именно этот язык, разработанный небольшой группой под руководством Жана Ихбиа. Он удовле­творил на то время все требования Пентагона, а к сегодняшнему дню в его развитие вложены десятки миллиардов долларов. Структура самого языка похожа на Паскаль. В нем имеются средства строгого разграничения доступа к различным уровням спецификаций, доведена до предела мощность управляющих конструкций.

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

– выделении классов объектов;

– установлении характерных свойств объектов и методов их обработки;

– создании иерархии классов, наследовании свойств объектов и методов их обработки.

Каждый объект объединяет как данные, так и программу обработки этих данных и относится к определенному классу. С помощью класса один и тот же программный код можно использовать для относящихся к нему различных объектов.

Из языков объектного программирования, популярных среди профессионалов, следует назвать прежде всего:

С++ (Си++). Си++ - это объектно-ориентированное расширение языка Си, создан­ное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность работы программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки;

Java (Джава). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка – компиляция не в машинный код, а в платформно-независимый байт-код (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора – виртуальной Java-машины, версии которой созданы сегодня для любых платформ. Благодаря наличию мно­жества Java-машин программы на Джава можно переносить не только на уровне исход­ных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Джава сегодня занимает второе место в мире после Бейсика. Язык Джава чрезвычайно эффективен для создания интерактивных Web-страниц;

Smalltalk (Смолток). Работа над этим языком началась в 1970 году в исследова­тельской лаборатории корпорации XEROX, а закончились спустя 10 лет, вопло­тившись в окончательном варианте интерпретатора SMALLTALK - 80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется исключительно на понятии объекта. В этом языке отсутствуют операторы или данные. Все, что входит в Смолток, является объектами, а сами объекты общаются друг с другом исключи­тельно с помощью сообщений (например, появление выражения I+1 вызывает посыл­ку объекту I сообщения "+", то есть "прибавить", с параметром 1, который считается не числом-константой, а тоже объектом). Больше никаких управляющих структур, за исключением "оператора" ветвления (на самом деле функции, принадлежащей стандартному объекту), в языке нет, хотя их можно очень просто смоделировать. Сегодня версия VisualAge for Smalltalk активно развивается компанией IВМ;

Delphi (Дельфи) – язык объектно-ориентированного "визуального" программирования. Явился развитием языка Паскаль.

При использовании декларативного языка программирования программист указывает исходные информационные структуры, взаимосвязи между ними и то, какими свойствами должен обладать результат. При этом процедуру его получения (то есть алгоритм) программист не строит. В этих языках отсутствует понятие "оператор".

Типичными представителями декларативных языков являются:

LISP (Лисп). Интерпретируемый язык программирования, созданный в 1960 году Джоном Маккарти. Ориентирован на структуру данных в форме списка и позволяет организовывать эффективную обработку больших объемов текстовой информации;

Prolog (Пролог). Создан в начале 70-х годов. Программа на этом языке, в основу которого положена математическая модель теории исчисления пре­дикатов, строится из последовательности фактов и правил, а затем формулируется утверждение, которое Пролог будет пытаться доказать с помощью введенных правил. Человек только описывает структуру задачи, а внутренний "мотор" Пролога сам ищет решение с помощью методов поиска и сопоставления.

 

Структура программы на языке "Паскаль"

 

Чтобы иметь возможность решать любые задачи на компьютере необходимо “научить” машину всему, что нужно знать для получения результата. Компьютер работает в двоичном коде и понимает только свой – машинный язык. Поэтому необходимо последовательно разобрать весь процесс решения и перевести задачу на язык нулей и единиц.

Написать программу в двоичном коде очень сложно. Для того чтобы легко решать задачи на компьютере были созданы алгоритмические языки.

Мы познакомимся с конструкцией программ на языке программирования высокого уровня "Паскаль". Этот язык разработан в 1970 году, профессором кафедры вычислительной техники Швейцарского федерального института технологии - Николасом Виртом.

 

 

Программа начинается со слова program. Слово program зарезервировано в Паскале, т.е. не может использоваться ни в каких других целях, лишь для начала программы.

После служебного слова program записывается имя программы. Имя программы записывается на английском языке по усмотрению и фантазии автора программы. (В некоторых версиях Паскаля допускается запись имени программы на русском языке). Конечно, желательным является, чтобы имя программы выражало ее содержание, но как вы сами понимаете, это не всегда возможно.

Количество символов в имени программы не ограничивается, но значащими считаются первые 63 символа.

Имя программы должно начинаться с буквы. В нем не должно быть пробелов, запятых, точек.

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

 

Следующая строка программы:

 

var

a, b, c: integer;

 

В этой строке обязательно указываются все переменные, участвующие в программе и их типы.

Слово var - это сокращение от слова variable (переменная) и является так же, как и слово program, зарезервированным словом.

После него записываются имена переменных - идентификаторы, в нашем примере: a, b, c. Они записываются через запятую.

После имен переменных стоит ":" - двоеточие, а затем записано служебное, зарезервированное, слово integer. Integer (целый) указывает тип значений, которые принимают переменные - целые числа (..., -4, -3, -2, -1, 0, 1, 2, 3, 4, 5,...). Эта строка программы, также как и предыдущая, заканчивается ";" - точкой с запятой.

Далее в программе следует служебное, зарезервированное, слово begin (начать), которым начинается новый раздел программы - раздел операторов.

В этом разделе последовательно записываются команды, операторы, которые разделяются ";" - точкой с запятой. Они будут выполняться компьютером.

Программа заканчивается служебным словом end, после которого стоит точка. Она является обязательной во всех паскалевских программах. Точка оповещает о конце текста программы.

 

КОНСТРУКЦИЯ ПРОГРАММЫ НА ЯЗЫКЕ ПАСКАЛЬ

 

Program < имя >;

 

РАЗДЕЛ ОПИСАНИЙ

В нем описываются имена переменных и их типы.

 

Begin

 

РАЗДЕЛ ОПЕРАТОРОВ

Ввод данных, последовательность команд, вывод результатов.

 

end.

 

<== предыдущая лекция | следующая лекция ==>
Циклическимназывается вычислительный процесс, в котором получение результата обеспечивается путем многократного повторения некоторой последовательности действий | Команда присваивания
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 2510; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.029 сек.