Watcom International Corporation
Watcom International Corporation — канадская компания, занимавшаяся разработкой компиляторов и инструментов для разработки программного обеспечения. Наиболее известна как создатель компилятора Watcom C/C++, который в 1990-х годах получил широкое распространение благодаря высокой производительности генерируемого кода, особенно для операционных систем OS/2 и MS-DOS, а также для встраиваемых систем.
История
Компания была основана в 1980 году группой студентов и преподавателей Университета Ватерлоо (Канада). Первоначально проект назывался Waterloo Fortran Compiler, а затем — Waterloo C Compiler. В 1984 году была зарегистрирована компания Watcom International Corporation, которая начала коммерческую продажу компиляторов для языков Fortran и C. В 1988 году компания выпустила Watcom C 7.0, который стал первым компилятором, поддерживающим 32-разрядную адресацию для процессоров Intel 80386.
В 1990 году вышла версия Watcom C/C++ 9.0, которая включала компилятор C++ и библиотеки для OS/2, Windows и DOS. В 1993 году компания выпустила версию 10.0, которая отличалась высокой скоростью компиляции и оптимизацией кода. В 1995 году Watcom C/C++ 11.0 получил поддержку Windows 95 и NT.
В 1997 году компания была приобретена канадской фирмой Powersoft, которая входила в состав Sybase. После этого разработка компилятора замедлилась, а в 2000 году Sybase прекратила продажи Watcom C/C++ как отдельного продукта. В 2003 году исходные коды компилятора были открыты под лицензией Sybase Open Watcom Public License, что привело к созданию проекта Open Watcom.
Продукты
Watcom C/C++
Основной продукт компании — компилятор языка C и C++, работающий под управлением DOS, OS/2, Windows 3.x, Windows 9x, Windows NT и Linux. Отличительной особенностью была способность генерировать 16- и 32-разрядный код для процессоров Intel x86, а также поддержка расширенных возможностей DOS (DPMI, VCPI). Компилятор использовал собственную оптимизацию, которая позволяла получать быстрый и компактный код, что делало его популярным среди разработчиков игр и системного ПО.
Watcom Fortran
Компилятор языка Fortran 77 и Fortran 90, поддерживавший те же платформы, что и C/C++-версия. Использовался в научных и инженерных расчётах.
Watcom SQL
Реляционная система управления базами данных (СУБД), выпущенная в начале 1990-х годов. Поддерживала SQL-запросы и работала на платформах DOS, Windows и OS/2. В 1995 году Watcom SQL была переименована в Sybase SQL Anywhere и продолжила развитие в составе Sybase.
Другие инструменты
Компания также выпускала отладчик Watcom Debugger, профилировщик Watcom Profiler, а также библиотеки для разработки графических интерфейсов (Watcom GUI). В состав поставки входили утилиты для работы с памятью и оптимизации кода.
Технические особенности
Оптимизация
Watcom C/C++ славился агрессивной оптимизацией кода. Компилятор применял алгоритмы, такие как:
- распределение регистров с использованием графа интерференции;
- инлайн-подстановка функций;
- развёртка циклов;
- оптимизация хвостовой рекурсии;
- удаление мёртвого кода.
Благодаря этому сгенерированный код часто превосходил по производительности аналоги от Microsoft и Borland, особенно в задачах с интенсивными вычислениями.
Поддержка DOS
Для MS-DOS компилятор поддерживал 16-битный режим (реальный) и 32-битный защищённый режим через DPMI. Это позволяло программам использовать до 4 ГБ виртуальной памяти, что было редкостью для DOS-приложений. Многие игры и демосцены 1990-х годов, такие как Doom (портированная версия), Quake и Duke Nukem 3D, использовали Watcom C/C++ для создания быстрых 32-битных исполняемых файлов.
Платформенная независимость
Компилятор поддерживал кросс-компиляцию: можно было разрабатывать код на одной платформе (например, Windows) и компилировать его для другой (например, OS/2 или DOS). Это упрощало портирование программ между операционными системами.
Влияние и наследие
Watcom C/C++ сыграл ключевую роль в развитии 32-битного программного обеспечения для DOS и OS/2. Благодаря его возможностям разработчики могли создавать приложения, которые использовали преимущества процессоров Intel 80386 и выше, не ограничиваясь 640 КБ памяти, характерными для стандартного DOS.
В 2003 году проект Open Watcom (с 2003 года) продолжил развитие компилятора под свободной лицензией. Open Watcom поддерживает современные операционные системы (Linux, macOS, Windows) и используется для разработки встраиваемых систем, ретро-вычислений и портирования старых игр.
Критика
Несмотря на высокую производительность генерируемого кода, Watcom C/C++ подвергался критике за:
- сложность настройки и конфигурации (большое количество опций командной строки);
- ограниченную поддержку стандарта C++ (особенно в версиях до 10.0);
- проблемы с совместимостью с библиотеками сторонних производителей;
- закрытую лицензию до 2003 года, что затрудняло распространение компилятора в открытых проектах.
Источники
- Watcom International Corporation. Watcom C/C++ Version 11.0 User's Guide. 1995.
- Sybase. Sybase SQL Anywhere Studio Documentation. 2000.
- Open Watcom Project. Open Watcom History and Overview. 2003.
- Документация и архивы сообщества OS/2 и DOS-разработчиков.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →