46679 (588420), страница 3
Текст из файла (страница 3)
На сегодняшний момент существует большое количество языков программирования с различными возможностями и функционалом. В процессе обучения был изучен язык программирования С++, поэтому было принято решение вести разработку системы на С++ или родственном ему языке. Язык C++ – это универсальный язык программирования, для которого характерны экономичность выражения, современный поток управления и
структуры данных, богатый набор операторов. Язык C++ не является ни языком «очень высокого уровня», ни «большим» языком, и не предназначается для некоторой специальной области применения, но отсутствие ограничений и общность языка делают его более удобным и эффективным для многих задач, чем языки, предположительно более мощные.
При этом возникает проблема, на какой разновидности остановится и в какой интегрированной среде разработки создавать программную часть ИС.
Проведем сравнительный анализ основных сред разработки на С++:
1.3.1 Borland C++ Builder
Borland C++ Builder – очень мощная интегрированная среда программирования. Вместо отдельного инструментария, оперирующего визуальными элементами управления, в C++ Builder интегрирована так называемая палитра компонент, разделенная картотечными вкладками на несколько функциональных групп. Функциональные возможности поставляемых компонент можно достаточно просто модифицировать, а также разрабатывать компоненты, обладающие совершенно новым поведением.
Система содержит библиотеку из более 100 визуальных компонент. Помимо известных элементов управления Windows (кнопки, линейки прокрутки, поля редактирования, простые и комбинированные списки и т.д.) библиотека содержит новые компоненты поддержки диалогов, обслуживания баз данных и многие другие.
Опытным C++ программистам нравится синтаксис и структура кода разрабатываемых на C++ Builder программ, хотя его графическое обрамление заметно отличается от традиционных оболочек систем разработки. C++ Builder поддерживает основные принципы объектно-ориентированного программирования – инкапсуляцию, полиморфизм и множественное наследование, а также нововведенные спецификации и ключевые слова в стандарте языка.
1.3.2 Microsoft Visual C++
Microsoft Visual C++ – универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. Visual C++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.
Ключевым понятием C++ является класс. Классы обеспечивают скрытие данных, гарантированную инициализацию данных, неявное преобразование типов для типов, определенных пользователем, динамическое задание типа, контролируемое пользователем управление памятью и механизмы перегрузки операций. C++ предоставляет гораздо лучшие, чем в C, средства выражения модульности программы и проверки типов. C++ и его стандартные библиотеки спроектированы так, чтобы обеспечивать переносимость. Имеющаяся на текущий момент реализация языка будет идти в большинстве систем, поддерживающих C. Из C++ программ можно использовать C библиотеки, и с C++ можно использовать большую часть инструментальных средств, поддерживающих программирование на C.
1.3.3 Microsoft Visual Studio
Microsoft Visual Studio – это уже проверенный временем программный продукт. Выделим две важнейшие его идеи:
-
открытость для языков программирования;
-
принципиально новый подход к построению каркаса среды – Framework. Net.
Среда разработки теперь является открытой языковой средой. Это означает, что наряду с языками программирования, включенными фирмой Microsoft в среду могут добавляться любые языки программирования, компиляторы которых создаются другими фирмами-производителями. Таких расширений среды Visual Studio сделано уже достаточно много, практически они существуют для всех известных языков – Fortran и Cobol, RPG и Component Pascal, Oberon и SmallTalk.
Открытость среды не означает полной свободы. Главное ограничение, которое можно считать и главным достоинством, состоит в том, что все языки, включаемые в среду разработки Visual Studio. Net, должны использовать единый каркас – Framework. Net. Благодаря этому достигаются многие желательные свойства:
-
легкость использования компонентов, разработанных на различных языках;
-
возможность разработки нескольких частей одного приложения на разных языках;
-
возможность бесшовной отладки такого приложения;
-
возможность написать класс на одном языке, а его потомков – на других языках.
Существенно расширился набор возможных архитектурных типов построения приложений. Помимо традиционных Windows- и консольных приложений, появилась возможность построения Web‑приложений. Большое внимание уделяется возможности создания повторно используемых компонентов – разрешается строить библиотеки классов, библиотеки элементов управления и библиотеки Web‑элементов управления. Популярным архитектурным типом являются Web‑службы, ставшие сегодня
благодаря открытому стандарту одним из основных видов повторно используемых компонентов.
Рассмотрим два типа языка Visual С, включенных в среду разработки Microsoft Visual Studio:
1.3.3.1 Visual С++
Среди современных языков программирования С++ является одним из наиболее распространенных. Язык С++ универсален, однако наиболее эффективно его применение в задачах системного программирования – разработке трансляторов, операционных систем, экранных интерфейсов, инструментальных средств. Язык С++ хорошо зарекомендовал себя эффективностью, лаконичностью записи алгоритмов, логической стройностью программ. Во многих случаях программы, написанные на языке С++ наглядны и просты в сопровождении.
Одним из основных достоинств языка С++ считается высокая переносимость написанных на нем программ между компьютерами с различной архитектурой, между различными операционными средами. Трансляторы языка С++ существуют практически для всех используемых в настоящее время персональных компьютеров.
С++ – язык программирования высокого уровня, обеспечивающий необычайно легкий доступ к аппаратным средствам компьютера.
Перечислим некоторые особенности языка С++:
-
В языке С++ реализованы некоторые операции низкого уровня (в частности, операции над битами). Некоторые из таких операций напрямую соответствуют машинным командам.
-
Базовые типы данных языка С++ отражают те же объекты, с которыми приходится иметь дело в программе на языке ассемблера, – байты, машинные слова, символы, строки.
-
Язык С++ поддерживает механизм указателей на переменные и функции. Поддерживается арифметика указателей, что позволяет осуществлять непосредственный доступ и работу с адресами памяти практически так же легко, как на языке ассемблера.
Несмотря на эффективность и мощность конструкций языка С++, он относительно мал по объему. В нем отсутствуют встроенные операторы для выполнения ввода-вывода, динамического распределения памяти, управления процессами и т.п., однако в системное окружение языка С входит библиотека стандартных функций, в которой реализованы подобные действия. Вынос этих функций в библиотеку позволяет отделить особенности архитектуры конкретного компьютера и соглашений операционной системы от реализации языка, сделать программу максимально независимой от деталей реализации операционной среды. В то же время программисты могут пользоваться системными библиотечными программами, чтобы более эффективно использовать особенности конкретных операционных сред.
1.3.3.2 Visual C #
Многие разработчики хотели бы использовать современный язык, который позволял бы писать, читать и сопровождать программы с простотой Visual Basic и в то же время давал мощь и гибкость C++, обеспечивал доступ ко всем функциональным возможностям системы, взаимодействовал бы с существующими программами и легко работал с возникающими Web – стандартами.
Учитывая все подобные пожелания, Microsoft разработала новый язык – C#. В него входит много полезных особенностей – простота, объектная ориентированность, типовая защищенность, «сборка мусора», поддержка совместимости версий и многое другое. Данные возможности позволяют быстро и легко разрабатывать приложения, особенно COM – приложения и Web – сервисы. При создании C#, его авторы учитывали достижения многих
других языков программирования: C++, C, Java, Delphi, Visual Basic и т.д. При разработке C# у его авторов была возможность оставить в прошлом все неудобные и неприятные особенности (существующие, как правило, для обратной совместимости), любого из предшествующих ему языков. В результате получился действительно простой, удобный и современный язык, по мощности не уступающий С++, но существенно повышающий продуктивность разработок.
C# является хорошим выбором для быстрого конструирования различных компонентов – от высокоуровневой бизнес логики до системных приложений, использующих низкоуровневый код. Также следует отметить, что C# является и Web‑ориентированным – используя простые встроенные конструкции языка ваши компоненты могут быть легко превращены в Web‑сервисы, к которым можно будет обращаться из Internet посредством любого языка на любой операционной системе. Дополнительные возможности и преимущества перед другими языками приносит в C# использование передовых Web‑технологий, таких как: XML и SOAP. Среда разработки Web‑сервисов позволяет программисту смотреть на существующие сегодня Web‑приложения, как на родные C# объекты, что дает возможность разработчикам соотнести имеющиеся Web‑сервисы с их познаниями в объектно-ориентированном программировании.
Очень часто можно проследить такую связь – чем более язык защищен и устойчив к ошибкам, тем меньше производительность программ, написанных на нем. В C#, как в, несомненно, современном языке, существуют характерные особенности для обхода возможных ошибок. Например, там все переменные автоматически инициализируются средой и обладают типовой защищенностью, что позволяет избежать неопределенных ситуаций в случае, если программист забудет инициализировать переменную в объекте или попытается произвести недопустимое преобразование типов. Также в C# были предприняты меры для исключения ошибок при
обновлении программного обеспечения. Изменение кода, в такой ситуации, может непредсказуемо изменить суть самой программы. Чтобы помочь разработчикам бороться с этой проблемой C# включает в себя поддержку совместимости версий. В частности, если метод класса был изменен, это должно быть специально оговорено. Это позволяет обойти ошибки в коде и обеспечить гибкую совместимость версий. Также новой особенностью является поддержка интерфейсов и наследования.
Все рассмотренные выше языки программирования позволяют реализовать в полной мере все возложенные на разрабатываемую систему функции. Безусловно, при выборе языка нужно учитывать текущие тенденции в мире программирования. В настоящее время все большей популярностью пользуется С#, который к тому же в данный момент является ведущим языком по разработке открытых Web‑приложений. Именно поэтому данный программный продукт разработан на Visual C#.
1.4 Анализ платформ (операционных систем)
На сегодняшний день существует большое множество различных операционных систем. Наиболее популярными являются Windows‑системы и Unix‑системы, которые соответствуют всем международным стандартам и удовлетворяют пользователей по скорости, масштабируемости и открытости. Рассмотрим основные преимущества и недостатки этих операционных систем.
1.4.1 Linux
Linux – это современная POSIX‑совместимая и Unix‑подобная операционная система для персональных компьютеров и рабочих станций. Это многопользовательская сетевая операционная система с сетевой оконной графической системой X Window System. Операционная система Linux
поддерживает стандарты открытых систем и протоколы сети Internet и совместима с системами Unix, DOS, MS Windows. Все компоненты системы, включая исходные тексты, распространяются с лицензией на свободное копирование и установку для неограниченного числа пользователей.
Возможности, которые предоставляет операционная система Linux:
-
дает возможность бесплатно и легально иметь современную ОС для использования, как на работе, так и дома;
-
обладает высоким быстродействием;
-
работает надежно, устойчиво, совершенно без зависаний; не подвержена вирусам;
-
позволяет использовать полностью возможности современных ПК, снимая ограничения, присущие DOS и MS Windows по использованию памяти машины и ресурсов процессоров;
-
эффективно управляет многозадачностью и приоритетами, фоновые задачи (длительный расчет, передача электронной почты по модему, форматирование дискеты и т.д.) не мешают интерактивной работе;
-
позволяет легко интегрировать компьютер в локальные и глобальные сети, в т.ч. в Internet; работает с сетями на базе Novell и MS Windows;
-
позволяет выполнять представленные в формате загрузки прикладные программы других ОС – различных версий Unix, DOS и MS Windows;
-
обеспечивает использование огромного числа разнообразных программных пакетов, накопленных в мире Unix и свободно распространяемых вместе с исходными текстами;
-
предоставляет богатый набор инструментальных средств для разработки прикладных программ любой степени сложности, включая системы класса клиент-сервер, объектно-ориентированные, с многооконным текстовым и / или графическим интерфейсом, пригодных для работы как в Linux, так и в других ОС;
-
дает пользователю и особенно разработчику замечательную учебную базу в виде богатой документации и исходных текстов всех компонент, включая ядро самой ОС.
Linux – это полностью многозадачная многопользовательская операционная система (точно также как и другие версии UNIX). Linux достаточно хорошо совместим с рядом стандартов на уровне исходных
текстов, включая IEEE POSIX.1, System V и BSD. Linux поддерживает различные типы файловых систем для хранения данных. Реализована файловая система FAT и FAT32, позволяющая прямо обращаться к файлам MS-DOS на жестком диске. Поддерживается также файловая система ISO 9660 CD-ROM для работы с дисками CD-ROM.
Linux обеспечивает полный набор протоколов TCP/IP для сетевой работы. Поддерживается весь спектр клиентов и услуг TCP/IP, таких как FTP, telnet, NNTP и SMTP.
1.4.2 Microsoft Windows
Microsoft Windows предоставляет иной подход к средам рабочей станции и сервера и реализует новейшие концепции управления системой и
администрирования. Вот некоторые из них.
• Active Directory – расширяемая и масштабируемая служба каталогов, использующая пространство имен, основанное на стандартной Интернет-службе именования доменов (Domain Name System, DNS).
• IntelliMirror – средства конфигурирования, поддерживающие зеркальное отображение пользовательских данных и параметры среды, а также центральное администрирование установки и обслуживания программного обеспечения.













