Популярные ide. Выбор среды разработки(IDE). Текстовые редакторы для веб-разработки

Подбор удобного инструмента - одна из главных задач программиста. И первым делом это касается среды разработки. IDE отличается от простого редактора кода 4 вещами:

  • Поддержка большого числа языков программирования. Как правило, всех в рамках направленности (веб, мобайл, десктоп).
  • Наличие компилятора, интерпретатора для преобразования творений в машинный код.
  • Встроенные утилиты для автоматизации процесса: библиотеки, шаблоны, сниппеты и т. д.
  • Дебаггер для обнаружения ошибок, опечаток и прочих опасностей.

Для новичка в программировании может хватить редактора, который использует 1−2 языка, а ошибки ловить лучше в ручном режиме, чтобы видеть их последствия.

Но как только вы выходите на путь «взрослой» разработки, без хорошей IDE не обойтись. И хорошо, чтобы она была бесплатной. Вот подборка 9 субъективно лучших:

NetBeans

Платформа: Windows/Mac/Linux

Описание: NetBeans - кроссплатформенная open-source IDE, предназначенная для работы на Java, но поддерживающая Python, JavaScript, Ruby, C, C++, Ada, PHP, HTML, CSS, XML, Groovy. Среда позволяет работать во всех трех направлениях разработки.

Eclipse

Платформа: Windows/Mac/Linux

Описание: Ещё одна популярная IDE, не имеющая привязки к ОС, и с помощью надстроек поддерживающая до 25 языков программирования. Вообще количество подключаемых библиотек делает Eclipse одной из самых функциональных IDE.

Microsoft Visual Studio Express

Платформа: Windows

Описание: Урезанная, но бесплатная версия Visual Studio. Для новичка её возможностей хватит с головой:

  • Система автодополнения IntelliSense.
  • Поддержка C/C++/C#/Python/Ruby/VB.NET/JavaScript/HTML/CSS/XML.
  • Поддержка систем контроля версий Git и TFS.
  • Интеграция с Azure.

CodeLite

Платформа: Windows/Mac/Linux

Описание: Кроссплатформенная IDE для разработки ПО на C/C++, PHP и Node.js. Несмотря на свою минималистичность, все базовые потребности разработчика она удовлетворит.

Code::Blocks

Платформа: Windows/Mac/Linux

Описание: 3 главные фишки Code::Blocks:

  • Поддержка большого числа компиляторов, среди которых MinGW/GCC, Watcom, Clang, Digital Mars C/C++, и отладчиков GNU GDB и MS CDB.
  • Инструмент wxSmith для быстрой разработки приложений (RAD).
  • Основная библиотека wxWidgets упрощает разработку графического интерфейса в приложениях.

Qt Creator

Платформа: Windows/Mac/Linux

Описание: Qt Creator специализируется на работе с C, C++ и QML, поддерживает те же самые компиляторы и отладчики, что и Code::Blocks. Работает со всеми популярными системами контроля версий: Subversion, Mercurial, Git, CVS, Bazaar, Perforce.

Aptana Studio

Платформа: Windows/Mac/Linux

Описание: Без подключения библиотек Aptana может работать только с JavaScript, HTML и CSS. С ними поддерживает PHP, Python и Ruby. Также Aptana подключается к Eclipse в качестве плагина, что делает её еще более полезной для новичка.

WebScripter

Платформа:Mac

Описание: WebScripter - простая и понятная IDE «яблочных» веб-разработчиков. Не развивается уже лет 5, но для старта хватит встроенных редактора, отладчика и дебаггера.

PSPad

Платформа: Windows

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

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

Какой выбор сделали вы?

Писать на Python, используя IDLE или Python Shell, вполне удобно, если речь идёт о простых вещах, однако с ростом размеров проектов программирование превращается в мучение. С помощью IDE или даже хорошего редактора кода можно значительно упростить себе жизнь. Но вот вопрос - что выбрать?

В этой статье мы пройдёмся по основным инструментам, позволяющим писать на Python. Мы не выберем за вас лучший вариант, но рассмотрим «за» и «против» каждого и поможем сделать взвешенное решение.

Что такое IDE и редактор кода?

IDE (или интегрированная среда разработки) - это программа, предназначенная для разработки программного обеспечения. Как следует из названия, IDE объединяет несколько инструментов, специально предназначенных для разработки. Эти инструменты обычно включают редактор, предназначенный для работы с кодом (например, подсветка синтаксиса и автодополнение); инструменты сборки, выполнения и отладки; и определённую форму системы управления версиями.

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

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

Требования для хорошей среды разработки

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

  • Сохранение файлов. Если IDE или редактор не дают вам возможности сохранить работу и позже всё открыть в том же состоянии, в котором оно было во время закрытия, то не такая уж это и IDE;
  • Запуск кода из среды. То же самое, если вам нужно выйти из среды для запуска кода, то это не более, чем простой текстовый редактор;
  • Поддержка отладки. Возможность пошагово выполнить код является базовой функцией всех IDE и большинства хороших редакторов кода;
  • Подсветка синтаксиса. Возможность быстро найти ключевые слова, переменные и прочее делает чтение и понимание кода на порядок проще;
  • Автоматическое форматирование кода. Любой редактор или IDE, который действительно таковым является, распознает двоеточие после while или for выражения и автоматически сделает отступ на следующей строке.

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

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

Редакторы и IDE с поддержкой Python

Eclipse + PyDev

Если вы близки с open-source сообществом, то вы наверняка слышали об Eclipse. Будучи доступным для Linux, Windows и OS X, Eclipse де-факто является open-source IDE для разработки на Java. Существует множество расширений и аддонов, которые делают Eclipse полезным для разного рода задач.

Одним из таких расширений является PyDev, предоставляющий интерактивную консоль Python и возможности для отладки и автодополнения кода. Установить его просто: запустите Eclipse, выберите Help → Eclipse Marketplace, затем найдите PyDev. Нажмите «Install» и при необходимости перезапустите Eclipse.

Преимущества : если у вас уже был установлен Eclipse, то установка PyDev пройдёт быстро и гладко. У опытного пользователя Eclipse не возникнет проблем с изучением этого расширения.

Недостатки : если вы только начинаете изучать Python или разработку в целом, Eclipse может стать непосильной ношей. Помните, мы говорили, что IDE большие и требуют больше опыта для полноценного использования? Всё это можно сказать об Eclipse.

Sublime Text

Тип: редактор кода
Сайт: http://www.sublimetext.com

Sublime Text, написанный инженером из Google с мечтой о лучшем текстовом редакторе, является весьма популярным редактором кода. Доступный на всех платформах, Sublime Text имеет встроенную поддержку редактирования Python-кода, а также богатый набор расширений, называемых пакетами, которые расширяют возможности синтаксиса и редактирования.

Установить дополнительный Python-пакет может быть непросто - все пакеты Sublime Text написаны на Python, поэтому для установки пакетов сообщества зачастую может потребоваться выполнить Python-скрипт непосредственно в редакторе.

Преимущества :у Sublime Text большое количество поклонников. Как редактор кода, Sublime Text быстрый, лёгкий и имеет хорошую поддержку.

Недостатки : Sublime Text не является бесплатным, хотя вы можете использовать пробный период сколько угодно. Установка расширений может превратиться в тот ещё квест. Кроме того, в редакторе нет поддержки отладки и запуска кода.

Atom

Тип: редактор кода
Сайт: https://atom.io/

Доступный на всех платформах Atom называют «хакабельным текстовым редактором 21 века». Atom написан с использованием Electron - фреймворка для создания кроссплатформенных приложений для десктопа средствами JavaScript, HTML и CSS - и имеет множество расширений. Поддержку Python можно также можно подключить с помощью расширения, которое можно установить прямо в Atom.

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

Недостатки : поддержка сборки и отладки не встроенная, а добавляется с помощью расширений. Поскольку Atom написан с помощью Electron, он всегда работает как JavaScript-процесс, а не как нативное приложение.

GNU Emacs

Тип: редактор кода
Сайт: https://www.gnu.org/software/emacs/

Задолго до войны iPhone с Android, до войны Linux с Windows, даже до войны PC с Mac была война редакторов с GNU Emacs в качестве одного из участников военных действий. Описываемый как «расширяемый, настраиваемый, самодокументированный текстовый редактор», GNU Emacs существует почти столь же долго, сколько и UNIX, и успел завоевать немало поклонников.

Доступный бесплатно на каждой платформе (в той или иной форме) GNU Emacs использует язык Lisp для кастомизации. Само собой, для Python тоже найдутся скрипты кастомизации.

Преимущества : вы знакомы с Emacs, вы используете Emacs, вы любите Emacs. Lisp - ваш второй язык, и вы знаете, что с ним вы способны на всё.

Недостатки : кастомизация подразумевает написание (или копипасту) Lisp-кода в различные скрипты. Если таковых не имеется, то вам, возможно, придётся изучить Lisp, чтобы со всем разобраться.

Vi / Vim

Тип: редактор кода
Сайт: https://www.vim.org/

По другую сторону баррикад в войне редакторов находится VI/VIM. Доступный по умолчанию на почти каждой UNIX-системе и Mac OS X, VI завоевал не меньшее количество поклонников. VI и VIM - модальные редакторы, которые отделяют просмотр файла от его редактирования. VIM включает в себя всё, что есть в VI, плюс некоторые усовершенствования вроде доступности расширений. Для разного рода Python-задач можно воспользоваться VIMScripts.

Преимущества : вы знакомы с VI, вы используете VI, вы любите VI. VIMScripts вас не пугают, и вы знаете, как подчинить их своей воле.

Недостатки : как и в случае с Emacs, вам не очень удобно искать или писать скрипты для добавления возможности разработки под Python, и вы не имеете ни малейшего понятия, как вообще должен работать модальный редактор.

Visual Studio

Преимущества : как и в случае с Eclipse, если у вас уже установлена Visual Studio для других задач, установка PTVS пройдёт без проблем.

Недостатки : как и в случае с Eclipse, Visual Studio будет многовато, если вам нужен только Python. Кроме того, если вы пользуетесь Linux, то вы в пролёте - Visual Studio для этой платформы нет.

Visual Studio Code

Тип: редактор кода
Сайт: https://code.visualstudio.com/
Python tools: https://marketplace.visualstudio.com/items?itemName=ms-python.python

Visual Studio Code (не путать с Visual Studio) - полнофункциональный редактор кода, доступный на Windows, Linux и Mac OS X. VS Code является расширяемым open-source редактором, который можно настроить под любую задачу. Как и Atom, VS Code построен на Electron, поэтому у него есть те же преимущества и недостатки.

Добавить поддержку Python в VS Code проще простого - выполните поиск по запросу «Python» в Marketplace, нажмите «Install» и перезапустите редактор, если потребуется. VS Code автоматически определит интерпретатор Python и установленные библиотеки.

Преимущества : благодаря Electron, VS Code доступен на всех платформах с удивительно большой функциональностью. Кроме того, исходники можно найти в открытом доступе.

Недостатки : раз замешан Electron, значит VS Code не нативное приложение. Кроме того, некоторым людям религия не позволяет пользоваться продуктами Microsoft.

Редакторы и IDE, разработанные для Python

PyCharm

Одной из лучших полнофункциональных IDE, предназначенных именно для Python, является PyCharm. Существует как бесплатный open-source (Community), так и платный (Professional) варианты IDE. PyCharm доступен на Windows, Mac OS X и Linux.

PyCharm «из коробки» поддерживает разработку на Python напрямую - откройте новый файл и начинайте писать код. Вы можете запускать и отлаживать код прямо из PyCharm. Кроме того, в IDE есть поддержка проектов и системы управления версиями.

Преимущества : это среда разработки для Python с поддержкой всего и вся и хорошим коммьюнити. В ней «из коробки» можно редактировать, запускать и отлаживать Python-код.

Недостатки : PyCharm может медленно загружаться, а настройки по умолчанию, возможно, придётся подкорректировать для существующих проектов.

Spyder

Spyder - open-source IDE для Python, оптимизированная для data science. Spyder идёт в комплекте с менеджером пакетов Anaconda, поэтому вполне возможно, что он у вас уже установлен.

Что в Spyder интересно, так это то, что его целевой аудиторией являются data scientist’ы, использующие Python. Например, Spyder хорошо взаимодействует с такими библиотеками для data science, как SciPy, NumPy и Matplotlib.

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

Отличительной особенностью Spyder является наличие проводника переменных. Он позволяет просмотреть значения переменных в форме таблицы прямо внутри IDE. Также хорошо работает интеграция с IPython/Jupyter.

Про Spyder можно сказать, что он более «приземлённый», чем другие IDE. Его можно рассматривать как инструмент для определённой цели, а не как основную среду разработки. Что в нём хорошо, так это, что он бесплатный, open-source и доступный на Windows, macOS и Linux.

Преимущества : вы data scientist, который пользуется Anaconda.

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

Thonny

Thonny называют IDE для новичков. Написанный и поддерживаемый Институтом информатики Тартуского университета в Эстонии, Thonny доступен на всех основных платформах.

По умолчанию Tonny устанавливается с версией Python, идущей в комплекте, поэтому вам не понадобится устанавливать ещё что-нибудь. Продвинутым пользователям, возможно, придётся изменить эту настройку, чтобы IDE нашла и использовала уже установленные библиотеки.

Преимущества : вы начинающий Python-программист и вам нужна IDE, с которой можно сразу идти в бой.

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

Так что из этого выбрать?

  • Начинающим питонистам следует взять что-то с наименьшими возможностями кастомизации. Чем меньше препятствий, тем лучше;
  • Если вы уже пользуетесь каким-нибудь редактором для других задач, то посмотрите в сторону редакторов кода;
  • Ну а если у вас уже стоит IDE для другого языка, то попробуйте добавить в неё поддержку Python.

Интересуетесь ещё и вебом? Тогда загляните в нашу аналогичную для веб-разработки.

Компилятор преобразует исходный код (файлов *.с, *.cpp) в работающую программу. Если у вас нет компилятора, необходимо его установить, прежде чем начать программировать. Есть много компиляторов, которые доступны в Интернете для скачивания. Если вы являетесь пользователем Mac OS X, Linux или других *nix систем (например, Unix или FreeBSD), вероятно, у вас уже установлены компиляторы, такие как GCC или G++.

Основные понятия

Компилятор — программа, транслирующая исходный (высокоуровневый) код программы в конечный (низкоуровневый) код.
Компиляция — процесс преобразования высокоуровневого исходного текста программы, в эквивалентный текст программы, но уже на низкоуровневом языке.
Компоновщик (Линкер) — программа, которая генерирует исполнимый модуль путём связывания объектных файлов проекта.
IDE (Интегрированная среда разработки) — сочетание текстового редактора и компилятора. Разработка, компиляция и запуск своих программы осуществляется непосредственно в IDE. Интегрированные среды разработки упрощают процесс составления программ, так как написание кода компиляция и запуск программ выполняются в одной программе — IDE. Ещё одной важной особенностью IDE является то, что IDE помогает быстро найти и исправить ошибки компиляции.

Понимание процессов компиляции

Процессы компиляции и компоновки — краткое описание того, что именно происходит, когда вы компилируете программу.
Ошибки компиляции , в некоторых строках компилятор находит ошибки, которые нужно ликвидировать.
Предупреждения компилятора — что такое предупреждения компилятора, как и почему их устраняют.
В чём разница между объявлениями и определениями в С/C++ . Узнайте разницу между объявлением и определением в Си/C++, и почему это так важно.

Выбор компиляторов (IDE)

Для ОС Windows:
Code::Blocks с Mingw — рекомендуемая нами, бесплатная IDE! Code::Blocks также доступна на Linux. Посмотреть, как установить эту IDE можно в нашей статье Установка Code::Blocks и MINGW.
Microsoft Visual C++ — читайте о Visual C++. Руководство по установке Microsoft Visual Studio 2012

"Все вот думал, когда же наступит тот момент, когда мне придется сказать в стиле "да я в твои годы!.. и т.д.". И вот... Этот момент, скорее всего, настал. Вам, - как видно из вашего недавнего поста, - 16 лет, и вы позиционируете себя как молодого человека, увлекшегося программированием. То вы собираетесь использовать Go для масштабного веб-проекта, то не можете подобрать цветовую схему для редактора Sublime Text 3, чтобы начать программировать, причем одну тему для дневной работы, а вторую - для ночной. И все это для того, чтобы, как вы в том же посте и выразились, в ближайшее время опять же - начать писать на языке golang. Теперь вот уже и сам IDE стоит под вопросом.

Я в ваши годы, а точнее, с 12 лет и где-то до 16-ти, сидел дома за гудящим компьютером ЕС-1840, оснащенным черно-белым монитором "Электроника". Там, поверьте мне, не было никаких тем - ни ночных, ни дневных. Я не говорю уже о том, что понятие "графика" сводилось к алгоритмам отображения простых геометрических фигур, причем практически, если так можно выразиться, "попиксельно". Не было и никаких навороченных IDE, а пиком эргономичности UI считались Norton/Volkov Commander. Windows и графический интерфейс? Не, не слышали.. Там был MS-DOS во всей его красе.

Но зато, мой юный друг, были Borland TurboPascal, Borland C++, Microsoft GW-BASIC и другие - простейшие в смысле графической оболочки (если понятие таковой вообще там можно было найти), но необходимые среды разработки под MS-DOS, благодаря которым многие стали профессионалами без всяких ночных тем. О да, забыл упомянуть: тогда не было никакого Интернета и ответ на вопрос типа "А как сделать, чтобы..." нельзя было найти с помощью Google. И книг не было. Разве что книга В. Э. Фигурнова "IBM PC для пользователя" - почти что единственная библия нашего поколения и скудные сканы с документаций, поставлявшимися с официальными версиями вышеозначенных программ и считавшимися ценнее золота.

Как я уже вам писал, я знаю людей (да и многие знают), которые годами собираются выучить Java, но никак не могут определиться, что лучше - Eclipse или NetBeans. В результате они остались на месте, не выучив ровным счетом ничего. А все потому что походили к процессу не с той стороны, явно полагая, что корень их непонимания азов программирования связан с использованием неудобного IDE.

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

Существует множество способов писать код для веб-приложений: от текстовых редакторов до облачных сред разработки. Трудно сразу решить, какая среда лучше подходит для поставленных задач. Чтобы сэкономить вам время, выбрали наиболее популярные:

В конце каждого раздела размещена сводная таблица, в которой можно наглядно увидеть сравнение функций редакторов для веб-разработки. В статье рассмотрены исключительно бесплатные кроссплатформенные решения, поэтому популярные проприетарные редакторы вроде Sublime Text не вошли в подборку.

Текстовые редакторы для веб-разработки

Komodo Edit

Основные возможности:

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

GNU Emacs

Настольные интегрированные среды разработки (IDE)

Eclipse

Облачные IDE

Большинство десктопных приложений перешли в «облако», поэтому нет ничего удивительного, что облачные среды также становятся популярными среди программистов. Не каждый сразу доверяет облачным IDE, но популярные инструменты вроде Github и Pastebin помогают привыкнуть к тому, что исходный код хранится не на локальной машине, а на стороннем сервере.

Cloud9

После нескольких минут работы в Cloud9 создаётся впечатление, что попал в рай для программистов. Интерфейс написан на JavaScript, а серверная часть - на NodeJS. Хотя Cloud9 облюбовали разработчики и дизайнеры интерфейсов, поддерживается подсветка синтаксиса C#, C++, Python, Perl, Ruby, Scala и некоторых других языков.

Встроенный режим Vim - приятный штрих, как и поддержка популярных систем контроля версий вроде Git, Mercurial и SVN. Благодаря наличию CSSLint и JSBeautify это одна из красивейших сред разработки.

Codeanywhere

Ещё один инструмент для создания приложений, который часто возглавляет списки лучших - Codeanywhere. Эта дружественная облачная IDE поддерживает подсветку кода HTML, CSS, JavaScript, PHP, MySQL и других языков. Благодаря наличию приложений для iOS, Android и BlackBerry, с помощью Codeanywhere программисты работают где угодно.

Кроме того, Codeanywhere поддерживает Dropbox и SFTP, которые помогают легко создавать резервные копии файлов проекта и обмениваться ими с коллегами. Это не самая полнофункциональная среда, но свою работу выполняет на отлично.

Система платная, но есть бесплатный тарифный план.

Eclipse Che

Eclipse Che - облачное рабочее пространство разработчика и встроенная IDE. Che предоставляет удалённую платформу с открытым исходным кодом для многопользовательского создания приложений.

Основные возможности:

  • рабочие пространства, включающие среды выполнения и IDE,
  • сервер рабочих мест с RESTful веб-сервисами,
  • облачная IDE,
  • плагины для языков, платформы и инструменты,
  • SDK для создания плагинов и сборок.

Eclipse Che имеет две сборки - однопользовательскую и многопользовательскую. В первой нет компонентов, которые предоставляют мультиарендность и разграничение прав доступа. В этом случае сервер остаётся без защиты, но для локальной разработки - это хороший выбор.

Многопользовательская предоставляет мультиарендность. Учётные записи пользователей и рабочие места изолированы, а для регистрации, управления и аутентификации используется механизм KeyCloak . Permissions API регламентируют доступ к объектам вроде пространств, стеков и организаций. Сведения о пользователях хранятся в базе данных, поддерживающей миграцию (PostgreSQL).