ПЕРВЫЙ ВЗГЛЯД

Версия 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++, в ходе которых высказывалось мнение об удовлетворительной в целом поддержке продукта поставщиками.

Версия для печати