- Подключение интерфейса внешнего модуля через препроцессорную вставку заголовочного файла (#include) серьезно замедляет компиляцию, при подключении большого количества модулей. Для устранения этого недостатка, многие компиляторы реализуют механизм прекомпиляции заголовочных файлов Precompiled Headers;
- Недостаток информации о типах данных во время компиляции;
- Язык C++ является сложным для изучения и для компиляции;
- Некоторые преобразования типов неинтуитивны. В частности, операция над беззнаковым и знаковым числами выдаёт беззнаковый результат.
Visual Basic 6.0
Visual Basic уже давно стал одним из наиболее популярных инструментов для разработчиков программного обеспечения. И сейчас уже подзабылись былые жаркие дискуссии о его достоинствах и недостатках, когда профессионалы решали, принимать на вооружение этот инструмент или нет. Отметим лишь, что критика в адрес VB велась (и продолжает вестись) с позиций пользователей других средств Microsoft (VC++, Visual и пр.), других языковых систем (Java, Pascal) и, наконец, конкурирующих систем класса RAD, в первую очередь Delphi.
Достоинства языка VB 6.0
- Visual Basic выгодно отличается от других языков программирования своей простотой и наглядностью;
- Visual Basic динамично развивающийся язык;
- Visual Basic встроен в программы семейства Microsoft Office. С его помощью можно управлять этими программами из других программ.
Недостатки языка VB 6.0
- значительное число ошибок в новой технологии работы с базами данных ActiveX Data Objects;
- неудовлетворительный объем и качество (ошибки, неудачная система ссылок и пр.) встроенной справочной системы;
- слишком быстро растущие требования к аппаратным средствам и отсутствие прогресса в производительности;
- минимальные улучшения в самом языке и явно недостаточный прогресс в объектно-ориентированном программировании;
Delphi 7.0
Как известно Delphi это потомок Pascal, а именно в основе Delphi лежит объектно – ориентированное программирование на языке Pascal.
Одним из аргументов против Delphi является сравнительно большой размер откомпилированного кода, т.е. исполняемого файла, но иногда этот недостаток может явиться достоинством Delphi, а именно, такой большой размер файла определяет его независимость от операционной системы, точнее от библиотек, модулей и тому подобному. По сравнению с Borland C++ Builder размер exe-файла получаемого на Delphi не так уж велик и к тому же можно дать гарантию, что этот исполняемый файл будет работать на любом компьютере (под Windows), а вот за C++ Builder нельзя поручиться. История знает большое количество случаев, когда программа, написанная на C++ при тестировании на одном компьютере (на том, где программа была написана) работала, а при установке на другой компьютер программа не работала по причине отсутствия DLL библиотеки. Так же не может быть уверенности в работе программы, написанной на Visual Basic. Что же касается функциональности и возможностей, то здесь Delphi вполне может поспорить с C++ Builder и уж тем более с Visual Basic, к тому же сам язык, более информативен и удобен для понимания и чтения.
Так же к достоинствам Delphi 7.0 относятся:
-Быстрота разработки приложения
-Высокая производительность разработанного приложения
-Hизкие требования разработанного приложения к ресурсам компьютера
-Hаращиваемость за счет встраивания новых компонент и инструментов в среду Delphi
-Удачная проработка иерархии объектов
Эти и другие достоинства Delphi решают выбор языка программирования, программный продукт создан с использованием средств Delphi 7.0.
1.3.2 Текстовый редактор
При создании электронного учебника неоднократно приходится прибегать к помощи текстового редактора, как на этапе разработке материала, так и на этапе создания тестовой части.
Word Pad текстовый редактор, позволяющий создавать и редактировать достаточно длинные тексты. В нем предусмотрена возможность работы уже с существующими файлами, так и возможность создания новых текстов. Word Pad в состоянии открывать текстовые файлы различных форматов, а так же сохранять документы в этих форматах. Для каждого из доступных форматов файлов можно задать свой собственный режим переноса текста и указать управляющие элементы, которые должны присутствовать на экране. Редактор Word Pad не допускает параллельную работу с несколькими файлами: одновременно можно открыть только один файл. Содержимое открытого файла выводится в окне редактора. При этом в заголовке окна редактора будет показано имя открытого файла. Имена четырех открытых последними файлов выводятся в конце меню
Angel Writer
Быстро загружаемый и быстро работающий текстовый редактор, обладающий приятным и интуитивно понятным интерфейсом. Для облегчения и ускорения работы все команды продублированы "горячими" клавишами. Обладает широкими возможностями по редактированию текста в различных форматах (TXT, RTF, HTML), а также по оформлению документов - допусимио менять шрифты и цвет текста, вставлять рисунки, работать с таблицами, использовать гиперссылки/
Основные функции всех этих текстовых редакторов схожи, но несомненно, наибольшее распространение получил текстовый редактор Microsoft Office Word, он и был выбран редактором для создания материала электронного учебника.
1.3.3 Архиватор
В данном проекте программа-архиватор необходима для шифрования тестовых вопросов.
Cуществует более десятка программ-архиваторов, которые могут создавать архивы в формате ZIP. В свою очередь данные в формате ZIP могут быть сжаты различными методами: Deflate, Deflate64, BZip2. Метод Deflate имеет несколько реализаций с разной скоростью и степенью сжатия (разница порядка 5%). С помощью этого метода архиватор 7-zip позволяет создавать архивы в формате ZIP и 7Z.
Обычно архиваторы могут создавать архивы в собственном эксклюзивном формате с использованием своих оригинальных методов. Например, архиватор RAR позволяет создавать архивы RAR. В формате архива и методах сжатия заключаются основные преимущества того или иного архиватора.
В простейшем случае архиватор позволяет только упаковать или распаковать один файл. Кроме собственно сжатия данных, современные архиваторы обеспечивают некоторые дополнительные функции. Можно выделить несколько основных:
- сжатие некоторых файлов и целых директорий;
- создание самораспаковывающихся (SFX) архивов. То есть для распаковки архива программа-архиватор не требуется;
- изменение содержимого архива;
- шифрование содержимого архива;
- информация для восстановления архива при частичном повреждении и возможность восстановления поврежденных архивов;
- разбивка архива на несколько частей или томов;
- консольная версия программы для работы из командной строки;
- графическая (GUI) версия программы.
Стоит отметить, что, несмотря на формальное наличие, реализация каждой дополнительной функции может быть выполнена на совершенно разном уровне.
Кроме различий в функциональности, можно разбить архиваторы на две группы: асимметричные и симметричные. Асимметричные архиваторы требуют для операции распаковки значительно меньше времени и оперативной памяти, чем для операции упаковки. Это позволяет быстро получать содержимое архива на маломощных компьютерах. Симметричные архиваторы требуют для операций упаковки и распаковки одинаковое время и объем оперативной памяти. Использование таких архиваторов на широком парке компьютеров или для оперативного доступа к содержимому архива ограничено. Известный архиватор RAR в качестве основного использует асимметричный словарный метод сжатия, а для текстов может использовать симметричный PPM-метод. Таким образом, распаковка архивов RAR, сжатых с максимальной степенью сжатия, может быть невозможна на компьютерах с ограниченным объемом оперативной памяти. Все или почти все передовые архиваторы с высокой степенью сжатия являются симметричными.
Самыми распространенными архиватороми являются ZIP и RAR. По своей распространенности он значительно превосходит ближайших конкурентов. Следом идет ACE. В последние годы встречается архиватор 7-zip. Другие архиваторы встречаются крайне редко. Исключение составляют некогда популярные ARJ и LHA. В данный момент они не актуальны из-за очень низкой степени сжатия.