Системы программирования
С середины 90-х гг. многие объектно-ориентированные языки реализуются как системы визуального программирования. Такие системы имеют интерфейс, позволяющий при составлении текста программы видеть те графические объекты, для которых она пишется. Отличительной особенностью этих систем является наличие в них среды разработки программ из готовых «строительных блоков», позволяющих создавать интерфейсную часть программного продукта в диалоговом режиме, практически без написания программных операций. Система берет на себя значительную часть работы по управлению компьютером, что делает возможным в простых случаях обходиться без особых знаний о деталях ее работы. Она сама пишет значительную часть текста программы: описания объектов, заголовки процедур и многое другое. Программисту остается только вписать необходимые строчки, определяющие индивидуальное поведение программы, которые система не в состоянии предвидеть. Но даже в этих случаях система сама указывает место для размещения таких строк. К объектно-ориентированным системам визуального проектирования относятся: Visual Basic, Delphi, C++ Builder, Visual C++. Это системы программирования самого высокого уровня.
VВА (Visual Basic for Application) является общей языковой платформой для приложений Microsoft Office (Excel, Word, Power Point и др.). VBA соблюдает основной синтаксис и правила программирования языков Бейсик-диалектов. VBA помогает довольно сильно расширить возможности приложений за счет написания макросов – программ, предназначенных для автоматизации выполнения многих операций. VBA позволяет создавать объекты управления графического интерфейса пользователя, задавать и изменять свойства объектов, подключать к ним необходимый для конкретного случая программный код. С помощью VBA можно производить интеграцию между различными программными продуктами. Программы на языке VBA для приложений создаются двумя способами: в автоматическом режиме как результат построения клавишной макрокоманды или путем написания программного кода.
Языки программирования для компьютерных сетей
Появление и активное развитие компьютерных сетей стало причиной создания многочисленных версий популярных языков программирования, адаптированных для использования в сети. Отличительные особенности, присущие сетевым языкам: они являются интерпретируемыми. Интерпретаторы для них распространяются бесплатно, а сами программы — в исходных текстах. Такие языки получили название скрипт-языков.
HTML (Hyper Text Markup Language) — универсальный язык разметки гипертекста, используемый для подготовки Web-документов для сети Internet. Язык представляет собой набор элементарных команд форматирования текста, добавления графических объектов (рисунков), задания шрифтов и цвета, организации ссылок и таблиц. В соответствии с командами HTML браузер отображает содержимое документа, команды языка не отображаются. В основе языка HTML лежит механизм гипертекстовых ссылок, обеспечивающий связь одного документа с другим. В HTML текст кодируется в ASCII и поэтому может быть создан и отредактирован в любом текстовом редакторе. Все Web-страницы написаны на HTML или используют его расширение.
Perl. В 80-х гг. Ларри Уолл разработал язык Perl, который предназначался для эффективной обработки больших текстовых файлов, создания текстовых отчетов и управления задачами. В его состав входят многочисленные функции работы со строками, массивами, всевозможные средства преобразования данных, управления процессами, работы с системной информацией и др.
VRML. В 1994 г. был создан язык VRML для организации виртуальных трехмерных интерфейсов в Интернете. Он ориентирован на описание разнообразных трехмерных образов, цвето-теневого освещения в текстовом виде и позволяет создавать различные сценарии миров, путешествовать по ним, «облетать» с разных сторон, вращаться в любых направлениях, масштабировать, управлять освещенностью и многое другое.
JavaScript (JS). Создан на основе языка Java для создания динамических Web-страниц.
Такие скрипт языки как Perl, PHP, Python являются серверными языками (т.е. программа, написанная на них выполняется на сервере), а HTML, VRML, JavaScript – клиентские, т.е. выполняются на компьютере пользователя.
Лекция 7. Системы и технологии программирования. Языки программирования высокого уровня
Существенная часть программного обеспечения компьютера относится к инструментальным системам или системам программирования, которые предназначены для создания программных продуктов и включают все средства, необходимые для производства программ и формирования их в машинном коде.
1. Процесс создания компьютерной программы
Компьютерные программы необходимы для решения сложных задач, требующих привлечения компьютерной техники, за счет использования которой существенно экономится рабочее время и повышается производительность труда. Последовательность программного решения задачи складывается из следующих основных этапов.
- Постановка задачи. Результат этапа чаще всего выражается в подготовке технического задания или разработке проекта, в рамках которого формулируется задача.
- Построение модели. Существование модели упрощает процесс построения алгоритма, необходимого для решения сложных задачи.
- Построение алгоритма как последовательности процедур, направленных на решения задачи и соединенных между собой логическими связями.
- Разработка программы с целью подключения компьютера к решению поставленной задачи. Результатом этапа является представление алгоритма на языке программирования (создание текста программы).
- Трансляция программы или перевод разработанного текста на машинный язык с помощью специальной программы-транслятора.
- Запуск и отладка программы с целью выявления и устранения ошибок, допущенных на предыдущих этапах.
- Передача программы заказчику заканчивается установкой созданной программы на аппаратные средства и обучением специалистов.
В процессе поэтапного решения задачи разработанный алгоритм программы последовательно формируется на различных языках (рис. 7.1). Результатом последовательного преобразования является программа в машинном двоичном коде, предназначенная для загрузки в компьютер. алгоритм текст программы естественный язык язык программирования исполняемая программа машинный язык Рис. 7.1. Процесс создания программы Промежуточным этапом в преобразовании выступает язык программирования, который обеспечивает наименее затратный и наиболее эффективный путь к созданию компьютерной программы.
2. Языки программирования
Языки программирования – искусственные языки, созданные для описания алгоритмов обработки данных. В отличие от человеческого языкам программирования свойственна строгость синтаксических и семантических правил, иначе говоря, способы соединения слов в словосочетания и принципы обозначения единиц и знаков подчиняются установленным для каждого языка правилам. Многообразие существующих языков программирования классифицируется по различным признакам, распространенный способ классификации приведен на рис. 7.2.
Языки программирования
Машинно—независимые(языки высокого уровня)Машинные (набор команд конкретного процессора) Машинно—ориентированные (автокоды, ассемблеры) Машинно—зависимыеПроцедурно-ориентированныеФортран, Кобол, Бейсик, Паскаль, СиПроблемно-ориентированные (узкоспециали-зированные)Объектно-ориентированныеJava, Си++,Скрипт-языки (Интернет)html,php,xmlТРАНСЛЯТОРЫ Рис. 7.2. Классификация языков программирования Классификацияпо уровнюхарактеризует степень близости языка программирования и машинного языка. При этом за начало отсчета принимается близкий к двоичному коду машинный язык, уровень которого равен нулю, язык человека рассматривается как язык наивысшего уровня. На основе уровневой классификации большинство современных языков попадает в категорию языков высокого уровня или машинно-независимых языков. Языки высокого уровня отличаются универсальностью по отношению к аппаратной части и возможностью автоматического перевода программного текста в машинный код с помощью программы-компилятора. Классификация по группам отражает деление языков программирования на основе уровня, специфики, сложности решаемой задачи. Каждая группа содержит перечень языков, объединенных некоторыми признаками. В классификации по группам выделяются следующие категории языков программирования.
- Процедурно-ориентированные языкивысокого уровня включают компилируемые языки различных областей применения, наиболее отдаленные от машинного кода, например:
- Fortran – первый компилируемый язык, созданный в конце 50-х годов;
- Cobol – язык начала 60-х годов для решения задач в экономике;
- Basic – универсальный удобный для обучения язык 60-х;
- Pascal – разработан в 70-х годах, один из наиболее известных языков общего назначения.
- Объектно-ориентированные языки программированияоснованы на упрощенном идеализированном понимании предметов, модели которых представляются в форме объекта – экземпляра, при этом однотипные объекты объединяются в классы или типы. Объектно-ориентированное программирование (ООП) использует в своей основе определенные концепции 11 , которые выражаются в следующем:
- любая система состоит из объектов;
- объекты некоторым образом взаимодействуют между собой;
- каждый объект характеризуется своим состоянием и поведением;
- состояние объекта задаётся значением полей данных;
- поведение объекта задаётся методами.
К основным понятиям ООП относятся также следующие принципы. Инкапсуляция – это принцип, согласно которому класс объектов рассматривается только как совокупность свойств и методов данного класса, что позволяет устраниться от внутреннего устройства объекта и упростить его описание. Наследование – возможность порождения одного класса объектов из другого с сохранением всех свойств и методов класса-предка и добавлением при необходимости новых свойств и методов. Полиморфизмом – это перенесение методов класса-предка на классы-потомки таким образом, что общие характеристики метода для представляемых классов остаются неизменными, при этом конкретная реализация метода имеет свои особенности для каждого класса, в котором находится объект. На основе объектно-ориентированного подхода разработан ряд современных языков программирования, в том числе:
- С++ – компилируемый язык программирования общего назначения, поддерживающий объектно-ориентированный подход;
- Java(Джава)– объектно-ориентированный язык программирования, созданный в 1995 году и предназначенный для использования на компьютерах любой архитектуры;
- С# (Си Шарп)– объектно-ориентированный язык программирования, разработанный в 1998-2001 годах как язык поддержки приложений платформы Microsoft.
- Языки программирования для Интернетаотносятся кскриптовым языкам12,которые разрабатываются для записи «сценариев» или последовательности событий. Сценарии обычно интерпретируются, а не компилируются.
К универсальным скриптовым языкам относятся, например:
- Perl – язык программирования общего назначения, который используется для выполнения широкого спектра задач, включая системное администрирование, веб-разработку, сетевое программирование, игры, разработку графических пользовательских интерфейсов 13 ;
- PHP – язык программирования, применяемый для разработки веб-приложений и являющийся одним из лидеров среди языков программирования для создания динамических веб-сайтов 14 .