Файл: Обзор языков программирования высокого уровня (Язык программирования высокого уровня Pascal).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 92

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Для обработки больших массивов информации и выборки записей по определенным признакам был создан структурированный язык запросов SQL (StructuredQueryLanguage). Язык SQL – это стандартный язык работы с реляционными базами данных.

Сегодня в мире ведущие производители СУБД: Microsoft (SQLServer), IBM (DB2), Oracle, SoftwareAG (Adabas), Informix и Sybase. Практически в каждой СУБД имеется свой встроенный язык работы с БД. Так, например, в Oracle имеется встроенный язык PL/SQL, в Informix – INFORMIX 4GL, в Adabas – Natural и т.д.

Языки программирования для компьютерных сетей - интерпретируемые. Интерпретатор для для каждой такой программы распространяется бесплатно, а сама программа отображается в исходных текстах. Такие языки имеют название скрипт – языки. Языками для компьютерных сетей являются HTML,Perl,PHP,Tcl/Tk,VRML,XML.

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

Персоналии

Языки программирования высокого уровня предназначены для записи алгоритмов в форме, более удобной для человека по сравнению с машинными языками, низкоуровневыми и состоящими из одних цифр. С развитием информатики придумано огромное количество языков программирования, однако в настоящее время используются немногие из них. Язык Pascal создал в 1970 году Никлаус Вирт (рис.1) специально для начального обучения программированию.

Рис.1 Никлаус Вирт

Еще подростком Вирт страстно увлекался конструированием радиоуправляемых моделей самолетов. Это привело к тому, что в 1963 г. он получил степень бакалавра по электротехнике в Калифорнийском университете.

Он подошел к разработке языка, как инженер подошел бы к конструированию машины. «Если смотреть на программирование как на проектирование машины, - писал он, - то необходимость точности становится более очевидной».

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

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

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


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

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

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

Успех Паскаля намного превысил скромные ожидания Вирта. Коллеги по обе стороны Атлантического океана приняли его как средство обучения программированию будущих специалистов по информатике.

Возможно, самое важное состояло в том, что Паскаль стал путеводной звездой зарождающегося в то время движения за структурное программирование, которое обрело силу в конце 70-х годов. Оно ставило своей целью пересмотр способа разработки программ, и начало ему было положено публикацией в 1972 г. книги «Структурное программирование» англичанина К.А.Р. Хоара, норвежца О.Дж. Дала и выдающегося голландского специалиста по информатике Эдсгера Дейкстры.

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

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

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

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


Язык назван в честь великого физика и математика Блеза Паскаля (рис.2), первого изобретателя суммирующего механического устройства (арифмометра) [1, c.5].

Рис.2 Блез Паскаль

В 1641 году учёный, чтобы облегчить труд своему отцу, изобрёл и сконструировал машину (рис.3), которая могла суммировать два числа. Замысел возник сразу, но реализация идеи потребовала почти пять лет напряжённого труда. Современники прозвали  машину «паскалевым колесом», она была довольно сложна по устройству, и вычисление с ее помощью требовало значительных умений и навыков. Наверное, поэтому машина вызвала волну восхищений и удивления, но не вошла в активное практическое использование.

Скорее всего, благодаря созданию этой машины, в честь выдающегося французского математика, физика, литератора и философа был назван один из наиболее известных языков программирования – Паскаль (Pascal), который широко использовался в высшей школе и промышленности и стал основой для строения других языков программирования [5].

Рис.3 Вычислительная машина Блеза Паскаля

География

Наиболее популярным решением для персональных компьютеров в 80-е - начале 90 годов стал компилятор и интегрированная среда разработки Turbo Pascal фирмы Borland (рис.4). Встроенный компилятор обеспечивал высокую скорость компиляции и высокое качество кода (отсюда приставка Turbo). Среда Turbo Pascal обеспечивала также отладку кода, содержала богатый набор примеров. Все эти качества позволили Turbo Pascal стать стандартом Паскаля де-факто.

Рис.4 Turbo Pascal

Выпущенная в 1995 г. как продолжение среды Turbo Pascal система программирования Delphi стала одной из лучших сред для быстрого создания приложений. Delphi ввела в язык Паскаль ряд удачных объектно-ориентированных расширений; обновленный язык получил название Object Pascal. Начиная с версии Delphi 7.0 (рис.5), язык Delphi Object Pascal стал называться просто Delphi, однако, старое название используется часто. Последняя версия среды - Delphi XE[2].

Рис.5 Система программирования Delphi

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


Рис.6 Свободная реализация языка Паскаль Free Pascal

На основе FreePascal создана свободная мультиплатформенная среда Lazarus(рис.7), аналогичная среде Delphi. Однако, бедный и не меняющийся десятилетиями консольный интерфейс интегрированной среды Free Pascal, мало совместимый с современными интерфейсами рабочих столов операционных систем, всё более отталкивает обучаемых, неправильно формируя у них представление, что Паскаль - устаревший язык [6].

Рис.7 Lazarus

С другой стороны, среда Delphi по мере развития становилась все более громоздкой и малопригодной для обучения программированию. Кроме того, отсутствует бесплатная версия Delphi даже для академического использования. Данные факторы привели к практически полному исчезновению Delphi из сферы образования, а для среды Lazarus, несмотря на ее бесплатность, такие случаи единичны.

Наконец, появление платформ Java и .NET, включающих мощный язык программирования и мощные стандартные библиотеки ослабило позиции языка Delphi. Для обучения программированию стали чаще использоваться такие языки как Java, C, C++, C#, Visual Basic, Python, Haskell [3].

Одним из ярких событий, связанных с развитием языка Паскаль, стало появление языка и компилятора Oxygene фирмы RemObjects(рис.8), который создатели заслуженно назвали современным Паскалем 21 века. Oxygene может генерировать код под различные платформы, в том числе под платформы .NET и Java. Основным его недостатком является отсутствие бесплатного компилятора и среды для образовательных целей. Кроме того, Oxygene достаточно сильно отличается от канонического языка Паскаль (методы классов вместо процедур и функций), что отражает его сугубо профессиональную направленность.

Рис.8 Язык и компилятор Oxygene фирмы RemObjects

Язык и система программирования PascalABC.NET (рис.9) призваны изменить сложившуюся ситуацию и вернуть языку Паскаль былую привлекательность как для обучения, так и для профессионального программирования, помножив ее на мощь платформы .NET [5].

Рис.9 PascalABC.NET

Таблица 1 Наиболее важные реализации Паскаля[12]

Система

Год

Руководитель

География

Организация

ETH Pascal

1970

Никлаус Вирт

Европа

ETH

UCSD Pascal

1978

Кеннет Боулес

Америка

UCSD

Turbo Pascal

1983

Андерс Хейльсберг

Америка

Borland Int.


В 1977 г. во время конференции по Паскалю в Саутгемптоне Э. Эддиман попросил оказать помощь в формировании комитета по стандартизации при Британском институте стандартов BSI (British Standards Institute). В 1978 г. для обсуждения расширения Паскаля на конференции в Сан-Диего, проходившей под руководством Кеннета Боулеса, встретились представители промышленных кругов. С этого и началась стандартизация языка[11].

В 1982 г. Международная организация по стандартизации (ISO) выпустила стандарт ISO 7185:1983 [1]. В это же время вышел американский стандарт ANSI/IEEE 770X3.97:1983. Принято выделять три принципиально разных стандарта: Unextended Pascal (исходный), Extended Pascal (расширенный) и Object-Oriented Extensions to Pascal (объектно-ориентированный). В 1989 г. стандарт ISO 7185:1983 был подкорректирован, после чего надобность в самостоятельном ANSI-стандарте отпала и он был заменен ссылкой на ISO 7185:1990. Одним из главных отличий Extended Pascal стало введение модульности, необходимой для раздельной компиляции. Extended Pascal закреплен в международном стандарте ISO/IEC 10206 (1991) и американском ANSI/IEEE 770X3.160:1989. В 1993 г. объектно-ориентированные расширения по отношению к Extended Pascal были сформулированы в техническом отчете ANSI/X3-TR-13:1994.

Что касается самой распространенной реализации языка — Turbo Pascal, а также Object Pascal (Delphi), то ни одному из этих стандартов они не соответствуют. В свою очередь, они неявно сами задают соглашения, которым пытаются следовать некоторые реализации [7].

2.1 Современное состояние

Впоследствии появились различные версии языка и его расширения Наиболее устным расширением стал пакет TurboPascal фирмы Borland, появившийся 1983 году и сразу ставший событием в мире компьютерных технологий. Первое упоминание о нем содержалось в рекламе, опубликованной в журнале BYTE, а сам пакет предназначался для операционной системы СР/М. В начале 1984 года он был перенесен в среду MS-DOS и приобрел огромную популярность. С тех пор появилось несколько версий TurboPascal, последняя — седьмая.

Фирма Borland завершила линию продуктов TurboPascal и перешла к выпуску системы визуальной разработки для Windows — Delphi.

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