Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Обзор языков программирования высокого уровня (История возникновения языков программирования )

Введение

Данная работа посвящена описанию высокого уровня языков программирования. Актуальность данной темы обусловлена тем, что прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования.

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

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

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

1.1. Языки программирования

Язык программирования – это формальная знаковая система, используемая для связи человека с компьютером, предназначенная для описания данных и алгоритмов их обработки на компьютере.

Программа – это описание действий, которые должен выполнить компьютер.

Команда – это описание действий, которые должен выполнить компьютер.

Существует два уровня языков программирования: языки низкого уровня и языки высокого уровня.

Язык программирования низкого уровня – это языки программирования, ориентированные на команды процессора. Операторы языка низкого уровня представляют собой мнемокоды команд машинного кода.

Языки низкого уровня мало похожи на нормальный, привычный человеку язык. Большие, огромные программы на таких языках пишутся редко. Зато если программа будет написана на таком языке, то она будет работать быстро, занимая маленький объем и допуская минимальное количество ошибок. Чем ниже и ближе к машинному уровню языка, тем меньше и конкретнее задачи, которые ставятся перед каждой командой.

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

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

Язык программирования высокого уровня – это языки программирования, ориентированные на человека (программиста)

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

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

Достоинства языков программирования высокого уровня:

· алфавит языка значительно шире машинного, что делает его гораздо более выразительным и существенно повышает наглядность и понятность текста;

· набор операций, допустимых для использования, не зависит от набора машинных операций, а выбирается из соображений удобства формулирования алгоритмов решения задач определенного класса;

· конструкции операторов задаются в удобном для человека виде;

· поддерживается широкий набор типов данных.

1.2. Поколения языков программирования

Всего пять поколений:

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

Расцвет второго поколения языков программирования пришелся на конец 50-х - начало 60-х годов. Тогда был разработан символический ассемблер, в котором появилось понятие переменной. Он стал первым полноценным языком программирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.

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

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

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

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

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

1.3. Языки высокого уровня и их трансляторы (компиляторы)

Языков высокого уровня на сегодняшний день существует буквально несколько сотен тысяч. Многие из них устарели, другие развиваются, и постоянно идёт процесс создания новых языков.

Языки высокого уровня делятся на:

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

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

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

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

К таким средам разработки относятся уже устаревшие или устаревающие Турбо-Паскаль, Турбо-Си, Basic, Visual Studio-6, ранние версии Delphi.

Усложнение задач программирования привело к превращению сред разработки в технологии разработки. Одна из первых технологий под названием Java была предложена известной фирмой Sun Microsystems. Она позволила программистам впервые не учитывать архитектурных особенностей процессоров. Немного позже корпорацией Microsoft была изобретена технология .NET.

Эта технология представляет собой единую универсальную платформу (базу) программирования, одинаково пригодную для разработки любых программ, будь то обычные Windows-приложения, приложения для работы с базами данных, Web-приложения или приложения для мобильных устройств.

2. Обзор языков программирования высокого уровня

2.1. FORTRAN (Фортран)

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

Плюсы: очень простой язык, небольшое количество операторов, высокая скорость математических операций, улучшенная работа с числами с плавающей точкой.

2.2. COBOL (Кобол)

Общий язык, ориентированный на бизнес-цели, был разработан в 1960 году совместными усилиями федерального правительства и производителей компьютеров. Основная цель заключалась в том, чтобы создать язык, который легко могут понять бизнес-люди, которые не занимаются профессиональным программированием. Структура и лексика этого языка очень близка к обычному английскому языку. Вся программа разделена на четыре разных раздела, каждая из которых содержит определенный тип описаний (цель программы, характеристики компьютера, для которого она написана, тип используемых данных, команды, которые должны быть выполнены). Синтаксис Cobol моделирует синтаксис английских предложений. Cobol является основным языком для обработки данных в таких учреждениях, как банки и страховые компании.

Преимущества: хорошо развитые средства обработки текстов, организация вывода данных в виде требуемого документа. Внедряются очень мощные инструменты для работы с большими объемами данных, хранящихся на различных внешних носителях.

2.3. Algol (Алгол)

Компилированный язык, созданный в 1960-м году. Его призвали заменить язык Фортран, но из-за более сложной структуры он не был широко использован. В 1968-м году версия Algol 68 была создана в своих возможностях перед многими языками программирования, но из-за отсутствия эффективных компьютеров для нее не удалось создать хорошие компиляторы своевременно.

Достоинства: введены структурные управляющие конструкции (ветвления, циклы, последовательные участки; возможность организации рекурсивных процедур; два способа передачи параметров в подпрограмму – по имени и по значению.

2.4. Pascal (Паскаль)

Язык программирования Паскаля был разработан Николасом Виртом, профессором кафедры вычислительных технологий Швейцарского федерального технологического института в 1968 году, в качестве альтернативы существующим и все более сложным языкам программирования, таким как PL / 1, Algol, Fortran. Интенсивное развитие Паскаля привело к появлению в 1973 году его стандарта в виде пересмотренного отчета, а число переводчиков с этого языка в 1979 году превысило 80. В начале 80-х Паскаль еще больше укрепил свои позиции с появлением MS- Pascal и Turbo-Pascal для ПК. С тех пор Pascal стал одним из самых важных и широко используемых языков программирования. Примечательно, что язык давно вышел за рамки академического и узкопрофессионального интереса и используется в большинстве университетов высокоразвитых стран не только как рабочий инструмент для пользователя. Важнейшей особенностью Pascal является воплощенная идея структурированного программирования. Еще одна важная особенность - концепция структуры данных как одна из фундаментальных концепций.
Основными причинами популярности Pascal являются следующие:
- простота языка позволяет вам быстро изучить его и создать алгоритмически сложные. программы
- разработанные средства представления структур данных обеспечивают удобство работы как с численным, так и с символической и битовой информацией.
- наличие специальных методов для создания переводчиков из Паскаля упростило их развитие и способствовало широкому распространению языка.
- оптимизирующие свойства переводчиков из Pascal позволяют создавать эффективные программы. Это было одной из причин использования Pascal в качестве языка системного программирования.
- язык Pascal реализует идеи структурного программирования, что делает программу понятной и дает хорошие возможности для разработки и отладки.

2.5. Basic (Бейсик)

BASIC (BASIC - Beginner’s All-Purpose Symbolic Instruction Code - «универсальный символический код инструкций для начинающих»). Прямой потомок Fortran и по-прежнему остается самым популярным языком программирования для персональных компьютеров. Бейсик появился в 1963-м году (его было бы сложно назвать автором, но главная заслуга в его появлении, несомненно, принадлежит американцам Джону Кемени и Томасу Курцу). Как и любые преимущества, простота Бейсика обернулась, особенно в ранних версиях трудностей структурирования; Кроме того, BASIC не разрешил рекурсию - интересную технику, которая позволяет вам делать эффективные и в то же время короткие программы.

Разработаны мощные компиляторы BASIC, которые обеспечивают не только богатую лексику и высокую скорость, но и возможность структурированного программирования. По мнению некоторых программистов, наиболее интересными версиями являются GWBASIC, Turbo-Basic и Quick Basic.
В свое время появление Quick Basic ознаменовало рождение второго поколения систем программирования на языке BASIC. Он предоставил возможность модульного и процедурного программирования, создания библиотек, составления готовых программ и т.д., что привело его к уровню таких классических языков программирования, как C, Pascal, Fortran и т.д. Кроме того, в связь с отсутствием официального стандарта языка BASIC, его внедрение в виде Quick Basic стало фактическим стандартом. Безусловными лидерами среди различных версий BASIC были Quick Basic 4.5 и PDS 7.1 от Microsoft, которые появились в конце 80-х.

2.6. С (Си)

Этот язык был создан в лаборатории Bell и первоначально не считался массовым. Планировалось заменить ассемблер, чтобы иметь возможность создавать одинаково эффективные и компактные программы и в то же время не зависеть от конкретного типа процессора. Cи во многом похож на Pascal и имеет дополнительные инструменты для прямой работы с памятью (указатели). На этом языке, в 1970-х годах, было написано много приложений и системных программ и ряд известных операционных систем (Unix).
Достоинства: Си - удобный язык. Он достаточно структурирован для поддержания хорошего стиля программирования и в то же время не связывает ограничения.

2.7. C++ (Си++)

Язык C++ появился в начале 80-х. Созданный Бьерном Страуструпом с первоначальной целью - спасти себя и своих друзей от программирования на ассемблере, C или различных других языков высокого уровня.
По словам автора языка, разница между идеологией C и C++ примерно такова: программа C отражает «образ мышления» процессора, а C++ - то, как думает программист. Отвечая требованиям современного программирования, C++ подчеркивает разработку новых типов данных, наиболее полно относящихся к концепциям выбранной области знаний и задач приложения. Класс является ключевым понятием C++. Описание класса содержит описание данных, необходимых для представления объектов этого типа, и набор операций для работы с похожими объектами.

В отличие от традиционных структур C и Pascal, члены класса являются не только данными, но и функциями. Функции - члены класса имеют привилегированный доступ к данным внутри объектов этого класса и обеспечивают интерфейс между этими объектами и остальной частью программы. При дальнейшей работе совершенно не обязательно помнить внутреннюю структуру класса и механизм работы встроенных функций. В этом смысле класс похож на электроприбор - мало кто знает о его устройстве, но все знают, как его использовать.

Язык C++ - это инструмент для объектного программирования, новейшая методология разработки и реализации программ, которая в текущем десятилетии, скорее всего, заменит традиционное процедурное программирование. Основной целью создателя языка доктора Бьерна Страустрапа было оснащение языка C++ конструкциями, которые повышают производительность программистов и облегчают освоение больших программных продуктов.

Абстракция, реализация, наследование и полиморфизм являются необходимыми свойствами, которые имеет язык C++, поэтому он не только универсален, как язык C, но также является объектным языком.

2.7. Java (Джава, Ява)

Этот язык был создан компанией Sun в начале 90-х годов на основе C ++. Он предназначен для упрощения разработки приложений на C ++, исключая из него все низкоуровневые возможности. Но основной особенностью этого языка является компиляция не в машинный код, а в независимый от платформы байт-код (каждая команда принимает один байт). Этот байт-код может быть выполнен с использованием виртуальной Java-машины JVM (Java Virtual Machine), которая создана сегодня для любой платформы. Из-за наличия множества машин на базе Java-машин программы Java могут передаваться не только на исходном уровне, но и на уровне двоичного байт-кода. Особое внимание в развитии этого языка уделяется двум областям: поддержке всех видов мобильных устройств и микрокомпьютеров, встроенных в бытовую технику (технология Jini), и созданию не зависящих от платформы программных модулей, которые могут работать на серверах в глобальных и локальных сетях с различными операционными системами (технология Java Beans). Хотя основным недостатком этого языка является низкая скорость, поскольку язык Java интерпретируется.

2.8. С# (Си Шарп)

В конце 90-х годов в компании Microsoft под руководством Андерса Хейльсберга был разработан язык C #.

C# (произносится как «Си шарп») - простой, современный объектно-ориентированный и безопасный по типу язык программирования. C # принадлежит к широко известному семейству языков C и будет казаться знакомым всем, кто работал с C, C++, Java или JavaScript.
C# - объектно-ориентированный язык, но он также поддерживает компонентно-ориентированное программирование. Разработка современных приложений все чаще стремится создавать программные компоненты в виде автономных и самоописательных пакетов, которые реализуют индивидуальные функции. Важной особенностью таких компонентов является модель программирования, основанная на свойствах, методах и событиях. Каждый компонент имеет атрибуты, которые предоставляют декларативную информацию о компоненте, а также встроенные элементы документации. C# предоставляет языковые конструкции, непосредственно поддерживающие эту концепцию работы. Благодаря этому Си шарп отлично подходит для создания и использования программных компонентов.

Вот лишь несколько функций языка C#, которые обеспечивают надежность и стабильность приложений: сбор мусора автоматически освобождает память, занятую уничтоженными и неиспользуемыми объектами; Обработка исключений обеспечивает структурированный и расширяемый способ идентификации и обработки ошибок; Строгий ввод языка не позволяет получить доступ к неинициализированным переменным, выйти за пределы массива или выполнить неконтролируемое приведение типов.

2.9. PL/1 (ПЛ/1)

PL/I был разработан в 1964-1965 годах компанией IBM. PL/I относится к числу универсальных языков, то есть позволяет решать проблемы из разных областей: численные вычисления, обработку текста, экономические задачи и т.д. По своим возможностям он охватывает языки, такие как FORTRAN, ALGOL (созданные для численных расчетов), COBOL (для экономических проблем), хотя по ряду причин они не могли заменить эти языки PL/I.

PL/I содержит все основные конструкции, характерные для так называемых языков высокого уровня, а также ряд конкретных инструментов, которые удобны для практического программирования. Язык напоминает дизайнера с большим количеством деталей - для пользователя достаточно освоить только те части языка, которые ему практически нужны. Его операторы довольно емкие, что часто позволяет получить более компактную запись программы, чем на других языках. Знающий программист PL/I легко изучает любой другой язык того же или близкого класса.

В то же время PL/I имеет ряд недостатков, которые затрудняют изучение и использование языка. Основные из них заключаются в следующем. Во-первых, существует много инструментов для дублирования, их трудно запомнить, неясно, что, когда применять, кроме того, он уменьшает скорость перевода и скорость выполнения программы. Во-вторых, программы не полностью независимы от машины.

2.10. Smalltalk (Смолток)

Работа над этим языком началась в 1970 году в исследовательской лаборатории корпорации XEROX и закончилась 10 лет спустя, воплощенная в окончательной версии интерпретатора SMALLTALK-80. Этот язык оригинален тем, что его синтаксис очень компактен и основан исключительно на понятии объекта. На этом языке нет операторов или данных. Все, что включено в Smalltalk, являются объектами, а сами объекты общаются исключительно с помощью сообщений (например, появление выражения I+1 заставляет сообщение I отправить сообщение «+», то есть «добавить», с параметром 1, который считается не константой числа, а также объектом). Никакие другие управляющие структуры, кроме оператора ветвления (фактически, функция, принадлежащая стандартным объектам), отсутствуют в языке, хотя их можно просто упростить. Сегодня версия VisualAge forSmalltalk активно развивается компанией IBM.

2.11. LISP (Лисп)

Второй старейший язык программирования Лисп (List Information Symbol Processing), разработан Дж. Маккарти в 1962 году. Цель Lisp открыла для программистов новую область деятельности, теперь известную как «искусственный интеллект». В настоящее время Lisp успешно используется в экспертных системах, аналитических вычислительных системах и т.д.

Необъятность области возможных приложений Lisp вызвала появление многих разных диалектов Лиспа. Это легко объяснить: использование Lisp для понимания естественного языка требует определенного набора основных функций, отличающихся, например, от медицинской диагностики, используемой в проблемах.

Существование многих разных диалектов Лиспа привело к созданию в начале 80-х годов. Общий комитет LISP, который должен был выбрать наиболее подходящий диалект Лиспа и предложить его в качестве основного. Этот диалект, выбранный Комитетом в 1985 году, был назван Common LISP. Позже он был принят в университетах США, а также многими разработчиками систем искусственного интеллекта в качестве основного диалекта языка Лиспа.
Язык программирования Lisp значительно отличается от других языков программирования, таких как Pascal, C и т.д. Работа с символами и работа с числами как с основными элементами требует разных способов мышления.

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

Профессор Массачусетского технологического института Дж. Самман отметил, что математическая ясность и предельная ясность Lisp - это далеко не все. Главное - Lisp позволяет вам формулировать и запоминать «идиомы», столь характерные для проектов по искусственному интеллекту.

2.12. Prolog (Пролог)

Создан в начале 1970-х годов Аланом Колмероэ. Программа на этом языке, основанная на математической модели теории исчисления предикатов, строится из последовательности фактов и правил, а затем формулируется утверждение, которую Пролог попытается доказать с помощью введенных правил. Человек описывает только структуру проблемы, и внутренний «двигатель» самого Пролога ищет решение, используя методы поиска и сопоставления.

Пролог критикуется, прежде всего, за неполный декларативный характер: создание любых сложных и практически полезных программ Prolog в полностью декларативном стиле практически невозможно, программисту приходится прибегать к процедурным методам, что приводит к резкому увеличению сложности создания и отладки программ и низкой управляемостью промежуточных результатов.

Другой часто критикуемой особенностью языка является отсутствие набора текста (в то время как Visual Prolog - одно из объектно-ориентированных расширений языка - реализовал строгую типизацию, что, однако, уменьшает гибкость пролога).

Язык предопределяет процедуру прохождения дерева решений по глубине и стандартизирует операторы, позволяя вмешиваться в этот процесс (например, оператор отсечения или разветвление). Такая архитектура затрудняет автоматическую распараллеливание программ, что позволит использовать несколько процессоров или узлов сети в поиске решения.

2.13. Ada (Ада)

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

Язык Ады был разработан по инициативе Министерства обороны США в 1980-х годах, названный в честь математика Ады Августы Лавлейс (1815-1851). При разработке языка внимание было в первую очередь сосредоточено на надежности и эффективности - язык был создан специально для разработки больших программных пакетов реального времени для встроенных систем, которым предъявляются высокие требования к надежности; в первую очередь, это системы военного назначения.

Язык Ады основан на идеях структурного программирования и обеспечивает разработку сложных многомодульных программ, высокую степень независимости и мобильности машин. Ада содержит такие особенности паскальских языков как определение типов, общих структур управления и подпрограмм, а также достижения теории языков программирования, полученные после 1970 года. Язык поддерживает логическую модульность, для которой данные, типы и подпрограммы - все могут быть пакетами. Физическая модульность достигается отдельной компиляцией. Язык Ada поддерживает программирование в реальном времени с помощью механизмов для распараллеливания и обработки исключений. Системное программирование поддерживается доступом к зависящим от системы параметрам и контролем точности при представлении данных.

В Ada реализована автоматическая сборка мусора (как в Java или C #), так и возможность прямого выпуска памяти (как в C, C ++, Pascal). Как и в C/C ++, в Ada доступны богатые инструменты низкого уровня. Встроенная поддержка многозадачности - уникальная особенность языка программирования Ada, который отличает его от большинства языков программирования. Эта поддержка не предоставляется расширениями или внешними библиотеками, а стандартизованными инструментами, которые встроены непосредственно в язык программирования.

2.14. Forth (Форт)

Форт (англ. Forth) — один из первых конкатенативных языков программирования, в котором программы записываются последовательностью лексем («слов» в терминологии Форт языка). Математические выражения представляются постфиксной записью при использовании стековой нотации.

Язык Форт был создан Чарльзом X. Муром в конце 1960-х — начале 1970-х годов. Мур назвал свой язык Fourth, считая, что это будет язык для ЭВМ четвёртого (англ. fourth) поколения. Но так как он работал на машине IBM 1130 (англ.), которая допускала имена, составленные не более чем из пяти прописных букв, название было преобразовано в FORTH (англ. forth — вперёд). Впрочем, первые эксперименты Мура по созданию простого интерпретатора, облегчающего написание программ управления астрономическим оборудованием относятся ещё к концу 1950-х годов.

Важная особенность Форта — использование стека для передачи параметров между словами, такая конструкция позволяет очень гибко и просто реализовывать сложные концепции. Наборы слов, относящиеся к определенной области, могут выделяться в словари. Иерархическая структура словарей позволяет естественно организовывать наследование слов от словаря-родителя. Базовый словарь форта составляет менее четырех десятков слов, и уже он позволяет получать полноценные программы расширением исходного словаря.

2.12. Object PAL

Object PAL является мощным языком программирования. Object PAL представляет собой объектно-ориентированный, управляемый по событиям, визуальный язык программирования. На начальном уровне функциональности Object PAL можно осуществлять операции с данными, создавать специальные меню, а также управлять сеансом ввода данных. События в Object PAL порождают команды, которые имитируют эффект использования Paradox в интерактивном режиме. Существует возможность автоматизировать часто выполняемые задания, а также осуществлять над таблицами, формами и отчетами действия, которые были не доступны при интерактивной работе. Также Object PAL предоставляет все средства полнофункционального языка программирования в среде Windows. Можно использовать Object PAL для создания законченных систем, в которых реализованы специальная система меню, справочная система, а также всевозможные проверки данных. В Object PAL можно сохранить свои наработки в динамически компонуемой библиотеке, доступ к которой будут иметь несколько форм. Кроме того, можно установить связь с другими динамическими библиотеками, содержащие прграммы написанные на таких языках как Си, C++ или Паскаль.

Object PAL может быть использован в качестве инструмента для создания автономных программ. Можно написать законченное Windows–приложение и запустить его под Paradox.

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

2.13. Модула

Можно считать, что история языка Модула начинается в 1980 году, когда Никлаус Вирт, один из выдающихся специалистов по теории информации, известный большинству специалистов по вычислительной технике в основном как создатель языка Паскаль, опубликовал описание нового языка программирования, названного им Модула. В отличие от Паскаля, который был по замыслу языком для обучения программирования, Модула с самого начала представлял собой язык для профессиональных системных программистов, продолжая лучшие традиции своего предшественника и обогащая их новыми идеями, соответствующих таким требованиям к языкам программирования, как структурность, модульность и способность к расширению. Как и множество других языков программирования, Модула подвергалась эволюции, во время которой ее первоначальное название было переделано в имя Модула-2. Одновременно с развитием языка Модула для него создавались новые компиляторы, однако, ни один из них не мог соперничать с лучшими реализациями языков Паскаль и Си, например, разработанных фирмой Борланд. В этот переходный для языка Модула период лучшей считались реализации выполненные фирмой Logitech, которые по своим характеристикам проигрывала Турбо Паскалю и Турбо Си. Только в 1988 году после появления на американском рынке системы Top Speed, Модула-2 заняла достойное место среди процедурных языков, предназначенных для системного программирования. Возраставшей популярности системы Top Speed способствовало несколько факторов: удобное и, кроме того, легко изменяемая по желанию пользователей операционное окружение, быстрый компилятор и селективный редактор связей. Но наиболее существенным оказалось то, что создаваемые программы отличались большим быстродействием и занимали не много места в памяти.

Заключение

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

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

В этой курсовой работе мы обсудили наиболее распространенные языки программирования, такие как Фортран, Кобол, Алгол, Паскаль, Бейсик, С, С++, Java, C#, PL/1, Смолток, Лисп, Пролог, Ада, Форт, Object PAL, Модула, которые используется для научных вычислений, для обучения программированию начинающих программистам.

Список литературы

  1. Керниган, Б.У. Язык программирования С / Б.У. Керниган, Д.М. Ритчи; Пер. с англ. В.Л. Бродовой. - М.: Вильямс, 2013. - 304 c
  2. Страуструп, Б. Язык программирования C++: Специальное издание / Б. Страуструп; Пер. с англ. Н.Н. Мартынов. - М.: БИНОМ, 2012. - 1136 c.
  3. Троелсен, Э. Язык программирования С# 5.0 и платформа .NET 4.5 / Э. Троелсен; Пер. с англ. Ю.Н. Артеменко. - М.: Вильямс, 2013. - 1312 c.
  4. Хейлсберг, А. Язык программирования C#. Классика Computers Science / А. Хейлсберг, М. Торгерсен, С. Вилтамут. - СПб.: Питер, 2012. - 784 c.
  5. Шохирев, М.В. Язык программирования Perl 5: Учебное пособие / М.В. Шохирев. - М.: БИНОМ. ЛЗ, ИНТУИТ.РУ, 2013. - 279 c.
  6. О.Л. Голицына, И.И. Попов. Программирование на языках высокого уровня. – М.: Форум, 2010. – 496 с.
  7. Т.А. Павловская. Паскаль. Программирование на языке высокого уровня. – СПб.: Питер, 2010. – 464 с.
  8. А.В. Кузин, Е.В. Чумакова. Программирование на языке Си. Учебное пособие. – М.: Форум, Инфра-М, 2015. – 144 с.
  9. В.Г. Баула, А.Н. Томилин, Д.Ю. Волканов. Архитектура ЭВМ и операционные среды. – М.: Академия, 2012. – 336 с.
  10. В.Ф. Ляхович, С.О. Крамаров. Основы информатики. – Ростов-на-Дону: Феникс, 2007. – 720 с.
  11. Е.П. Истомин, A. M. Власовец. Информатика и программирование. – М.: Андреевский Издательский дом, 2010. – 294 с.
  12. В.Ф. Ляхович, В.А. Молодцов, Н.Б. Рыжикова. Основы информатики. Учебник. – М.: КноРус, 2016. – 348 с.