Помимо Borland Pascal и Borland Delphi, существует еще множество других компиляторов Паскаля, как коммерческих, так и бесплатных. Коммерческие версии компиляторов Паскаля отличает законченность и надежность. Зато некоммерческие компиляторы быстро развиваются, и, как правило, разрабатываются множеством энтузиастов по всему миру, которые постоянно вносят улучшения и исправления в новые версии. Ну и, естественно, за использование компилятора они не требуют ни денег, ни лицензий, что немаловажно в ситуации, сложившейся в нашей маленькой, но гордой республике. Дополнительным плюсом таких компиляторов является и тот факт, что они распространяются в исходных текстах, так что любой желающий может принять участию в разработке компилятора, если считает, что его знаний достаточно для этой работы. Недостатками же бесплатных компиляторов являются, во-первых, генерация не достаточно оптимального выполняемого кода (хотя здесь ситуация постепенно улучшается), во-вторых, не всегда компилятор может похвастаться надежностью работы, а в третьих, как это не парадоксально, их постоянная модификация. Может случиться так, что написанный текст программы не будет компилироваться следующими версиями компилятора, так как был несколько изменен или расширен синтаксис языка. Правда, о возможности таких казусов разработчики честно предупреждают и дают подробные рекомендации, как поступать в подобных случаях. В любом случае, отчет о всех найденных ошибках и недочетах можно сразу отправить команде разработчиков, и в течении пары недель (а иногда и дней) вы получите исправленную версию компилятора.
Borland Pascal
Ну, его представлять не надо, это всем известный и любимый школьниками и студентами "Турбо Пасквиль" :-). Это самый быстрый компилятор для DOS-платформы. Он генерирует надежный код, поставляется с большим количеством стандартных библиотек и имеет, на взгляд автора, наиболее удобную среду разработки из всех прочих компиляторов Паскаля. Является, в общем-то, "законодателем мод" среди разработчиков компиляторов. Так, де-факто признано, что в настоящий момент все компиляторы Паскаля должны быть совместимы по синтаксису и набору системных библиотек с версией Borland Pascal 7.0. Разработки, не удовлетворяющие этому условию, практически лишены успеха.
Минусом, и, надо сказать, существенным, является практически полное отсутствие оптимизации двоичного кода. Это служит причиной тому, что многие библиотеки для Borland Pascal практически целиком написаны на встроенном ассемблере. Системные библиотеки написаны на ассемблере полностью. На взгляд автора, это является главной причиной того, что многие профессиональные программисты, использующие в своей работе Паскаль, в свое время стали работать с другими компиляторами или вообще перешли на C и C++.
Info: http://www.borland.com/
Borland Delphi
Delphi является продолжением Borland Pascal. Собственно Delphi - это не язык, а среда разработки программ, рабочим языком которой является Object Pascal. Delphi версии 1.0 предназначена для разработки приложений под Windows 3.x, хотя есть и недокументированная возможность заставить ее компилировать программы для платформ DOS real mode и DOS 16-bit Protected Mode (как и Borland Pascal). Благодаря стараниям разработчиков была создана объектно-ориентированная Библиотека Визуальных Компонентов (VCL, сокращение от Visual Control Library), которая позволяет легко создавать Windows-приложения, не сильно вдаваясь при этом в принципы работы Windows. А создание VCL произошло, в свою очередь, благодаря созданию собственно Object Pascal.
Delphi 1.0, как и все версии Turbo Pascal и Borland Pascal, является 16-битным компилятором, а это значит ограничения на объем памяти, используемой приложением, наличие сложностей при работе с большими массивами памяти (например, работа с изображениями) и другие ограничения, характерные для 16-битных приложений.
Следующие версии Delphi, начиная со 2-й версии, уже 32-х битные и предназначены для разработки Win32 приложений, как GUI (с графическим интерфейсом), так и консольных (т.е. работающих в текстовом режиме). Сам компилятор был полностью переписан, реализован качественный оптимизатор кода, поэтому времена ассемблерных модулей практически ушли в прошлое. Ассемблер стал применяться лишь в исключительных случаях, например, реализация высокоскоростных алгоритмов работы с графикой, в которых даже смена порядка двоичных кодов дает существенный выигрыш в производительности. Да и сам язык Object Pascal в каждой новой версии Delphi обзаводится новыми интересными возможностями.
Как и Turbo Pascal, Object Pascal стал стандартом де-факто, и все новые разрабатываемые компиляторы должны реализовывать, по крайней мере, базовый синтаксис Object Pascal.
Info: http://www.borland.com/
Stony Brook Pascal
Очень качественный коммерческий компилятор для платформ DOS и Win16. Совместимость с Borland Pascal 7.0. Оптимизатор кода разработан настолько профессионально, что иногда не верится, что полученный двоичный код сгенерировала машина - на такое способен только человек! К сожалению, в самом компиляторе есть ошибки, из-за чего он иногда генерировал неработоспособный код. Правда, при помощи несложных ухищрений эти ошибки легко обходились. К сожалению, Stony Brook Pascal в силу неизвестных причин (слабая маркетинговая политика?) не получил широкого распространения. Последняя версия, с которой удалось ознакомиться автору, датируется 1993 годом: Его дальнейшая судьба неизвестна, даже в Internet об этом компиляторе нет практически никаких сведений.
TMT Pascal
Еще один интересный коммерческий 32-х битный компилятор. Предназначен для платформ Win32, OS/2 и DOS Protected Mode 32. Совместим с Borland Pascal 7.0. Интересен своим языковыми расширениями, например, в нем реализована перегрузка функций и операторов, а также введены C-подобные операторы. Перегрузка операторов - это наиболее интересная особенность TMT Pascal, которая в настоящий момент отсутствует у других компиляторов. Например, вы решили реализовать библиотеку для работы с комплексными числами. Комплексное число можно представить как запись, состоящую из двух полей: Re (действительная часть) и Im (мнимая часть). Далее в обычном Паскале вам потребуется написать соответствующие процедуры и функции для сложения, умножения, деления и других операций над такими числами: add(c, a, b); mul(d, e, f). Но для человека гораздо естественнее писать просто c := a + b или d := e*f. Вот эта возможность и предоставляется механизмом перегрузки операторов, позаимствованная из C++.
Есть облегченная бесплатная версия TMT Pascal, которая отличается отсутствием IDE (среды разработки) и накладывает ограничение на размер получаемого исполняемого файла (около 1 Мб). DOS-версия компилятора полностью бесплатна. Если эти ограничения не являются существенными, то TMT Pascal Lite можно смело использовать в своих разработках.
Info: http://www.tmt.com/
Недавно появился еще один проект - 'TMT Pascal по-Русски!' (вся информация о ТМТ Паскаль на русском языке). Это тем более интересно, так как одним из разрабочиков компилятора является наш соотечественник.
Info: http://pascal.sources.ru/tmt
Virtual Pascal
32-х битный компилятор, изначально созданный для платформы OS/2. Компилятор получился очень удачным, к тому же если учесть тот факт, что он был практически единственным компилятором Паскаля для OS/2, то становится понятной его популярность среди пользователей OS/2. Вторая версия была перенесена на платформы DOS32 и Win32. Имеет среду разработки, очень похожую на IDE Borland Pascal 7.0. Это неудивительно, поскольку для ее создания использовалась библиотека Turbo Vision от BP7.0, адаптированная под 32-битную платформу.
Реализует синтаксис BP7.0 и некоторое подмножество Object Pascal, в частности, совместим с Delphi 2.0. В общем-то, является полноценной заменой Borland Pascal для 32-битных приложений.
Ранее компилятор был коммерческим, но с версии 2.1 Virtual Pascal стал freeware! Скачать его можно также в разделе Downloads.
Free Pascal
Полностью бесплатный компилятор, что и следует из его названия. Поддерживает большое количество платформ:
Dos (GO32v2 extender)
Linux
OS/2 & Dos (EMX)
Win32 (Windows 95, 98, ME, 2000, NT)
FreeBSD (beta) (FreeBSD 4.x and probably 5.x too)
Free Pascal не стоит на месте. Он постоянно разрабатывается, обрастает новыми возможностями, расширениями языка, поддержкой новых платформ и процессоров. В комплекте идут полные исходные тексты компилятора, правда, без соответствующей подготовки в них лучше не заглядывать ;-). В нем реализована настоящая кроссплатфрменность - помимо того, что один и тот же исходный текст приложения может быть без изменений откомпилирован для разных платформ, сам компилятор обладает таким же свойством. Т.е. сначала достаточно откомпилировать самый первый экземпляр компилятора при помощи Borland Pascal, а затем все остальные версии для всех остальных платформ можно получить при помощи самого себя!
Имеет IDE в стиле BP7.0, адаптированную версию Turbo Vision и громадное количество библиотек для всевозможных платформ. Естественно, реализует синтаксис BP7.0 и подмножество Object Pascal.
Info:http://www.freepascal.org/
http://www.freepascal.org/sdown.html
Pascal Pro
Еще один бесплатный компилятор, распространяемый в исходных кодах. Точной классификации поддается сложно. Интересной особенностью является то, что он генерирует не EXE-файл, а исходный текст на ассемблере, который можно затем откомпилировать и собрать при помощи Turbo Assembler. Написан Игорем Крачко. К сожалению, на данный момент проект, похоже, остановлен, так как последний раз страница проекта обновлялась в 1999 году.
Inno Pascal
Этот бесплатный компилятор интересен тем, что создает прямо-таки микроскопический выполняемый код :). В общем-то, полноценным компилятором его пока назвать сложно, так как он находится в глубокой alpha-версии и пока представляет из себя лишь макет будущего компилятора. Хотя и с этим макетом можно поработать. Цель автора компилятора - создать быстрый и маленький компилятор для небольших утилит. Параллельно на базе InnoPascal он планирует создать компилятор pascal-скриптов для своего инсталлятора. Возможно и другое его применение, например, неплохо иметь встроенный в свою программу компилятор сценариев. Но это пока все в будущем. Обсудить этапы разработки, сообщить об обнаруженных ошибках или внести свои предложения можно, подписавшись на телеконференцию jrsoftware.innopascal (news://news.jrsoftware.org/)
Info: http://other.jrsoftware.org/ip
Конечно, на просторах Сети наверняка можно найти и другие компиляторы, возможно, чем-то лучше или хуже описанных. В любом случае выбирайте наиболее подходящий для себя и работайте на здоровье! |