Разбираем интегрированные среды для разработки и редакторы кода. Что нужно знать о них, чем они отличаются, какие инструменты сегодня доступны, и, что выбирают специалисты Serverspace.
От автора: в статье представлены популярные IDE и редакторы кода. Скорее всего, многие из них вы уже знаете, но мы решили собрать их в единую подборку. Подробнее со стоимостью и характеристиками IDE можно ознакомиться на официальных сайтах. Статья носит рекомендательный характер.
Что нужно знать об IDE и редакторах кода?
IDE (Integrated Development Environment) и редактор кода – это виды программного обеспечения, предназначенные для работы над приложениями, их разработки и тестирования. Возможности этих инструментов отличаются.
Редактор кода является программой, работающей как текстовый редактор, только более подходящий для написания кода.
IDE – это ПО, которое объединяет инструменты для разработки приложений и их тестирования в едином интерфейсе. Может делать все то, что и текстовый редактор, и даже больше. В принципе этим IDE и отличается от него, она предоставляет более расширенные функции. Среды разработки дают возможность создавать крупные проекты, а также подключать Git. Как правило, IDE состоит из:
самого текстового редактора для написания и редактирования кода;
компилятора – инструмента, позволяющего перевести текст, написанный на языке программирования, в набор машинных кодов;
отладчика, проверяющего код и устраняющего в нем ошибки;
инструментов для автоматизации сборки кода, ускоряющих процесс разработки.
Многие IDE позволяют настраивать дополнительные фреймворки и библиотеки для расширения возможностей разработки.
Какие IDE и редакторы кода существуют сегодня?
При выборе подходящей среды разработчики ориентируются на различные факторы, поддерживает ли IDE необходимые языки программирования, есть ли возможность совместной разработки для командной работы, какие дополнительные фичи доступны, можно ли устанавливать дополнительные расширения, нужна ли подписка или можно обойтись бесплатной версией. В статье даны описание и основные преимущества и недостатки инструментов, чтобы можно было понять, какой инструмент подходит больше под ваши задачи.
Microsoft Visual Studio
IDE от Microsoft дает возможность разрабатывать как консольные приложения, так и ПО с поддержкой графического интерфейса для ПК и мобильных устройств. Подходит для специалистов, работающих с несколькими языками программирования. VS является мультиязычной средой, поддерживающей Python, PHP, JavaScript, JSON, HTML, C++, и другие. Тестировщики же могут проверять приложение на всех возможных устройствах и браузерах. С помощью дополнительных модулей есть возможность расширить возможности среды под конкретные задачи.
Преимущества:
постоянно расширяющийся магазин дополнений, предоставляющий надстройки для расширения возможностей взаимодействия с IDE;
встроенная технология автозавершения кода IntelliSense;
возможности для командной работы: управление доступами к проекту, полностью настраиваемые параметры редактора;
мультиязычность;
индивидуальная настройка рабочей панели;
есть поддержка split screen.
Недостатки:
отсутствие возможности работы на Linux ОС;
это достаточно тяжеловесная среда. Если у вас нет необходимости разрабатывать консольные приложения, то можно рассмотреть более подходящий редактор кода.
Сайт: https://visualstudio.microsoft.com/ru/
PyCharm
PyCharm – среда для работы с Python. Разработчики из компании JetBrains создали серию IDE с ориентированием на разные языки: PyCharm, PHPStorm, CLion, IntelliJ IDEA. К сожалению, компания-разработчик этого и другого ПО, ушли с российского рынка, и оплата платных подписок сейчас недоступна. Однако PyCharm обладает бесплатной опенсорсной версией – Community, которая предоставляет инструменты для программирования на Python.
Преимущества:
автозавершение кода, автопоиск и исправление ошибок в коде;
поддержка сред для веб-разработки Django, Flask, Google App Engine, Pyramid и web2py;
интеграция с системами контроля версий;
интеграция с Jupyter Notebook, Anaconda и другими библиотеками;
отладчик, профилировщик Python, встроенные терминал и инструменты баз данных.
Недостатки:
версия Community не поддерживает многие инструменты, нет профилировщика Python и поддержки баз данных;
отсутствует возможность оплаты Professional версии в России.
Сайт: https://www.jetbrains.com/ru-ru/pycharm/
IntelliJ IDEA
Еще одна IDE от JetBrains – IntelliJ IDEA. Изначально была разработана для работы с языком Java. Сегодня же она позволяет работать с кодом и на других языках, которые можно добавить с помощью расширений: HTML, CSS, PHP, Python, SQL и другие.
Преимущества:
автозавершение и исправление кода;
мультиязычность;
удобная рабочая среда, которая интуитивно понимает ваши действия и автоматически вызывает нужные инструменты;
интеграция с системами контроля версий;
анализ кода в реальном времени и надежные рефакторинги.
Недостатки:
отсутствие в Community-версии инструментов профилирования, баз данных;
отсутствует возможность удаленной разработки;
сложная платформа для начинающих разработчиков.
Сайт: https://www.jetbrains.com/ru-ru/idea/
Spyder
Spyder расшифровывается как Scientific PYthon Development EnviRonment или научная среда разработки для Python – это опенсорсная IDE, направленная на работу с данными на Python. Программа предлагает сочетание расширенных функций редактирования, интерактивного тестирования, самоанализа, отладки и профилирования комплексного инструмента разработки с исследованием данных.
Преимущества
бесплатная интегрированная среда для разработки;
возможность просмотра значений переменных;
доступная функция анализа ошибок с подсказками в случае нахождения ошибок;
автодополнение кода;
кроссплатформенность, дает возможность работать на Windows, macOS, Linux.
Недостатки
инструмент во многом предназначен для работы с данными. Для других задач подходит не так хорошо, как другие IDE.
Сайт: https://www.spyder-ide.org/
Eclipse
Среда разработки, которая первоначально использовалась для Java, но благодаря дополнениям сегодня она позволяет работать и с другими языками: PHP, Python, Ruby и другие. Например, для работы с Python необходимо установить расширение PyDev.
Преимущества:
бесплатная опенсорс среда;
мультиязычность;
доступны расширение возможностей и тонкая настройка за счет дополнительных плагинов;
вокруг IDE сформировано большое комьюнити, помогающее с решением возникающих проблем;
настраиваемый интерфейс;
возможность интеграции JUnit и проведения оптимизации тестов.
Недостатки:
возможности Eclipse не такие большие, как у Microsoft Visual Studio, но она распространяется с открытым исходным кодом, поэтому можно настраивать под свои потребности;
сложная IDE для разработчиков-новичков.
Сайт: https://www.eclipse.org/ide/
NetBeans
Еще одна бесплатная среда с открытым исходным кодом – Apache NetBeans. Как и Eclipse она ориентирована во многом на работу с Java, но по умолчанию также доступны и другие языки программирования, такие как PHP, HTML5, CSS и другие.
Преимущества:
доступна возможность установки пакетов для работы с другими языками;
умное автозавершение кода и визуальный отладчик;
простой и настраиваемый интерфейс рабочего пространства;
возможности совместной разработки при работе в команде.
Недостатки:
большое потребление памяти.
Сайт: https://netbeans.apache.org/
Komodo
IDE Komodo – это бесплатная среда, поддерживающая разработку на различных языках: Python, PHP, Perl, Go, Ruby, Node.js, JavaScript и другие. Возможности, как и во многих других средах, можно расширить с помощью настраиваемых дополнений.
Преимущества:
автозавершение кода и интеллектуальная подсветка синтаксиса;
визуальный отладчик;
мультиязычность;
интеграция с системами управления версиями;
для физических лиц версия бесплатная ;
позволяет кастомизировать рабочее пространство;
имеет визуальный отладчик и инструменты тестирования.
Недостатки:
для работы в команде или на enterprise уровне есть платная версия.
Сайт: https://www.activestate.com/products/komodo-ide/
Редакторы кода
Рассмотрим еще несколько редакторов кода.
Visual Studio Code
Visual Studio Code – это бесплатный редактор кода, который включает в себя инструменты запуска и отладки, интеграцию с системой контроля версий и дает возможность писать код на многих языках программирования: C++, CSS, JavaScript, JSON, PHP, Python и другие.
Преимущества:
кроссплатформенность: поддержка на Windows, macOS и Linux;
встроенная технология автодополнения кода IntelliSense;
множество бесплатных расширений в маркетплейсе;
полностью бесплатный редактор.
Недостатки:
в Visual Studio Code доступно меньше инструментов, чем в полноценной IDE от Microsoft;
отсутствует поддержка split screen.
Сайт: https://code.visualstudio.com/
Разработчики и тестировщики из команды Serverspace используют именно этот редактор в своей работе. У него большая система плагинов, написанных разными разработчиками, и есть возможность кастомизации рабочего пространства с форматированием и подсветкой кода. Приятно, что все необходимые инструменты и расширения можно получить бесплатно.
Sublime Text
Идем далее и рассмотрим Sublime Text, еще один редактор кода, хорошо поддерживаемый комьюнити разработчиков. Он включает возможности для упрощения редактирования кода: Goto Anything, сопоставление скобок, множественное выделение и Python API. Поддерживает языки: C++, Python, JavaScript, PHP, SQL и другие.
Преимущества:
большой выбор дополнений для поддержки синтаксиса и редактирования кода;
навигация Goto Anything дает возможность быстро получать доступ к файлам;
позволяет быстро перемещаться между проектами с сохранением изменений;
множественное выделение позволяет вносить изменения в строки кода сразу в нескольких местах.
Недостатки:
для полного использования всех функций необходимо приобрести лицензии;
отсутствует функция автоматической отладки и боковая панель, как, например, в Visual Studio Code.
Сайт: https://www.sublimetext.com/
Atom
Бесплатный опенсорсный редактор кода, позволяющий работать в любой ОС. Поддерживает такие языки, как Python, CSS, JavaScript, Ruby, Java и другие. Позволяет устанавливать большое количество расширений.
Преимущества:
подходит для начинающих;
редактор можно настроить под свои требования;
возможность установки новых плагинов;
мультиязычность;
интеграция с Node.js, включая запуск веб-сервера прямо из редактора.
Недостатки:
сильная нагрузка на мощности из-за встроенного браузера, внутри которого постоянно выполняется JavaScript-код.
Сайт: https://atom.io/
Разработка в облаке
Облачная инфраструктура позволяет безопасно развернуть IDE и редакторы кода. Работа в облаке позволяет:
экономить вычислительные мощности компьютера. Когда вам больше не нужные ресурсы или вы хотите создать новый сервер, вы можете удалить их и прекратить оплату.
хранить большой объем информации и данных приложений, при этом не заполняя диск компьютера. Облачные провайдеры предоставляют возможность масштабировать ресурсы, добавлять дополнительные тома и увеличивать размер дискового пространства.
работать в команде. Доступ к облачному серверу получают все участники, что позволяет работать над проектом вместе
Поделитесь IDE и редакторами кода, которые используете вы, и расскажите о своем опыте работы с ними. Мы дополним статью вашими комментариями.
Комментарии (22)
ArchimeD
14.10.2022 15:32+6Все варианты - вообще мимо. От JetBrains стоило бы добавить Intellij IDEA (у нее есть Community Edition).
Для меня большой минус IDE - ее неуниверсальность, тяжесть и перегруженность. Использую emacs (которого тоже нет в выборке) для Go, Scala, Erlang, JS, TypeScript, Python, плюс поддержка подсветки и форматирования файлов SQL, Docker, Terraform, Yaml, Json, CSS, PlantUML, LaTeX. Но да, emacs - это лайтсейбр, который каждый джедай должен собрать себе сам). Знаю, что VSCode тоже так же обвешивается плагинами, но емаксом я стал пользоваться задолго до появления VSCode, как отдельного продукта.Cobalt
14.10.2022 15:41Для меня это наоборот плюс. Еще в бытность Java кодером выбрал Intellij IDEA и с тех пор, с нее не слезаю, хотя стек поменял существенно - JS, Flutter, Go - для всего одна привычная среда. Пробовал перейти на VS Code, щупал Fleet - всегда не хватает того что есть в полноценной IDE
ArchimeD
14.10.2022 15:42У меня IDEA раза 3-4 в день стабильно вешала ноут, выжрав 100% памяти :) Поэтому и слез в итоге.
Serverspace Автор
14.10.2022 15:53Intellij IDEA мы добавили в подборку. К сожалению, потерялась при добавлении текста
Emacs рассмотрим и добавим позже к статье. Спасибо за рекомендациюTony-Sol
14.10.2022 18:36+4Из приписанных IDEA недостатков, этот
отсутствует возможность удаленной разработки;
не актуален
potan
14.10.2022 15:38+1Важным свойством среды разработки является поддержка Type-Driven Development, в частности поиск в текущем контексте переменной, подходящей по типу для использования в данном месте. В IDEA это реализовано относительно неплохо (по крайней мере для Scala), хотя для коассической реализации в vim/emacs+Idris еще есть куда расти. А что с этим в других IDE?
BigDflz
14.10.2022 15:48+1NetBeans
-
большое потребление памяти.
по нынешним временам - это не критерий, а на практике - работал с ним а на 4 гигах, и на 8 гигах. проблем не испытывал. при 8-32 гигах настраивал на потребление памяти 1-2 гига , чтоб комфортнее было. Сопрягается с хромом для отладки. (работа на Java)
-
saipr
14.10.2022 15:51Для меня большой минус IDE — ее неуниверсальность, тяжесть и перегруженность.
Я на вашей стороне.Использую часто tke.
Этот редактор в первую очередь написан для программистов и содержит поддержку многих языков программирования, подсветку синтаксиса, дополнительную встроенную поддержку Vim, поддержку плагинов и многие другие функции.
k102
14.10.2022 16:12+2Стоит упомянуть и VSCodium: https://github.com/VSCodium/vscodium - тот же VSCode, но без телеметрии и с другой лицензией
saidelman
14.10.2022 17:16+4Атом уже практически умер. В декабре основной репозиторий разработки будет заархивирован: https://github.blog/2022-06-08-sunsetting-atom/
thruwol
17.10.2022 12:21Что и следовало ожидать, зачем Microsoft развивать Atom, когда у них уже есть VS Code (Уже вполне привычная стратегия Microsoft, купить компанию и забивать на её продукты.)
delphinpro
14.10.2022 18:56+1Почему в подборке есть IDE для Python (PyСharm), но нет для PHP (PhpStorm)?
Что за дискриминация?PyCharm в подборке явно лишний, остальные вроде универсальные.
Racheengel
14.10.2022 22:53+2А notepad++ почему не упомянули? Под винду один из самых лёгких редакторов, если надо что то быстро глянуть или поправить..
serafims
15.10.2022 15:23Какой смысл в такой статье, если тут нет акцента на конкретный язык программирования и среду, для которой пишется код. Для Явы одно, для встраиваемых систем другое, для веба третье. Да, MS VS code кажется более менее универсальной темой, но все равно надо кастомизировать, как и тот же notepad++. Но за Spyder спасибо. По сути статья должна выглядеть в виде деревообразной структуры, где языки стоят в начале ветвей.
d_ilyich
15.10.2022 21:01На всякий случай добавлю:
Code::Blocks — The free C/C++ and Fortran IDE…
CodeLite — open source, free, cross platform IDE, specialized in C, C++, Rust, Python, PHP and JavaScript…
Embarcadero Dev-C++ — full-featured Integrated Development Environment (IDE) and code editor for the C/C++ programming language
TrickyBestia
17.10.2022 12:21Странно, что в минусах Атома (который, как уже заметили, почти умер) отмечено то, что он на Electron написан, а у VSCode такого минуса не отмечено. Так же отмечено "отсутсвие split screen" в том же VSCode, при том что на скриншоте явно видно, что окно разделено на два редактора (или имелось в виду что-то другое?).
GavriKos
Fleet от JetNrains уже можно добавлять.
А почему от них же только пайчарм - непонятно. Однобокая статья кнчн.
Serverspace Автор
Привет, спасибо за рекомендацию!
Как мы сказали в статье, JetBrains, к сожалению, перестал давать возможность оплачивать подписки российским пользователям. Поэтому в статью был включен PyCharm. Он имеет доступную бесплатную версию, которая может работать свободно без расширенной подписки. Например, CLion и PHPStorm дают доступ к бесплатной версии только на 30 дней.
Akuma
И все же это одна из лучших IDE (а для кого-то лучшая).
Проблемы с оплатой не проблемы уже для многих, на самом деле.