Файл: СИСТЕМЫ ПРОГРАММИРОВАНИЯ (Структура современной системы программирования).pdf
Добавлен: 21.05.2023
Просмотров: 1478
Скачиваний: 10
СОДЕРЖАНИЕ
ГЛАВА 1. Структура современной системы программирования
1.7. Архитектура «клиент-сервер»
1.8. Трехуровневая архитектура. Серверы приложений
ГЛАВА 2. ОБЗОР СОВРЕМЕННЫХ СИСТЕМ ПРОГРАММИРОВАНИЯ
2.1. Системы программирования компании Borland/lnprise
2.2. Системы программирования фирмы Microsoft
2.4. Системы программирования под ОС Linux и UNIX
2.5. Система программирования для сети Интернет
2.5.1. Язык HTML. Программирование статических Web-страниц
2.5.2. Язык HTML. Программирование динамических Web-страниц
2.5.3. Языки Java и Java Script. Программирование динамических Web-страниц
В отличие от систем программирования компании Borland, система программирования Microsoft Visual C++ ориентирована на использование стандартных средств хранения и обработки ресурсов интерфейса пользователя в ОС Windows. Это не удивительно, поскольку все версии ОС типа Windows разрабатываются самой компанией Microsoft. Microsoft Visual C++ обеспечивает все необходимые средства для создания профессиональных Windows-приложений. От версии к версии продукт становится проще в использовании, расширяются возможности применения, повышается производительность.
Система программирования Microsoft Visual C++ выдержала несколько реализации. В процессе выхода новых версий системы программирования было выпущено и несколько версий библиотеки MFC, на которой основана данная система.
Сама по себе библиотека MFC является, по мнению автора, довольно удачной реализацией широкого набора классов языка C++, ориентированного на разработку результирующих программ, выполняющихся под управлением ОС типа Microsoft Windows. Это во многом обусловлено тем, что создатель библиотеки - компания Microsoft – одновременно является и создателем ОС типа Microsoft Windows, на которые ориентирован объектный код библиотеки. Библиотека может быть подключена к результирующей программе с помощью обычного компоновщика либо использоваться как динамическая библиотека, подключаемая к программе вовремя ее выполнения. Библиотека MFC достаточно широко распространена. Ее возможно использовать не только в составе систем программирования производства компании Microsoft, но и в системах программирования других производителей.
В комплект поставки данной системы программирования входят также новый мастер для поэтапного создания приложений, интегрированный отладчик создаваемых приложений, профилировщик исходного кода, галерея классов и объектов, а также средство для создания дистрибутивов - InstallShield.
Visual C++ 6.0 полностью интегрируется с Visual Studio 6.0 и другими средствами разработки, входящими в состав данного пакета. Эта интеграция, в частности, обеспечивает мгновенный доступ к MSDN (Microsoft developer network) library, содержащей документацию, примеры кода, статьи и другую информацию для разработчиков. Система программирования Visual C++ 6.0 широко известна.
2.3. Концепция .NET
Концепция .NET (произносится как «dot net» – «дот нет») – это не система программирования, а новейшая технология, предложенная фирмой Microsoft с целью унификации процесса разработки программного обеспечения с помощью различных систем программирования
Концепция - это целостный взгляд компании Microsoft на новую эпоху в развитии Интернета. В рамках этой концепции самые разнообразные программные приложения предоставляются пользователям и разработчикам как сервисы, которые взаимодействуют между собой в соответствии с конкретными потребностями бизнеса, доступны на самых разных устройствах, имеют понятный и полностью адаптирующийся к потребностям каждого пользователя интерфейс.
Концепция – закономерный этап в развитии информационных технологий, приложений и сервисов, позволяющий разработчикам воспользоваться преимуществами сочетания открытых стандартов и архитектуры новой ОС производства компании Microsoft – Microsoft Windows 2000.
Большинство операционных систем, существовавших до настоящего времени, были неспособны предоставить необходимую корпоративным приложениям среду исполнения. Для них приходилось создавать специальные серверы приложений. ОС Microsoft Windows 2000 непосредственно предоставляет многие функций сервера приложений на уровне системных сервисов. Поэтому в концепции .NET управление приложениями концентрируется на более специфических для корпоративной среды и Интернет-служб задачах – управлении множеством объектов, приложений и серверов. Их решает сервер масштабирования приложений.
Концепция .NET содержит много новых идей и предложений. С точки зрения систем программирования основные идеи архитектуры .NET заключаются в том, что в ОС типа Windows 2000 организуется специальная виртуальная машина, исполняющая (интерпретирующая) команды некоторого промежуточного низкоуровневого языка. Любая программа, исполняемая в. NET, представляет собой набор команд данного промежуточного языка. При этом сами команды этого языка интерпретируются независимо от архитектуры вычислительной системы и версии ОС, где они исполняются.
Таким образом, любая система программирования, ориентированная на данную концепцию, сможет создавать код результирующей программы не в виде последовательности машинных команд, специфичных для архитектуры той или иной ОС, а в виде промежуточного низкоуровневого кода. Этот код будет интерпретироваться единообразно и независимо от архитектуры целевой вычислительной системы. Кроме того, любая результирующая программа, исполняемая в .NET, сможет воспользоваться сервисными функциями другой программы, доступной в .NET, вне зависимости от того, с помощью какой системы программирования были разработаны обе эти программы. Это значительно расширяет возможности программ, исполняемых в рамках .NET, особенно с учетом возможности удаленного (сетевого) доступа ко многим предоставляемым сервисам.
В первую очередь на поддержку концепции .NET будут, безусловно, ориентированы системы программирования производства компании Microsoft. Это коснется рассмотренных выше систем программирования Microsoft Visual C++ и Microsoft Visual Basic. Кроме того, компания предлагает новую систему программирования, построенную на базе нового языка С# (произносится «Сн-шарп»), которая специально ориентирована на поддержку концепции .NET. При успешном развитии концепции и ее внедрении на рынок ОС и средств разработки на нее будут ориентироваться и системы программирования других разработчиков.
Поддержка концепции .NET в системах программирования не отменяет в них поддержку традиционного пути создания программного обеспечения. Возможность создания результирующих программ, исполняющихся под управлением .NET, идет в дополнение к возможности создания «традиционных» результирующих программ, построенных из машинных команд, ориентированных на определенную архитектуру целевой вычислительной системы. Однако далеко не все модули существующих в настоящий момент библиотек могут быть использованы в рамках данной концепции. Это в равной степени касается и распространенных библиотек MFC и VBRun, используемых в системах программирования от Microsoft.
Концепция .NET ориентирована исключительно на новые ОС типа Windows 2000 производства компании Microsoft (а также на все последующие версии данного типа ОС). Она не переносима на ОС других типов, а также на архитектуру, не совместимую с традиционной архитектурой персональных компьютеров, построенных на базе процессоров Intel 80х86.
2.4. Системы программирования под ОС Linux и UNIX
2.4.1. ОС типа UNIX
Вся история ОС UNIX тесно связана с историей языка программирования С. Фактически эти два программных продукта не смогли бы существовать друг без друга. Язык программирования С появился как базовый язык программирования в ОС типа UNIX. Более того, сама операционная система представляла (и представляет) собой набор файлов, написанных на исходном языке программирования С. То есть практически любая ОС типа UNIX поставляется в виде исходного текста на языке С (кроме незначительной части ядра ОС, ориентированной на особенности архитектуры вычислительной системы, где она выполняется). Всякий раз при изменении основных параметров ОС происходит компиляция и компоновка ядра ОС заново, а при перезапуске ОС вновь созданное ядро активируется. Этот принцип характерен для всех ОС типа UNIX.
Таким образом, ни одна ОС типа UNIX фактически не может существовать без наличия в ее составе компилятора и компоновщика для языка программирования С (поскольку речь идет о ядре ОС, то роль загрузчика несколько отличается от его роли в обычной системе программирования). Соответственно, все производители ОС типа UNIX включают в ее состав и системы программирования языка С. По указанным причинам этот язык программирования стал основным для этого типа ОС (хотя под ОС типа UNIX существуют системы программирования с других языков - например, Lisp, FORTRAN, Pascal, – они используются не так часто, как С).
В ОС типа UNIX сложились основные особенности и характеристики второго этапа в развитии систем программирования. Именно здесь системы программирования стали представлять собой комплекс из библиотек языка, компилятора и компоновщика, выполняемых под управлением специальных командных файлов. Функции загрузчика в данном случае большей частью выполняются самой ОС. В ОС типа UNIX сложился, стал применяться и был стандартизован командный язык компиляции Makefile. Кроме того, именно в ОС этого типа были разработаны методы автоматизации разработки компиляторов, основанные на использовании программ LEX и YACC. К тому же практически все ОС типа UNIX обладают мощными командными процессорами, выполняющими команды пользователя в ОС. Возможности этих командных процессоров, по сути, соответствуют возможностям интерпретаторов языков программирования.
Принцип, по которому распространяется и устанавливается любая ОС типа UNIX, стал применяться и к прикладным программам, разрабатываемым для исполнения под управлением данного типа ОС. Обычно прикладная программа, ориентированная на выполнение под ОС типа UNIX, поставляется в виде набора исходных кодов (чаще всего на языке программирования С). При установке прикладной программы на конкретную ОС такого типа она автоматически компилируется и компонуется, после чего готова к выполнению. Такой метод распространения прикладных программ в виде исходных кодов значительно снижает их зависимость от архитектуры конкретной вычислительной системы. Однако он требует обязательного наличия соответствующей системы программирования в составе ОС (вот почему в качестве языка разработки прикладных программ под ОС типа UNIX чаще всего выступает именно С).
Системы программирования в ОС типа UNIX долгое время не выходили за рамки второго этапа развития систем программирования. Они продолжают оставаться такими и по сей день в той части, которая отвечает за распространение исходного кода самой ОС и прикладных программ, разработанных для нее. Так происходит, поскольку в этом случае система программирования не требует наличия интегрированной среды и вполне может быть ограничена командными файлами. Однако развитие графического интерфейса пользователя оказало свое влияние и на системы программирования под ОС данного типа.
Системы программирования, построенные на базе интегрированных сред разработки, стали появляться и под ОС типа UNIX. Характерная черта их заключалась в том, что практически все они строились именно в графической среде на основе стандартного графического интерфейса. Так произошло, потому что в ОС типа UNIX (в отличие от ОС, ориентированных на персональные компьютеры) практически сразу в качестве стандарта «де-факто» установился стандарт графического интерфейса пользователя на основе среды Х Window Это позволило унифицировать библиотеки систем программирования (все они строятся на базе библиотеки Xlib), компиляторы и компоновщики ресурсов пользовательского интерфейса. Широкие возможности командных процессоров в ОС типа UNIX облегчают построение интегрированной среды в системах программирования. Поэтому сейчас существует широкий выбор таких сред от многих производителей (при наличии хотя бы небольшого опыта работы в ОС разработчик имеет возможность сам построить интегрированную среду программирования под управлением ОС).
2.4.2. Проект GNU
Идея проекта GNU заключается в свободном распространении всех программ, созданных в рамках этого проекта. Программы распространяются в виде исходного кода, причем пользователь не только получает этот код в пользование, но и имеет право вносить в него изменения, а также распространять исходный или модифицированный код всем желающим участникам проекта. Во многом своему существованию и развитию проект обязан наличию по всему миру большого количества профессионалов-энтузиастов, не возражающих против свободного распространения и использования созданных ими программ
GNU – это название полной UNIX-совместимой программной системы, которая разрабатывается и безвозмездно предоставляется всем желающим ее использовать в рамках проекта. Система GNU способна исполнять UNIX-программы, но не идентична ОС типа UNIX. Улучшения основаны на имеющемся опыте работы с другими операционными системами. В качестве языка системного программирования в системе доступны как С, так и Lisp. Кроме этого, поддерживаются коммуникационные протоколы сети Интернет.
Безусловно, по самой своей сути проект предполагает наличие в своем составе систем программирования. В противном случае распространение исходных кодов программ в рамках проекта будет просто бессмысленным. Очевидно, базовой системой программирования в проекте GNU стала система программирования на языке С. Хотя GNU и не UNIX, но проект перенял многие положительные черты ОС этого типа, в том числе - создание и распространение ядра ОС на основе языка С. Другим фактором, обусловившим создание системы программирования языка С в рамках проекта GNU, стало то, что большинство профессионалов-энтузиастов, основавших проект, использовали именно этот язык программирования.