|
Начнем с того что такое среда программирования?
Среда разработки программного обеспечения (англ. IDE, Integrated development environment) — это система программных средств, используемая программистами для разработки программного обеспечения.
Обычно среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Иногда также содержит средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО.
Рассмотрим подробнее наиболее общие составляющие сред программирования.
Текстовый редактор или редактор исходного кода ориентирован на работу с последовательностью символов в текстовых файлах. Редакторы исходного кода имеют некоторые возможности, упрощающие и ускоряющие написание и изменение кода, такие как подсветка синтаксиса, автодополнение, проверка правильности расстановки скобок, контекстная помощь по коду и многие другие. Такие редакторы предоставляют удобный способ для запуска компилятора, интерпретатора, отладчика или других программ необходимых в процессе разработки программного обеспечения. Несмотря на то, что многие текстовые редакторы могут быть использованы для редактирования исходного кода, если они не имеют расширенных возможностей, автоматизирующих или упрощающих ввод и модификацию кода, то они не могут называться «редакторами исходного кода», а просто являются «текстовыми редакторами, которые также могут быть использованы для редактирования исходного кода».
Компилятор – программа или техническое средство, выполняющее компиляцию. Большинство компиляторов переводит программу с некоторого высокоуровневого языка программирования в машинный код, который может быть непосредственно выполнен центральным процессором. Как правило, этот код также ориентирован на исполнение в среде конкретной операционной системы, поскольку использует предоставляемые ею возможности (системные вызовы, библиотеки функций). Архитектура (набор программно-аппаратных средств), для которой производится компиляция, называется целевой машиной.
Интерпретатор Вид транслятора, осуществляющего пооператорную (покомандную) обработку и выполнение исходной программы или запроса (в отличие от компилятора, транслирующего всю программу без её выполнения).
Отладчик (debugger) является модулем среды разработки или отдельным приложением, предназначенным для поиска ошибок в программе. Отладчик позволяет пошагово выполненять программу с остановками на каждой команде или строке (трассировку), отслеживать, устанавливать или изменять значения переменных в процессе выполнения программы, устанавливать и удалять контрольные точки или условия остановки и т. д.
Хотя и существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования — как например, Visual Basic.
Примеры сред разработки — NetBeans, Eclipse, Sun Studio, Turbo Pascal, Borland C++, GNU toolchain, DrPython, Borland Delphi, PascalABC.NET, Dev-C++, Lazarus, KDevelop, QDevelop, QNX Momentics IDE, XCode.
Рассмотрим некоторые из этих сред подробнее.
Borland Delphi (по-русски обычно произносят [бо́рланд дэ́льфи]) — это интегрированная среда разработки ПО фирмы Borland. Delphi является средой RAD (от англ. rapid application development — быстрая разработка приложений).
Текущая, двенадцатая по счёту, версия носит название «Delphi 2009» и является частью продукта под названием «Embarcadero Tiburon 2009» (жарг. Акула (от исп. Tiburon - акула)). В этой версии поддерживаются следующие языки программирования: Delphi, Delphi .NET,C++ и C#. Среда разработана в соответствии с концепцией визуального программирования. Библиотека визуальных объектов «Borland» получила название Visual Component Library (VCL).
В марте 2007 года CodeGear выпустила среду разработки Delphi for PHP, предназначенную для разработки веб-приложений на языке программирования PHP. Теперь Delphi ориентирована не только на Object Pascal. Текущая версия Delphi for PHP - 2009.
C++ Builder (по-русски обычно произносят [си-плюс-плюс би́лдэр]) — среда быстрой разработки (RAD), выпускаемая компанией CodeGear, дочерней фирмой компании Embarcadero (ранее Borland). Предназначена для написания программ на языке программирования C++. C++ Builder объединяет Библиотеку визуальных компонентов и среду программирования (IDE), написанную на Delphi с компилятором C++. Цикл разработки аналогичен Delphi, но с существенными улучшениями, добавленными в C++ Builder. Большинство компонентов, разработанных в Delphi, можно использовать и в C++ Builder без модификации, но, к сожалению, обратное утверждение не верно.
C++ Builder содержит инструменты, которые позволяют осуществлять настоящую визуальную разработку Windows-приложений методом drag-and-drop, упрощая программирование благодаря WYSIWYG редактору интерфейса, встроенному в его среду разработки.
Eclipse (от англ. затмение) — свободный фреймворк для разработки модульных кроссплатформенных приложений (разрабатывается и поддерживается Eclipse Foundation). Изначально проект разрабатывался в IBM как корпоративный стандарт IDE для разработки на разных языках под платформы IBM. Потом проект был переименован в Eclipse и предоставлен для дальнейшего развития сообществу.
Eclipse — в первую очередь полноценная Java IDE, нацеленная на групповую разработку, снабжённая средствами для работы с системами контроля версий (поддержка CVS входит в поставку Eclipse, активно развиваются несколько вариантов SVN модулей, существует поддержка VSS и других). В силу бесплатности и высокого качества во многих организациях Eclipse — корпоративный стандарт для разработки приложений.
Второе назначение Eclipse — служить платформой для разработки новых расширений (чем и завоевал популярность — любой разработчик может расширить Eclipse своими модулями). Таковыми стали C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, COBOL, FORTRAN, PHP средства от различных разработчиков. Множество расширений дополняет Eclipse менеджерами для работы с базами данных, серверами приложений и др.
KDevelop — свободная среда разработки программного обеспечения для UNIX-подобных операционных систем. Проект стартовал в 1998 году. KDevelop распространяется согласно GNU General Public License.
KDevelop не включает в свой состав компилятор; вместо этого он использует GNU Compiler Collection (или любой другой компилятор) для создания исполняемого кода.
Текущая стабильная версия 3.5 поддерживает большое количество языков программирования, таких как Ада, Bash, Си, Cи++, Фортран, Java, Pascal, Perl, PHP, Python, Ruby и SQL.
Xcode от Apple — это набор утилит для написания приложений под Mac OS X. Xcode 3.0 распространяется бесплатно вместе с Mac OS X 10.5, хотя и не устанавливается по умолчанию. Основным приложением пакета является встроенная среда разработки, которая также называтся Xcode. Помимо этого, пакет Xcode включает в себя большую часть документации разработчика от Apple и Interface Builder — приложение, использующееся для создания графических интерфейсов.
Пакет Xcode включает в себя измененную версию свободного набора компиляторов GNU Compiler Collection (GCC, apple-darwin9-gcc-4.0.1) и поддерживает языки C, C++, Objective-C, Objective-C++, Java, AppleScript, Python и Ruby с различными моделями программирования, включая (но не ограничиваясь) Cocoa, Carbon и Java. Сторонними разработчиками реализована поддержка GNU Pascal, Free Pascal, Ada, C#, Perl, Haskell и D.
Частный случай ИСР — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы. Среда визуальной разработки — среда разработки программного обеспечения, в которой наиболее распространенные блоки программного кода представлены в виде графических объектов. Применяются в основном для создания прикладных программ и разработки графического интерфейса пользователя (GUI).
Среда визуальной разработки имеют свои достоинства и недостатки.
Преимущества:
быстрота разработки; лёгкость освоения; стандартизация внешнего вида программ.
Недостатки:
как правило, привязка к конкретной среде разработки связаное с проблематичностью перехода на другую среду разработки; затруднённое использование нестандартных компонентов; наличие недокументированных особенностей компонент.
Следует учитывать что некоторые визуальные среды разработки имеют собственный формат хранения проекта и при переходе на другую среду может возникнуть непереносимость свойств проекта и некоторых частей проекта, таких, как собственные библиотеки используемой среды разработки.
Так же следует учитывать некоторые изменения которые могут вносится в язык программирования, конкретный пример - среда разработки Delphi (по сути это уже новый язык программирования). Среду разработки как и язык программирования следует выбирать на этапе проектирования ПО. Правильно спроектированное ПО должно учитывать развитие и внедрение новых технологий, поэтому перенос разработки такого ПО в другую среду разработки не должен представлять трудностей.
Итак в ходе рассмотрения на конкретных примерах особенности развития современных сред разработки выявились следующие тенденции: поддержка нескольких языков программирования, кроссплатформенность, наличие графического пользовательского интерфейса, наличие шаблонов и заготовок кода, объектно-ориентированность.
|