ПЕРВЫЙ ВЗГЛЯД
Версия 7.0 поддерживает многопрограммные проекты на различных платформах
Компилятор C++ 7.0 корпорации Symantec объединяет сверхмощную среду разработки программ с эклектическим выбором базовой и целевой платформ, что позволяет программистам C++ модернизировать инструментальные средства без необходимости перехода на ресурсоемкую 32-разрядную операционную систему, например Windows NT, в качестве компенсации за такое усовершенствование.
Системе разработки программ Symantec C++ (стоимостью $199), хотя и превзойденной в "сырой" производительности продуктом Watcom С/С++ 10.0 корпорации Watcom International (стоимостью $599), безусловно будет отдано предпочтение на крайне важных стадиях разработки и интеграции многомодульных проектов с участием многих программистов. Symantec назначила на свой продукт агрессивную цену и по отношению к продуктам Visual C++ 2.1 корпорации Microsoft, и C++ for Windows 4.5 фирмы Borland, которые продаются по $499 каждый.
1. Разработчики могут выбрать набор экранных представлений, используя метки
2. Окно Projekt организует список файлов
3. В окне отображаются программные компоненты безотносительно файлов принадлежности
Лаборатория PC Week Labs обнаружила в новой среде Symantec серьезное опровержение критики в адрес C++, часто высказываемой сторонниками объектно-ориентированных языков, таких как Smalltalk. Подход Symantec не является единственным, но ее технология создания интегрированных пакетов программ привлечет многих разработчиков.
ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА ДЛЯ РАЗРАБОТКИ ПРИЛОЖЕНИЙ
В сравнении с развитыми средствами разработки в объектно-ориентированных языках, таких как Smalltalk, C++ может показаться ущербным из-за необходимости иметь компилируемый код, прежде чем воспользоваться многими средствами помощи программисту. Версия Symantec 7.0 обходит эту трудность путем встраивания оригинальной технологии синтаксического анализа исходного кода в интегрированную среду разработки. Это новшество показалось нам качественным скачком в обеспечении простоты идентификации и локализации ключевых элементов программ, разбитых на большое количество отдельных файлов.
Программа ускоренного просмотра способна на множество действительно изумительных ухищрений - таких, как разделение многократных описаний переменных и представление каждого из них в виде отдельного выражения. Программа просмотра даже сохраняет на экране последний комментарий и убирает другие строки текста программы, которые могут оказаться между этим комментарием и интересующим пользователя описанием. Это напоминает волшебный эффект линзы, увеличивающей изображение относящихся к делу деталей и исключающей из поля зрения все остальное.
Информация для вас
Среда широко поддерживает технологию drag-and-drop. Например, перемещение пиктограммы файла с исходным кодом из списка подходящего проекта в рабочее окно приведет к автоматическому открытию этого файла в окне редактирования (см. рисунок). После двойного щелчка мышью на имени файла ресурсов из списка проектов нам была предоставлена возможность открыть его с помощью Resource Studio - современного средства конструирования, которое предлагает не только экранные представления WYSIWYG, но и более сложные и эффективные средства визуализации таких компонентов пользовательского интерфейса. как меню и растровые графические изображения.
ПРОИЗВОДИТЕЛЬНОСТЬ
Используя Си-программу оценки производительности, включающую организацию циклов, математические расчеты и вывод в текстовом режиме DOS, мы обнаружили, что скорость выполнения программы, сгенерированной Symantec, примерно на 10% ниже, чем у программы, созданной с использованием Microsoft Visual C++ 1.5, у которой, в свою очередь, скорость оказалась примерно на 20% ниже, чем у программы Watcom С/С++10.0.
Другие игроки Update Borland C++ 4.5.1 ожидается вскоре, мы дадим рецензию на этот продукт, когда начнутся его поставки. Microsoft Visual C2.1 требует Windows 95 или NT, еще не ставших основными ОС |
Не следует считать, что такая разница будет наблюдаться всегда, поскольку эти результаты зависят от десятков специфических деталей конкретных приложений, а также от выбора рабочих параметров, таких как модели памяти и режимы оптимизации компилятора.
Проведенное нами тестирование на этом конкретном наборе задач показало, что соотношение скоростей выполнения программ довольно слабо зависит от установок высокого уровня, например от выбора процессора - 286, 386, 486 или Pentium.
Другое новшество Symantec 7.0 - технология NetBuild, которая позволяет распределять компиляцию по свободным машинам сети; реальная экономия времени благодаря этой возможности будет сильно зависеть от сложности проекта, степени распараллеливания процесса компиляции и пропускной способности сети.
БАЗОВАЯ АРХИТЕКТУРА
Сетевая ориентация, заложенная в NetBuild, также проявляется во встроенной в Symantec 7.0 солидной поддержке управления версиями исходного кода многими программистами с удобным доступом через меню к набору инструментальных средств PVCS фирмы Intersolv как неотъемлемой части установок для любого проекта.
Однако все эти усовершенствования носят довольно ограниченный характер. C++ не может быть преобразован в Ada или Eiffel путем добавления такого рода супер-структур. Учитывая архитектурные ограничения C++, мы не видим больших возможностей для усовершенствования пакета Symantec в этом направлении.
ПОДДЕРЖКА ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ
В дискуссиях об этом продукте до его выпуска отводилось особое внимание средству Hierarchy Editor, которое предоставляет возможность графической перегруппировки связей наследования классов с автоматическим упорядочением соответствующего программного кода. Это новшество - без сомнения, верх совершенства, но мы приветствуем его со сдержанным энтузиазмом. Нам представляется, что случайная перетасовка наследственных связей "родитель - ребенок" - это рискованное предложение независимо от того, является ли "ребенок" созданием из программного кода или из плоти и крови. Мы полагаем, что этот аспект разработки проекта нужно тщательно продумать до начала кодирования.
С помощью упомянутых выше графических средств быстрого просмотра программисты, использующие Symantec 7.0, могут начать избавляться от "тирании файла", от которой страдают разработчики программ C++. Эта возможность сравнима с так называемым "образом" (image) проекта Smalltalk и семантикой библиотек, устанавливаемой компилятором в объектио-ориентированном Ada 95.
Программа просмотра исходного кода, графический редактор иерархии и автоматизированные средства для создания нового проекта, реализованные в пакете Symantec 7.0, в значительной степени освобождают разработчика программ от таких мелочей, как файлы заголовков и вставки.
ПОДДЕРЖКА БАЗ ДАННЫХ
Ни данный, ни любой другой набор инструментальных средств C++ не будут наилучшим выбором для разработки приложений клиент-сервер с интенсивной обработкой данных. Для задач такого рода, включающих простые средства организации баз данных, мы бы вообще рекомендовали Microsoft Visual Basic, тогда как для разработки приложений с более сложной структурой баз данных было бы полезно использовать удобные визуальные средства такого продукта, как ObjectPro корпорации Trinzic.
Методики тестирования
Лаборатория PC Week Labs провела тестирование CD-ROM-версии C++ корпорации Symantec под WIndows for Workgroups 3.11, установленной на системе фирмы Micron Electronics на базе 90-МГц Pentium с 16-Мб ОЗУ. Мы провели тестирование производительности при различных сочетаниях установок дополнительных параметров компилятора в сравнении с Visual C++ 1.5 корпорации Microsoft и С/С++ 10.0 корпорации Watcom International на одной и той же машине, используя собственную тестовую программу лаборатории PC Week Labs, а также проверили инструментальные средства разработки приложений Symantec с помощью текстов программ, подготовленных лабораторией PC Week Labs, и обучающих систем, входивших в комплект поставки |
Однако Symantec включила в свой пакет C++ 7.0 драйверы ODBC (Open Database Connectivity - интерфейс открытого взаимодействия с базами данных), что ставит этот продукт в один ряд с Visual C++ фирмы Microsoft по простоте включения доступа к базам данных в задачах клиент-сервер, которые зависят от быстродействия или доступа к Windows-приложениям на нижнем уровне. Watcom не включает драйверов ODBC, однако обеспечивает поддержку System Object Model (SOM) корпорации IBM, которой некоторые отдают предпочтение как подходу более высокого уровня к организации распределенной разработки приложений.
ПОДДЕРЖКА ПЛАТФОРМ
Решение Symantec оставить полную поддержку 16-разрядной платформы Windows может дать ей преимущество над конкурентами, тогда как пользователи Microsoft Visual C++ будут чувствовать себя "неполноценными", пока не перейдут в операционную систему Win32, либо в "сырую" Windows 95, либо в надежную, но утомительную Windows NT. Мы также обнаружили, что можно довольно просто использовать инструментарий Symantec на базе Windows для разработки программ DOS.
Различие между конкурентами - Watcom и Borland, с одной стороны, и Symantec и Microsoft, с другой - проявляется в том, что компиляторы первых поддерживают OS/2, а вторые ориентированы на Macintosh.
Скорость выполнения программы, сгенерированной Symantec, примерно на 10% ниже, чем у программы, созданной с использованием Microsoft Visual C++1.5, у которой, в свою очередь, скорость оказалась примерно на 20% ниже, чем у программы Watcom С/С++ 10.0 |
Symantec взяла курс на создание для Macintosh оригинальных инструментальных средств, в то время как Microsoft предлагает кросс-компилятор. Первый подход создает проблемы, связанные с отклонениями в версиях компилятора на двух различных базах, во втором же кроются дополнительные сложности, касающиеся архитектуры рабочей станции разработчика приложений.
ДОКУМЕНТАЦИЯ И ПОДДЕРЖКА
Мы тестировали CD-ROM-версию компилятора Symantec, которая оказалась простой для инсталляции и обладала обширной, но фрагментированной системой оперативной подсказки.
Хотя мы в общем сторонники интерактивной документации, Symantec здесь переусердствовала, сделав обучающую систему интерактивной и не дав описания в напечатанном виде, как это делает Watcom в своем руководстве Getting Started. Нам показалось неудобным работать с инструментальными средствами Symantec и электронным руководством, присутствующими одновременно на экране, к тому же имелись случаи неустойчивой работы при быстром переключении туда и обратно между рабочими операциями и оперативной подсказкой.
На форуме CompuServe мы были свидетелями постоянных активных дискуссий, посвященных Symantec C++, в ходе которых высказывалось мнение об удовлетворительной в целом поддержке продукта поставщиками.