От автора: мало кто знает, но для Python существует специально разработанная IDE. Кто-то считает ее идеальным изобретением, кто-то – что универсальная среда разработки, вроде Visual Studio, имеет больше возможностей и перспектив для развития. Как бы там ни было, популярность в узких кругах Ninja-IDE Python уже получила. А значит, есть повод для того, чтобы рассказать о среде разработки, которая претендует на звание лучшего выбора для «питона».
IDE в свободном доступе
Ninja – это среда разработки, созданная для написания кода на python 3 и других его спецификациях. Команда энтузиастов из Аргентины создала IDE, вдохновившись значительно более массивными аналогами – популярными средами, которые много весят, много умеют и стоят на машинах всех профессиональных разработчиков. Что же отличает это программное обеспечение от тысяч других известных и андеграундных редакторов кода с широким функционалом?
На самом деле, много всего. Но сейчас сконцентрируемся на том, что Ninja – полностью бесплатное ПО. Она не имеет условного фримиума, как Sublime Text, который постоянно просит вас внести средства. Также, не прервет работу, лишь потому, что у него истек период оплаты подписки. Он не рассчитан на то, что за него когда-то будут платить (хотя, возможно и такое :)).
Программа разработана под лицензией GNU General Public License. Это значит, что разработка подарена обществу. Каждый может взять и скачать Ninja IDE и делать с программой все, что он считает нужным. Вы можете использовать ее в школах, на предприятиях, в больших и малых компаниях и абсолютно ничего за это не платить. Это не значит, что прямо сейчас можно взять эту бесплатную IDE и на ее основе создать продукт для продажи. Файлы, которые подписаны с помощью лицензии GNU General Public License, должны быть доступны для общества на безоплатной основе. Подобный скандал возникал с компанией Microsoft: они распространяли файлы с закрытым кодом, которые были подписаны GNU GPL.
Как мы и сказали, это полностью бесплатная среда разработки для Python. Но не менее важным аспектом является то, что ее исходный код открыт. Нередко компании, стараясь защитить свою интеллектуальную собственность, стремятся скрыть исходники от пользователей. Но разработчики считают, что гибкая и открытая версия среды разработки сможет помочь программистам персонализировать IDE, не прибегая к установке плагинов и использования сторонних редакторов. Скачать и ознакомится с кодом, который составляет Ninja, можно на Github.
На Python для Python
Перед разработчиками стояла задача: создать среду разработки максимально адаптированную для нужд Python-разработчика. Существующие на тот момент редакторы были просто блокнотами с дополнительными функциями, а полноценная среда разработки весила слишком много, чтобы называть себя гибкой и универсальной. Добавлял неудобства и объем аналогичного программного обеспечения: не каждый компьютер хорошо справлялся с такими гигантами, как Atom или Visual Studio. Ну, а пресловутая мультифункциональность Vim полностью перечеркивалась сложностью работы с программой.
Поэтому, сообществом Python-разработчиков была разработана IDE, написанная на Python. Конечно, этот язык намного медленней, чем статические собратья, вроде Java и C++. Первому языку Python еще и уступает в кроссплатформенности. Но ведь среда создана для тех, кто уже пишет на питоне. Как только такой программист решит расширить функционал программы, или найдет ошибку в первоначальном коде, он сможет внести те изменения, которые посчитает нужными. А если захочет вернутся к исходной версии, то просто скачает программу на Github.
PEP на связи
Крутой «фишкой», которая была внедрена среди возможностей Ninja IDE, является полная интеграция PEP8 online checker. Это один из лучших валидаторов кода, созданный инициативно Валентином Брюхановым – Python-разработчиком. В онлайне есть веб-версия, где написанную программу можно вставить в поле и получить результат. Но создатели Ninja IDE использовали код PEP, который размещен на Github, и сделали его одним из инструментов поиска ошибок. Кстати, PEP не только определяет неработающий код, он также дает советы о размещении отступов для удобочитаемости.
В Ninja IDE присутствует еще один способ поиска ошибок. Строки в текстовом поле подсвечиваются разными цветами. Если в коде ошибка – он подсвечивается ярко красным. Но это гораздо менее чувствительный инструмент, он обнаруживает только те ошибки, которые выводят из строя программу.
С плагинами – для чего угодно
Одним из аргументов против использования Ninja IDE является то, что он создан исключительно для работы с кодом Python 3 и более ранних версий. И правда, «чистая» среда не имеет никаких инструментов для взаимодействия с другими языками. Конечно вы можете прописывать даже HTML, но относительно него Ninja будет не более чем текстовым редактором – никакой адаптации, подсвечивания и выполнения.
Согласитесь, соло-разработка на одном только Python 3 – довольно редкое явление. Программисту необходимо взаимодействовать и с другими языками, скажем с Ruby. Многие на этом этапе отказываются от свободной IDE. Преимущество Ninja в том, что это IDE не отягощенная функционалом. Ей всегда можно подсоединить плагин, который адаптирует среду для работы с предпочитаемым языком. К тому же, плагин можно написать самостоятельно на Python.
Основная цель – игры с кодом
Несмотря на всю свою прогрессивность и большое сообщество почитателей, Ninja IDE все еще выглядит сырой. Ей не хватает богатого и яркого функционала, который заставил бы новичков отдать предпочтение именно ей. Не говоря уже о том, чтобы «динозавры» перешли с Visual Studio на open-source. Среда разработки до сих пор не дает чувства комфорта. Тем более, по возможностям она отстает от некоторых текстовых редакторов, уже не говоря о IDE.
Но ведь исходная функциональность и не являлась целью аргентинских энтузиастов. Они хотели разработать среду, которую каждый мог бы переписать под себя. Тот, кто пишет на Python – знает его. Расширить возможность такой «болванки» ему не составит труда. К тому же, большое сообщество разработчиков на Python постоянно выпускают новые плагины для Ninja, так что есть с чего выбрать.
На Github каждый участник может создать «форк» проекта и развивать его в своем направлении. На основе форк-разработок, как правило, получается топовое программное обеспечение. Благодаря такому делению open-source ПО, мир увидел, как из OpenOffice появилось два новых программных пакета: Libre и Apache.
На этом у нас все о Ninja. Помните, лучший способ узнать программу – это испытать ее в действии. Если вы пишите на Python – обязательно стоит попробовать.