В конце января я переключался на Sublime, как основную IDE для Python. Но уже через пару недель я был вынужден вернуться на PyCharm. Последние несколько недель я активно использовал Emacs. Он великолепен. И все-таки для рабочих проектов я снова возвращаюсь к Pycharm.

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

Что не так с PyCharm

Есть несколько причин, почему я периодически пытаюсь сбежать в какой-нибудь другой редактор. В первую очередь, хочется иметь достойный редактор для всех языков программирования. Только в этом режиме я могу "загнать" все свои проекты в одно окружение. Ни PyCharm, ни IntelliJ CE этого обеспечить не способны. Покупать Ultimate для домашних экспериментов смысла не имеет.

Потребление памяти у PyCharm просто ужасно. Связка Pycharm + Vagrant + браузер способны съесть любое количество памяти. Отказаться от вагранта и браузера сложновато.

Что не так с Sublime и Emacs

Sublime Text - хороший редактор. Emacs - великолепный редактор. Писать код в любом из этих редакторов быстрее чем в PyCharm (в Emacs значительно быстрее). Навигация по коду и автодополнение кода и там и там работают вполне сносно.

Основная проблема emacs и в меньшей степени sublime - это новое и не знакомое для команды окружение. Довольно часто нужно спросить что-то у коллег. Им обычно гораздо проще подойти и показать на нужную строку кода. Но в emacs не каждый сможет файл открыть, не то, что бы перейти на нужный участок кода. Поскольку наша команда в полном составе использует PyCharm, то гораздо эффективнее в плане командной работы использовать его же.

Еще одна серьезная проблема и Sublime Text и emacs - практически полное отсутствие рефакторинга. Для маленьких проектов - это не так критично. Для средних вполне хватит rope. Но для больших проектов нужен рефакторинг другого порядка. И он есть только в PyCharm.

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

Так что, окружение остаётся сложным: PyCharm для рабочих проектов, Idea для Kotlin и Java. Emacs - для заметок, персональных проектов и остального сета языков, не таких требовательных к среде разработки (JS, Clojure, Haskell и т.д.)



c