Компилятор и среда разработки в чем разница
Перейти к содержимому

Компилятор и среда разработки в чем разница

  • автор:

Чем глобально отличается текстовый редактор от IDE?

Не пойму в чем глобальное различие IDE и текстового редактора? Согласно википедии IDE включает в себя текстовый редактор, компилятор или интерпретатор, средства автоматизации сборки, отладчик. Но насколько я понимаю, в интернет-технологиях IDE совсем не нужен, ведь автоматизация сборки — это что-то типа include, sass, Emmet (что также легко устанавливается и в качестве плагина для текстового редактора, Хотя как-то пробовал IDE-шку, там по-умолчанию не было ни sass, ни Emmet), отладчик — это табличка, которая появляется, когда ошибка в синтаксисе языка (по-моему по-умолчанию в текстовых редакторах встроен), интерпретатор думаю тут вообще лишний, т.к. самый лучший интерпретатор для интернет-технологий — это браузер? Или вообще все не так? Или может для интернет-технологий он лишний, но для обычных десктопных программ очень даже нужен?

Отслеживать
задан 20 ноя 2017 в 21:02
Павел Игорев Павел Игорев
1,951 4 4 золотых знака 24 24 серебряных знака 38 38 бронзовых знаков
В тред призываются свидетели vim’а.
20 ноя 2017 в 21:05
Ну, к ошибкам в синтаксисе отладчик не имеет никакого отношения
20 ноя 2017 в 21:06
@andreymal — а что тогда такое отладчик? Разве не тот, кто ошибки ищет?
20 ноя 2017 в 21:12

грамотно проставленные include-ы могут реально ускорить разработку, а автоматизация сборки — это как раз действия направленные на ускорение разработки — автоматизация сборки — это не какие-то банальные инклуды. Она включает множество этапов: например минификация, проверка на корректность кода, убрать лишний неиспользущийся код (бывает что-то упускаешь), преобразование языка в зависимости от настроек версии языка (например ES6 в ES5), в css например добавление префиксов к стилям, если в настройках указаны на какие браузеры рассчитан и многое другое

20 ноя 2017 в 22:04

На самом деле ответ содержится в вопросе: IDE включает в себя текстовый редактор, компилятор или интерпретатор, средства автоматизации сборки, отладчик.

21 ноя 2017 в 7:01

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

В текстовых редакторах нет понятия «проект«. Что даёт это понятие:

  1. Радикальное ускорение поиска по коду, с помощью индексации текста проекта — это очень важно для больших проектов. На практике это секунда любого поиска по 100Мб текста .
  2. Восприятие IDE проекта, как единого целого. В частности самая популярная фича — в коде написано что-то вроде $obj->doSomething() (PHP) ctrl+click на doSomething перебросит вас к телу этого метода doSomething , или к информации о функции, если она встроенная.
  3. Возможность выбрать настройки для всего проекта, например кодировку.
  4. Подсветка ошибок между несколькими файлами исходников, например вы создаёте метод в классе , аргументы которого отличаются по типу от аргументов класса-предка. В целом подсветка богаче — например скроллбар в PHPStorm может очень много сказать о большом файле с кодом: там отображены ошибки, варнинги, коментарии, TODO, фейлы навигации, git-изменения от HEAD; это очень помогает обозревать код.
  5. Богатый автокомплит — начинаете набирать название метода/ф-ии/класса/css-класса, и тут вам точно подсказывают, как-будто за вас знают, что вы хотите сделать. Это очень удобно, и заодно немного обозревает структуру класса у которого вызывается метод.

В общем примеров ещё много можно привести — у всех них ноги растут из того, что проект для IDE единое целое, и он его «видит». У текстовых редакторов нет понятия проект — это ключевое различие.

Но даже без этого в IDE есть много специфичных полезных фич, например окно «Structure» описывающее структуру класса, открытого в текущей вкладке, например плагин для работы с Git из коробки. Не говоря уже о том, что качественную подсветку синтаксиса делают только специфичные редакторы вроде Notepad++ , которые хоть и удобнее использовать как блокнот — но уже граничат с IDE по функциональности.

Главная цель IDE — красивенько уместить в вашей голове проект, даже если он большой. Тогда как редактор, даже навороченный — это прежде всего утилита(помошник), подходящая для небольших изменений.

Я например в Notepad++ делаю заметки, смотрю лог ошибок(нотпад сам подтягивает изменения в файле — удобно), открываю исходники, обособленные от моего основного проекта, а также копипащу в новые вкладки куски кода — как памятку. В IDE же веду основную работу по проекту.

Компиляторы и среды разработки языка C++

В настоящее время распространено два компилятора языка C++, между ними есть некоторые различия.

Microsoft Visual C++

Этот компилятор распространяется вместе со средой разработки Microsoft Visual Studio. Для использования доступна бесплатная версия Community Edition, которую можно скачать с сайта http://www.visualstudio.com (после 30 дней использования необходимо будет зарегистрировать продукт и получить бесплатную лицензию на использование). Обратите внимание, при установке Visual Studio нужно указать, что необходимо установить Visual C++ — по умолчанию Visual C++ не устанавливается.

Последняя версия Visual Studio — 2017. Но на олимпиадах зачастую можно встретить более старые версии, вплоть до Visual Studio 2010, поскольку это последняя версия Visual Studio, которая работает на операционной системе Windows XP. Существенным недостатком Visual Studio 2010 является то, что она не поддерживает современный стандарт языка C++ — так называемый «C++11», имеющий большое число удобных нововведений.

Gnu C/C++

Компилятор GNU C/C++ является кросс-платформенным, он существует для Windows, Linux, OS X и других операционных систем. Реализация компилятора GNU C/C++ для Windows называется MinGW, ее можно скачать, например, с сайта.

MinGW является консольным компилятором, для разработки приложений с использованием MinGW, как правило, используются дополнительные среды разработки. Они не содержат собственного компилятора и используют MinGW, как компилятор.

Среда разработки Code::Blocks

Это — несложная среда разработки, гораздо более «легкая», чем Visual Studio, но, к сожалению, имеет не очень удобный отладчик, плохо работающий со сложными структурами данных. Широко распространена и в учебном процессе, и на олимпиадах. Code::Blocks является кросс-платформенной средой разработки, он работает на Windows, Linux, OS X.

Последнюю версию Code::Blocks 16.01 можно скачать с сайта codeblocks.org, необходимо скачивать файл codeblocks-16.01mingw-setup.exe, он уже содержит компилятор MinGW.

Среда разработки CLion

Недавно выпущенная российской компанией JetBrains кросс-платформенная среда разработки, также работает под Windows, Linux и OS X, но только на 64-битных версиях этих систем.

Скачать CLion можно с сайта http://www.jetbrains.com/clion/, данная среда разработки не является бесплатной, после 30-дневного ознакомительного срока требуется приобретение лицензии, однако школьники, студенты и образовательные учреждения могут получить бесплатную лицензию на CLion.

Среда использует компилятор MinGW, но он не устанавливается вместе со средой, поэтому его нужно установить отдельно (можно использовать компилятор MinGW, который устанавливается вместе с Code::Blocks).

Чем отличается среда разработки от компилятора?

В среде есть и редактор кода, и дебаггер, и ещё куча инструментов и все в удобной форме, с удобным выводом в одно из окон многооконной среды. А компилятор только получает набор параметров, файл и «конпеляет» его.

Обнаглевший пряникУченик (6) 3 года назад
То есть в mingv можно писать программы на win32 api?

Бат Вай? Просветленный (22790) Странник, с ним дела не имел, но если это просто компилятор, то в нём не пишут код. Код ты пишешь в стороннем редакторе, любом. Потом сохраняешь в файл и «скармливаешь» компилятору. Если всё ок — получаешь на выходе результирующий файл, если нет — получаешь ошибки в консоль, анализируешь их сам, сам правишь в стороннем редакторе файл с кодом и пробуешь снова. Ошибки находить и устранять сложнее, чем в интегрированной среде разработки, где всё в одном месте и под рукой.

Остальные ответы

Среда разработки (интегрированная среда разработки) включает в себя, кроме компилятора, еще и редактор, линкер, отладчик и т. п.

Дед МазайГений (58119) 3 года назад

Это раньше так было. Сейчас IDE и компилятор — это обычно разные продукты, которые могут использоваться независимо. Одна IDE может работать с разными компиляторами. И конечно компилятор может использоваться с разными IDE. Линкер — это часть компилятора или часть ОС.
Исключение — это например Delphi и C++Builder.

В среде разработки встроены и компилятор и линковщик, и справки, и библиотеки.
Нажатием одной кнопки на выходе получает исполняемый код.

Чем отличается кухня от микроволновки?

Среда разработки включает в себя текстовый редактор с подсветкой синтаксиса и возможность выполнить программу непосредственно в ней.

Что такое редакторы кода IDE

Написание программного кода в целом не требует специальных приложений – это можно делать в стандартном “Блокноте”, который есть на любом компьютере. Но это не всегда удобно и для более комфортной работы существуют интегрированные среды разработки (IDE).

Чем отличается IDE от редактора кода, кому подойдет и зачем – обо всем по порядку рассказываем в этой статье.

Что такое редактор кода

Редактор кода – это довольно простая программа, в которой можно создавать и редактировать файлы с программным кодом.

Функции редакторов могут быть самыми разнообразными – это зависит от каждой конкретной программы. Но чаще всего они включают следующий функционал:

  • Автозаполнение. Программа продолжает за вас строку, основываясь на первых нескольких символах, которые вы ввели. Благодаря этому, вы экономите время и снижается вероятность допустить ошибки.
  • Автоматическая загрузка кода. Если вы работаете над несколькими проектами одновременно, как правило, их можно загрузить с компьютера прямо в редактор, чтобы в любой момент открыть их сразу в программе.
  • Проверка кода. Чаще всего в редактор уже есть все необходимые инструменты для проверки корректности кода. Кроме того, в некоторые программы уже встроены компилятор и отладчик кода – они подсвечивают ошибки в коде и подсказывают как их исправить.

Какие бывают редакторы кода

Редакторы бывают самые разные: бесплатные и платные, простые и сложные и т.д. Ниже мы разделили их на виды по разным критериям.

По стоимости

Бесплатные

Такие редакторы можно легко скачать, например, напрямую с сайта программы и сразу начать использовать.

Полу-бесплатные

Некоторые функции можно использовать бесплатно, за полный доступ нужно заплатить.

Платные

Полностью платные программы, иногда имеют пробный период.

По сложности

Простые редакторы

Такие программы имеют небольшой функционал.

IDE (Integrated Development Environment)

Программное обеспечение, которое сочетает инструменты для разработки приложений и их тестирования в одном интерфейсе.

По поддержке языков

Поддерживают один язык

Некоторые могут поддерживать и больше одного языка, но, как правило, их функционал меньше.

Поддерживают большинство языков

Могут не поддерживать нестандартные языки.

По месту запуска

На компьютере

Скачайте редактор и установите на ваше устройство.

Онлайн

В этом случае редактор работает через браузер .

Для чего нужны IDE

Как мы уже отметили выше, IDE (Integrated Development Environment) – интегрированные среды разработки – нужны для разработки приложений и их тестирования. Весь функционал для этого объединен в один интерфейс, что делает вашу работу максимально удобной.

IDE отличается от обычного редактора именно тем, что предоставляет более расширенный набор опций, предоставляют возможность создавать крупные проекты. Некоторые функции вы не встретите в стандартных редакторах, например:

  • преобразование вашего кода в исполняемый файл – компилятор;
  • запуск скриптов, не требующих компиляции – интерпретатор;
  • поиск проблем и ошибок в коде – отладчик;
  • автоматизация сборки проекта и ускорение процесса разработки – инструменты автоматизации.

Всегда ли нужны IDE

Нет, несмотря на все плюсы, не всем и не всегда нужно использовать IDE. Мы рекомендуем использовать их в случае работы над крупными и сложными проектами. Если вы занимаетесь разработкой интерфейсов или создаете простые сайты, вам будет достаточно инструментов простых редакторов. Сложные инструменты в данном случае скорее замедлят вашу работу.

Если вы все же решили использовать IDE – важно определиться с подходящим сервисом под свои задачи. Дальше разберем, на что обратить внимание при выборе и представим подборку IDE.

Как выбрать IDE

При выборе среды разработки мы рекомендуем ориентироваться на следующие факторы:

  1. Языки программирования

Определенно, стоит выбирать IDE, поддерживающую не один язык, а несколько. Кроме того, лучше думать на перспективу: даже если сейчас вам не нужно большое количество языков, вполне вероятно, что в будущем у вас возникнет потребность это реализовать.

  1. Операционная система (ОС)

Мы рекомендуем выбирать кроссплатформенные сервисы – это также позволит вам в будущем поменять решение, а также с их помощью легче работать в команде.

  1. Совместная разработка

Обратите внимание на этот фактор, если планируете работать с общим репозиторием.

Цена IDE зависит от количества опций, который среда будет поддерживать. Есть много бесплатных решений, но, скорее всего, их функционала будет недостаточно.

Подборка популярных IDE

Eclipse

Eclipse – одна из наиболее популярных и узнаваемых IDE. Бесплатная опенсорсная среда разработки хорошо подходит как для новичков, так и для опытных программистов.

Основная причина высокой популярности – широкие возможности для расширения среды своими модулями. Изначально Eclipse использовалась только для Java, но сейчас, благодаря плагинам и расширениям, ее функции значительно расширились.

Языки: C, C++, Java, Perl , PHP , Python , Ruby и другие.

ОС: Windows/Linux/macOS

NetBeans

NetBeans – бесплатная IDE для большого количества языков программирования с открытым исходным кодом. Можно использовать для создания новых проектов или редактирования уже существующих.

Из основных особенностей данной IDE – интуитивно понятный drag-and-drop интерфейс, большие библиотеки шаблонов и возможность удаленной разработки.

Языки: C, C++, C++ 11, Fortan, HTML 5, Java, PHP и другие.

ОС: Windows/Linux/macOS/BSD

Microsoft Visual Studio

Microsoft Visual Studio – это платная интегрированная среда разработки, стоимость варьируется в зависимости от типа подписки. Эта IDE очень гибкая: набор версий и расширений позволяет создавать самые разные проекты любой сложности. Подойдет как для профессиональных программистов, так и для новичков.

Из особенностей можно отметить инструменты для тестирования, автоматизации, возможность кастомизации рабочей панели.

Языки: Ajax, ASP.NET, DHTML, ASP.NET, JavaScript, Visual Basic, Visual C#, Visual C++, Visual F#, XAML и другие.

ОС: Windows/macOS

PyCharm

PyCharm – платная интегрированная среда разработки на языке Python. Есть бесплатная ознакомительная версия на 30 дней.

Основные особенности: поставляется с Django IDE, доступна интеграция с Git, Mercurial и SVN, можно настроить интерфейс с эмуляцией VIM.

Языки: Python, Jython, Cython, IronPython, PyPy, AngularJS, Coffee Script, HTML/CSS, Django/Jinja2 templates, Gql, LESS/SASS/SCSS/HAML, Mako, Puppet, RegExp, Rest, SQL, XML , YAML и другие.

ОС: Windows/Linux/macOS

IntelliJ IDEA

IntelliJ IDEA – платная IDE, предлагающая бесплатный тестовый период. Если вы не хотите использовать эту версию, то можно воспользоваться полностью бесплатной подпиской Community Edition.

Изначально IntelliJ IDEA была создана как среда разработки для Java, но сейчас при помощи плагинов эту IDE можно использовать для работы с другими языками.

Особенности: инструменты для анализа качества кода, удобная навигация, расширенные рефакторинги и форматирование. При этом отметим, что для начинающих программистов эта IDE можем оказаться сложной – требуется много времени на ее изучение.

Языки: Java, AngularJS, Scala, Groovy, AspectJ, CoffeeScript, HTML, Kotlin, JavaScript, LESS, Node JS, PHP, Python, Ruby, Sass,TypeScript, SQL и другие.

ОС: Windows/Linux/macOS

Code::Blocks

Code::Blocks – среда разработки C с открытым исходным кодом. IDE является очень гибкой, производительной и не требует большого количества ресурсов. При этом бесплатные плагины помогают существенно расширить функционал.

Из особенностей еще раз отметим широкий набор бесплатных плагинов, настраиваемые внешние инструменты и простые средств управления задачами, которые отлично подходят для совместной работы и переключения между рабочими пространствами.

Языки: C, C++, Fortran

ОС: Windows/Linux/macOS

Komodo

Komodo – одна из самых популярных IDE для веб- и мобильной разработки, которая с недавних пор распространяется абсолютно бесплатно.

Komodo поддерживает большинство основных языков программирования, а удобный интерфейс позволяет осуществлять расширенное редактирование.

Языки: CSS, JavaScript, HTML, NodeJS, Perl, PHP, Python, Ruby и другие.

ОС: Windows/Linux/macOS

Xcode

Xcode – среда программирования для создания приложений под продукты Apple – iPhone, iPad, Mac, Apple TV и Apple Watch.

Среди особенностей данной IDE: фирменный компилятор Apple, создание прототипов без написания кода, умный анализатор кода. При этом чтобы разместить созданное приложение в App Store понадобится приобрести лицензию разработчика.

Языки: AppleScript, C, C++, Java, Objective-C, Swift. ​

ОС: macOS

RubyMine

RubyMine – еще одна платная среда разработки, предлагающая бесплатную 30-дневную версию.

Данная IDE также пользуется большой популярностью у программистов разного уровня, благодаря удобной навигации, логичной организации рабочего процесса и совместимостью с большинством платформ.

Языки: CoffeeScript, CSS, HAML, HTML, JavaScript, LESS, Ruby и Rails, Ruby и SASS.

ОС: Windows/Linux/macOS

Aptana Studio 3

Aptana Studio 3 – одна из самых мощных IDE с открытым исходным кодом. Поддерживает большинство спецификаций браузеров, что помогает пользователям быстро разрабатывать необходимые приложения.

Из основных особенностей данной среды отметим наличие подсказок для CSS, HTML, JavaScript, PHP и Ruby, мастера развертывания с простой настройкой и несколькими протоколами, включая Capistrano, FTP , FTPS и SFTP, а также возможность автоматической установки созданных приложений Ruby и Rails на серверы хостинга.

Языки: HTML5, CSS3, JavaScript, Ruby, Rails, PHP и Python.

ОС: Windows/Linux/macOS

Заключение

В статье мы перечислили лучшие IDE и подробно разобрали, для каких задач стоит их использовать. Безусловно, использование интегрированной среды разработки необходимо далеко не всем, для многих задач будет достаточно стандартного редактора кода.

Если вы, взвесив все “за” и “против”, все же решили воспользоваться IDE, рекомендуем внимательно подходить к ее выбору. Какую IDE выбрать и какая лучше всего подойдет для вас – зависит от используемой операционной системы, языка программирования и платформ, над которыми вы хотите работать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *