Главная страница
Навигация по странице:

  • Обзор языков программирования высокого уровня FORTRAN (Фортран).

  • Языки программирования баз данных

  • Языки программирования для Интернета

  • Прочие языки программирования

  • IBM.

  • Вопросы для самоконтроля

  • 5 7 8

  • Учебник Информатика. Базовый курс. Симонович С.В.. С. В. Симоновичаинформатикабазовый курс2е издание


    Скачать 17.96 Mb.
    НазваниеС. В. Симоновичаинформатикабазовый курс2е издание
    АнкорУчебник Информатика. Базовый курс. Симонович С.В..pdf
    Дата28.01.2017
    Размер17.96 Mb.
    Формат файлаpdf
    Имя файлаУчебник Информатика. Базовый курс. Симонович С.В..pdf
    ТипКнига
    #56
    КатегорияИнформатика. Вычислительная техника
    страница68 из 76
    1   ...   64   65   66   67   68   69   70   71   ...   76
    Поколения языков программирования
    Языки программирования принято делить на пять поколений. В первое поколение входят языки, созданные в начале 50-х годов, когда первые компьютеры только появились на свет. Это был первый язык ассемблера, созданный по принципу «одна инструкция — одна строка».
    Расцвет второго поколения языков программирования пришелся на конец 50-х —
    начало 60-х годов. Тогда был разработан символический ассемблер, в котором появилось переменной. Он стал первым полноценным языком програм- мирования. Благодаря его возникновению заметно возросли скорость разработки и надежность программ.
    Появление третьего поколения языков программирования принято относить к
    60-м годам. В это время родились универсальные языки высокого уровня, с их помощью удается решать задачи из любых областей. Такие качества новых язы- ков, как относительная простота, независимость от конкретного компьютера и воз- можность использования мощных синтаксических конструкций, позволили резко повысить производительность труда программистов. Понятная большинству пользователей структура этих языков привлекла к написанию небольших программ
    (как правило, инженерного или экономического характера) значительное число специалистов из некомпьютерных областей. Подавляющее большинство языков этого поколения успешно применяется и сегодня.
    С начала 70-х годов по настоящее время продолжается период языков четвертого поколения. Эти предназначены для реализации крупных проектов, повы- шения их надежности и скорости создания. Они обычно ориентированы на специ- ализированные области где хороших результатов можно добиться,
    используя не универсальные, а проблемно-ориентированные языки, оперирующие конкретными понятиями узкой предметной области. Как правило, в эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потре- бовались бы тысячи строк исходного кода.
    Рождение языков пятого поколения произошло в середине 90-х годов. К ним отно- сятся также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, кото- рая закладывается в эти языки, — возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в симально наглядном виде с помощью методов, наиболее удобных для человека,
    не знакомого с программированием.
    Обзор языков программирования высокого уровня
    FORTRAN (Фортран). Это первый компилируемый язык, созданный Джимом
    Бэкусом в 50-е годы. Программисты, разрабатывавшие программы исключительно на ассемблере, выражали серьезное сомнение в возможности появления высоко- производительного языка высокого уровня, поэтому основным критерием при раз-

    Языки программирования 5 7 3
    работке компиляторов Фортрана являлась эффективность исполняемого кода.
    Хотя в Фортране впервые был реализован ряд важнейших понятий программиро- вания, удобство создания программ было принесено в жертву возможности полу- чения эффективного машинного кода. Однако для этого языка было создано огром- ное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно исполь- зоваться во многих организациях, а сейчас ведутся работы над очередным стан- дартом Фортрана F2k, который появится в 2000 году. Имеется стандартная версия
    Фортрана
    Fortran) для параллельных суперкомпьютеров со множеством процессоров.
    COBOL (Кобол). Это компилируемый язык для применения в экономической области и решения бизнес-задач, разработанный в начале 60-х годов. Он отличается большой «многословностью»
    его операторы иногда выглядят как обычные анг- лийские фразы. В Коболе были реализованы очень мощные средства работы с боль- шими объемами данных, хранящимися на различных внешних носителях. На этом языке создано очень много приложений, которые активно эксплуатируются и сего- дня. Достаточно сказать, что наибольшую зарплату в США получают программи- сты на Коболе.
    Algol (Алгол). Компилируемый язык, созданный в году. Он был призван заме- нить Фортран, но из-за более сложной структуры не получил широкого распрост- ранения. В 1968 году была создана версия Алгол 68, по своим возможностям и сегодня опережающая многие языки программирования, однако из-за отсутствия эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы.
    Pascal (Паскаль). Язык Паскаль, созданный в конце 70-х годов основоположни- ком множества идей современного программирования Никлаусом Виртом, во мно- гом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применять его при создании круп- ныхпроектов.
    Basic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в каче- стве учебного языка и очень прост в изучении.
    С (Си). Данный язык был создан в лаборатории
    и первоначально не рассматри- вался как массовый. Он планировался для замены ассемблера, чтобы иметь воз- можность создавать столь же эффективные и компактные программы и в то же время не зависеть от конкретного типа процессора.
    Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (Unix).
    C++ (Си++). Си++ — это объектно-ориентированное расширение языка Си, создан- ное Бьярном Страуструпом в 1980 году. Множество новых мощных возможнос- тей, позволивших резко повысить производительность программистов, наложи-

    5 7 4 Глава 20. Основы программирования лось на унаследованную от языка Си определенную в резуль- тате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки.
    Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка — компиляция не в машинный код, а в платформно-независимый байт- код команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора —
    Virtual
    версии которой созданы сегодня для любых платформ. Благодаря наличию мно- программы
    Java можно переносить не только на уровне исходных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика.
    Особое внимание в развитии этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокомпьютеров, встраиваемых в быто- вую технику и созданию платформно-независимых программ- ных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами
    Beans). Пока основной недостаток этого языка — невысокое быстродействие, так как язык Ява интерпре- тируемый.
    С# (Си Шарп). В конце 90-х годов в компании Microsoft под руководством Андерса
    Хейльсберга был разработан язык С#. В нем воплотились лучшие идеи Си и Си++,
    а также
    Правда, С#, как и другие технологии ориенти- рован на
    Windows. Однако формально он не отличается от прочих уни- версальных языков, а корпорация даже планирует его стандартизацию. Язык С#
    предназначен для быстрой разработки и его реализация в сис- теме Microsoft Visual Studio
    содержит множество особенностей, привязываю- щих С# к внутренней архитектуре Windows и платформы
    Языки программирования баз данных
    Эта группа языков отличается от алгоритмических языков прежде всего решае- мыми задачами. База данных — это файл (или группа файлов), представляющий собой упорядоченный набор записей, имеющих единообразную структуру и органи- зованных по единому шаблону (как правило, в табличном виде). База данных может состоять из нескольких таблиц. Удобно хранить в базах данных различные сведе- ния из справочников, картотек, журналов бухгалтерского учета и т. д.
    При работе с базами данных чаще всего требуется выполнять следующие операции:
    • создание/модификация свойств/удаление таблиц в базе данных;
    • поиск, отбор, сортировка информации по запросам пользователей;
    • добавление новых записей;
    • модификация существующих записей;
    • удаление существующих записей.

    Языки программирования 5 7 5
    Первые базы данных появились очень давно, как только появилась потребность в обработке больших массивов информации и выборки групп записей по опреде- ленным признакам. Для этого был создан структурированный язык запросов SQL
    Query Language). Он основан на мощной математической теории и позво- ляет выполнять эффективную обработку баз данных, манипулируя не отдельными записями, а группами записей.
    Для управления большими базами данных и их эффективной обработки разрабо- таны СУБД (Системы Управления Базами Данных). Практически в каждой СУБД
    помимо поддержки языка SQL имеется также свой уникальный язык, ориентиро- ванный на особенности этой и не переносимый на другие системы. Сегодня в мире насчитывается три ведущих производителя СУБД: Microsoft (SQL Server),
    IBM (DB2) Oracle. Их продукты нацелены на поддержку одновременной работы тысяч пользователей в сети, а базы данных могут храниться в распределенном виде на нескольких серверах. В каждой из этих СУБД реализован собственный диалект
    SQL, ориентированный на особенности конкретного сервера, поэтому подготовленные для разных СУБД, друг с другом, как правило, несовместимы.
    С появлением персональных компьютеров были созданы так называемые настоль- ные СУБД. Родоначальником современных языков программирования баз данных для ПК принято считать СУБД dBase II, язык которой был интерпретируемым.
    Затем для него были созданы компиляторы, появились СУБД FoxPro и Clipper,
    поддерживающие диалекты этого языка. Сегодня самой распространенной настоль- ной СУБД стала система Microsoft Access.
    Языки программирования для Интернета
    С активным развитием глобальной сети было создано немало реализаций попу- лярных языков программирования, адаптированных специально для Интернета.
    Все они отличаются характерными особенностями: языки являются интерпретиру- емыми, интерпретаторы для них распространяются бесплатно, а сами программы —
    в исходных текстах. Такие языки называют скрипт-языками.
    HTML. Общеизвестный язык для оформления документов. Он очень прост и содер- жит элементарные команды форматирования текста, добавления рисунков, зада- ния шрифтов и цветов, организации ссылок и таблиц. Все написаны на языке HTML или используют его расширения.
    Perl. В 80-х годах Ларри Уолл разработал язык Perl. Он задумывался как средство эффективной обработки больших текстовых файлов, генерации текстовых отчетов и управления задачами. По мощности Perl значительно превосходит языки типа
    Си. В него введено много часто используемых функций работы со строками, мас- сивами, всевозможные средства преобразования данных, управления процессами,
    работы с системной информацией и др.
    Расмус Лердорф, активно использовавший в 1995 году решил улучшить этот язык, упростив его и дополнив встроенными средствами доступа к базам данных. В результате появилась разработка Personal Contents Page/Forms
    Interpreter
    Уже через пару лет программы на ее основе использовались на 50 тыс. сайтов. В 1997 году ее значительно усовершенствовали Энди и

    Глава 20. Основы программирования
    Зив Сураски, и под названием
    3.0 этот язык быстро завоевал популярность у создателей динамических сайтов во всем мире.
    В конце 80-х годов Джон придумал популярный скрипт-язык и библиотеку
    В
    он попытался воплотить видение идеального скрипт- языка. Язык ориентирован на автоматизацию рутинных процессов и состоит из мощных команд, предназначенных для работы с абстрактными ными объектами. Он независим от типа системы и при этом позволяет создавать программы с графическим интерфейсом.
    VRML. В 1994 году был создан язык VRML для организации виртуальных трех- мерных интерфейсов в Интернете. Он позволяет описывать в текстовом виде раз- личные трехмерные сцены, освещение и тени, текстуры (покрытия объектов), созда- вать свои миры, путешествовать по ним, «облетать» со всех сторон, вращать в любых направлениях, масштабировать, регулировать освещенность и т. д.
    XML. В августе 1996 года ответственный за стандарты на
    Интернет-технологии, приступил к подготовке универсального языка разметки структуры документов, базировавшегося на достаточно давно созданной в нологии SGML. Новый язык получил название XML. Сегодня он служит основой множества системных, сетевых и прикладных приложений, позволяя представлять в прозрачном для пользователей и программ текстовом виде различные аспекты внутренней структуры иерархически организованных документов. В недалеком будущем он может стать заменой HTML.
    Языки моделирования
    При создании программ и формировании структур баз данных нередко применя- ются формальные способы их представления — формальные нотации, с помощью которых можно визуально представить (изобразить с помощью мыши)
    баз данных, поля, объекты программы и взаимосвязи между ними в системе, имею- щей специализированный редактор и генератор исходных текстов программ на основе созданной модели. Такие системы называются CASE-системами, В них активно применяются нотации а в последнее время все большую популяр- ность завоевывает язык графического моделирования UML.
    Прочие языки программирования
    PL/I
    В середине 60-х годов компания IBM решила взять все лучшее из языков Фортран, Кобол и Алгол. В результате в году на свет появился новый компилируемый язык программирования, который получил название Programming
    Language One. В этом языке было реализовано множество уникальных решений,
    полезность которых оценить только спустя 33 года, в эпоху крупных про- граммных систем. По своим возможностям ПЛ/1 значительно мощнее многих дру- гих языков (Си,
    Например, в ПЛ/1 присутствует уникальная возмож- ность указания точности вычислений — ее нет даже у Си++ и Явы. Этот язык и сегодня продолжает поддерживаться компанией IBM.
    Smalltalk (Смолток). Работа над этим языком началась в 1970 году в исследова- тельской лаборатории корпорации XEROX, а закончились спустя лет, воплотив-

    Языки программирования 5 7 7
    шись в окончательном варианте интерпретатора SMALLTALK-80. Данный язык оригинален тем, что его синтаксис очень компактен и базируется исключительно на понятии объекта. В этом языке отсутствуют операторы или данные. Все, что входит в Смолток, является объектами, сами объекты общаются с другом исклю- чительно с помощью сообщений (например, появление выражения вызывает посылку объекту I сообщения «+», то есть «прибавить», с параметром 1, который считается не числом-константой, а тоже объектом). Больше никаких управляющих структур, за исключением «оператора» ветвления (на самом деле функции, принад- лежащей стандартному объекту), в языке нет, хотя их можно очень просто смодели- ровать. Сегодня версия Visual Age for Smalltalk активно развивается компанией IBM.
    LISP (Лисп). Интерпретируемый язык программирования, созданный в 1960 году
    Джоном Маккарти. Ориентирован на структуру данных в форме списка и позволяет организовывать эффективную обработку больших объемов текстовой информации.
    Prolog (Пролог). Создан в начале 70-х годов Аланом Колмероэ. Программа на этом языке, в основу которого положена математическая модель теории исчисления предикатов, строится из последовательности фактов и правил, а затем формулиру- ется утверждение, которое Пролог будет пытаться доказать с помощью введенных правил. Человек только описывает структуру задачи, а внутренний «мотор» Про- лога сам ищет решение с помощью методов поиска и сопоставления.
    Ada (Ада). Назван по имени леди Огасты Ады Байрон, дочери английского поэта
    Байрона и его отдаленной родственницы Анабеллы Милбэнк. В 1980 году сотни экспертов Министерства обороны США отобрали из 17 вариантов именно этот язык, разработанный небольшой группой под руководством Жана Ишбиа. Он удов- летворил на то время все требования Пентагона, а к сегодняшнему дню в его разви- тие вложены десятки миллиардов долларов. Структура самого языка похожа на Пас- каль. В нем имеются средства строгого разграничения доступа к различным уровням спецификаций, доведена до предела мощность управляющих конструкций.
    Forth (Форт). Результат попытки Чарльза Мура в 70-х годах создать язык, облада- ющий мощными средствами программирования, который можно эффективно реали- зованным на компьютерах с небольшими объемами памяти, а компилятор мог бы выдавать очень быстрый и компактный код, то есть служил заменой ассемблеру.
    Однако сложности восприятия программного текста, записанного в непривычной форме, сильно затрудняли поиск ошибок, и с появлением Си язык Форт оказался забытым.
    Вопросы для самоконтроля
    1. Что такое язык программирования?
    2. В чем различие компиляторов и интерпретаторов?
    3. Объясните термины «язык низкого уровня» и «язык высокого уровня».
    4. Расскажите о поколениях языков программирования.
    5. Какие языки программирования активно используются сегодня?

    5 7 8 Глава 20. Основы
    20.2. Системы программирования
    Средства создания программ
    В самом общем случае для создания программы на выбранном языке рования нужно иметь следующие компоненты.
    1. Текстовый редактор.
    как текст программы записывается с помощью ключе- вых слов, обычно происходящих от слов английского языка, и набора стандарт- ных символов для записи всевозможных операций, то формировать этот текст можно в любом редакторе, получая в итоге текстовый файл исходным текс-
    том программы. Лучше использовать специализированные редакторы, кото- рые ориентированы на конкретный язык программирования и позволяют в процессе ввода текста выделять ключевые слова и идентификаторы разными цветами и шрифтами. Подобные редакторы созданы для всех популярных язы- ков и дополнительно могут автоматически проверять правильность синтаксиса программы непосредственно во время ее ввода.
    2. Исходный текст с помощью программы -компилятора переводится в машинный код. Если обнаружены синтаксические ошибки, то результирующий код создан не будет.
    На этом этапе уже возможно готовой программы, но чаще всего в ней не хватает некоторых компонентов, поэтому компилятор обычно выдает промежуточный объектный код (двоичный файл, стандартное расширение
    3. Исходный текст большой программы состоит, как правило, из
    лей (файлов с исходными текстами), потому что хранить все тексты в одном файле неудобно — в них сложно ориентироваться. Каждый модуль компили- руется в отдельный файл с объектным кодом, которые затем в одно целое.
    Кроме того, к ним надо добавить машинный код подпрограмм, реализующих различные стандартные функции (например, вычисляющих математические функции sin или
    Такие функции содержатся в библиотеках (файлах со стан- дартным расширением которые поставляются вместе с компилятором.
    Сгенерированный код модулей и подключенные к нему стандартные функции надо не просто объединить в одно целое, а выполнить такое объединение с уче- том Требований операционной системы, то есть на выходе программу,
    отвечающую определенному формату.
    Объектный код обрабатывается специальной
    —редактором связей
    или сборщиком, который выполняет связывание объектных модулей и машин- ного кода стандартных функций, находя их в библиотеках, и формирует на выходе работоспособное приложение
    исполнимый код для конкретной плат- формы.
    Если по каким-то причинам один из объектных модулей библио- тека не обнаружены (например, неправильно указан каталог с библиотекой),
    то сборщик сообщает об ошибке и готовой программы не получается.

    20.2. Системы
    4. Исполнимый код — это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение
    1   ...   64   65   66   67   68   69   70   71   ...   76


    написать администратору сайта