Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Как писать на Python'е после Java?


Автор: Skynin 26.7.2011, 11:03
Здравствуйте!

Осваиваю Python, и взялся за написание одного своего долгостроя на wxPython.

Скорость разработки на динамическом ЯП у малых коллективов\проектов потому что выше.

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

Доки по Python хватает, и вполне хорошей (по тому же wxPython есть даже целых 2 книги вполне толковых).

Но вопрос, может это PyDev так плох (иногда он умеет), или программисты на Python с опытом запоминают названия классов и методов?
Или есть какой-то другой фокус у программистов на Python?

Автор: Stolzen 26.7.2011, 11:19
Я ставлю iPython и иногда с ним консультируюсь - он умеет автокомплитить. Так тоже использую PyDev. Говорят, что в PyCharm с автокомплитом дело лучше, но лично не щупал эту ide - денег стоит. 

Автор: av0000 26.7.2011, 13:17
У ActiveState Komodo Edit (или платной Komodo IDE) есть автокомплит и, что особо приятно, интроспекция - подсказки будут даже по тем функциям, что не входят в стандартные библиотеки. Кроме того, выдаются подсказки по импорту - ну оч-чень приятно smile набрать 'from ' и получить список модулей...

Автор: Absinthe 15.8.2011, 18:55
Цитата

может это PyDev так плох
 Да, плох.
Есть PyCharm, единственная более-менее адекватная IDE для Python(имхо).

Цитата

но лично не щупал эту ide - денег стоит. 
 Для опенсурс проектов не стоит.

Но нормальных поноценных IDE не появится под питон 100%. Слишком динамики много.

Автор: Dagger 17.8.2011, 17:43
Более-менее нормальная и не эклипсоподобная - это Sublime Text 2, PyCharm несколько перегружен

Автор: Absinthe 17.8.2011, 18:39
Цитата

PyCharm несколько перегружен
 То, что некоторые считают перегруженностью, другие считают полезным функционалом.
Что кажется в нем лишним?
Я полгода использую сабж, очень доволен, по сравнению с этой IDE все остальные редакторы(язык не поворачивается назвать их IDE) кажутся такими лысыми...

Автор: bilbobagginz 17.8.2011, 21:58
Absinthe, 
+1
правда есть несколько нареканий (напр. с 1.5.2 убрали поддержку старой версии JIRA)

Автор: Dagger 18.8.2011, 10:06
> То, что некоторые считают перегруженностью, другие считают полезным функционалом.

я же упомянул, что не-эклипсоподобными.

Если бы все было так, как вы  говорите (это "более мене" нормальная IDE и "полезный функционал"), не было бы 80% разработчиков Python, которые работают в vim или emacs. К слову оба, и vim, и emacs, умеют существенно больше PyCharm так что если уж говорить о "нормальных" IDE, то о них стоит упомянуть тоже.

Sublime где-то между текстовым редактором и IDE, при этом он умеет все что важно в IDE. А если чего-то не умеет, его ну очень легко научить, написав плагин на питоне.

Автор: bilbobagginz 3.9.2011, 01:37
Цитата(Dagger @  18.8.2011,  09:06 Найти цитируемый пост)
Если бы все было так, как вы  говорите (это "более мене" нормальная IDE и "полезный функционал"), не было бы 80% разработчиков Python, которые работают в vim или emacs. К слову оба, и vim, и emacs, умеют существенно больше PyCharm так что если уж говорить о "нормальных" IDE, то о них стоит упомянуть тоже.

это троллизм.

Большинство пользователей python/ruby - не программисты с проектами на десятки модулей и классов, а системные администраторы. И у них мозг повернут на покупку железок, а не ПО для программирования своих скриптов. Вот, им-то вим/имакс и хватает.

под PyCharm есть http://plugins.intellij.net/plugin/?pycharm&id=164 работы в редакторе в стиле vim)

Кстати, если уж мы троллим:
А чего ДЕЛЬНОГО умеет имакс (или делает удобнее) но не умеет pycharm ?




Автор: Absinthe 3.9.2011, 11:04
Цитата

при этом он умеет все что важно в IDE. 
 Не верю.

Цитата

А если чего-то не умеет, его ну очень легко научить, написав плагин на питоне.
 И кто будет мне писать недостающие плагины?

Цитата

Если бы все было так, как вы  говорите (это "более мене" нормальная IDE и "полезный функционал"), не было бы 80% разработчиков Python, которые работают в vim или emacs. 
 Не верю. Я посмотрел скриншоты рабочих мест питон-программистов - у большинства PyCharm. Кстати удивило, что у большинства он под маком smile
Хотя это не странно, учитывая, что под линуксом так и не допилили внешний вид свинга.

Автор: Dagger 3.9.2011, 14:59
@Absinthe

Цитата

И кто будет мне писать недостающие плагины?


Есть plugin directory, чего нет - делаешь сам.

Цитата
Не верю. Я посмотрел скриншоты рабочих мест питон-программистов - у большинства PyCharm. Кстати удивило, что у большинства он под маком. Хотя это не странно, учитывая, что под линуксом так и не допилили внешний вид свинга. 


Где посмотрел скриншоты? Большинство python разработчиков пользуется VIM, за ним - emacs. Все остальные - далеко. И под маком не большинство разработчиков, а около 30%. Больше всего - под линуксом.

Да, для тех кто тут заметил троллизм - если я не привожу ссылок, это не значит что их нет.

https://chart.googleapis.com/chart?cht=bhs&chs=345x420&chbh=24%2C6&chco=9999f3%7C6666ec%7C4040e8%7C3333e6%7C7373ee%7C4d4de9%7C0d0de2%7C8c8cf1%7C2626e5%7C0000e0%7C8080f0%7C5959eb%7C1a1ae3&chxt=x%2Cy&chxl=0%3A%7C0%7C272%7C544%7C816%7C1088%7C1360%7C1%3A%7CSublime%20Text%7CTextMate%7CCoda%7CUltraEdit%7CTextpad%7CNotepad%2B%2B%7CBluefish%7CKate%7CjEdit%7CGeany%7CgEdit%7CEMACS%7CVIM&chxs=0%2C000000%2C12%2C0%2Clt%7C1%2C000000%2C12%2C1%2Clt&chds=0%2C1360&chd=t%3A1360%2C608%2C307%2C66%2C47%2C54%2C12%2C682%2C77%2C54%2C74%2C510%2C4


@bilbobagginz

Цитата
это троллизм.


Цитата
Большинство пользователей python/ruby - не программисты с проектами на десятки модулей и классов, а системные администраторы. И у них мозг повернут на покупку железок, а не ПО для программирования своих скриптов. Вот, им-то вим/имакс и хватает.


Мы на форуме программистов, не? У всех, кто программирует больше пары лет на Python главная задача - чтобы IDE делала то, что тебе надо и при необходимости чтобы ее можно было вменяемо быстро научить тому, чего тебе не хватает. Во всех компаниях, в которых я работал регулярно в рассылках народ делится настройками для vim/emacs.

Цитата
под PyCharm есть плагин работы в редакторе в стиле vim)


под Sublime Text тоже есть режим Vim, мы же не про режимы говорим.

Цитата
Кстати, если уж мы троллим:
А чего ДЕЛЬНОГО умеет имакс (или делает удобнее) но не умеет pycharm ?


я не пользователь emacs. Но это факт, что: а) emacs умеет как минимум то же, что и pycharm, б) emacs можно научить практически чему угодно. При этом PyCharm надо учить долго и подр.. с нежностью относясь к Java.

http://www.enigmacurry.com/2008/05/09/emacs-as-a-powerful-python-ide/, вот коротко что пришло в голову:
  •  pep8/pylint/pyflakes, хайлайт ошибок
  •  introspection с автодополнением
  •  pdb etc.
  •  django templates
  •  xhtml/html/css + ZEN coding
  •  text mate like snippets

Автор: bilbobagginz 3.9.2011, 23:59
по существу:
  • http://www.jetbrains.com/pycharm/features/ конкретнее, там надо просто парсер указать, можно несколько парсеров использовать.
  • http://www.jetbrains.com/pycharm/features/ это конечно же работает smile причем автоматом.
  • http://www.jetbrains.com/pycharm/features/ (кхм кхм. это даже ipython умеет smile )
  • http://www.jetbrains.com/pycharm/webhelp/debugging.html ... 
  • http://www.jetbrains.com/pycharm/webhelp/working-with-django-templates.html ...
  • http://www.jetbrains.com/pycharm/webhelp/zen-coding-support.html ...
  • text mate like http://www.jetbrains.com/pycharm/features/...
А теперь: можно список того, что пайчарм НЕ умеет ?

Добавлено через 8 минут и 4 секунды
Цитата(Dagger @  3.9.2011,  13:59 Найти цитируемый пост)
я не пользователь emacs. Но это факт, что: а) emacs умеет как минимум то же, что и pycharm, б) emacs можно научить практически чему угодно. При этом PyCharm надо учить долго и подр.. с нежностью относясь к Java.

если в наличии способности компа работать быстро (читаем: фирма, которая не жадничает на девелоперские рабочие тачки), то джавость не будет тебе мешать. С т.з. памяти - уходит около 300-400 МБ (сколько настроишь) на джаву, и столько же на  др. нужды.
но я до сих пор так и не понял что там трудно научить пайчарм... пока все что нужно было мне он умел "из коробки".




Автор: Absinthe 4.9.2011, 16:33
Цитата

чего нет - делаешь сам.
 Не делаю, т.к. мне за это не платят.
Так что тут ты не прав.

Цитата

Где посмотрел скриншоты?
 У работающих коллег.

Цитата

Но это факт, что: а) emacs умеет как минимум то же, что и pycharm
 Давай я напишу, что мне необходимо в IDE(причем без специфичных вещей), а ты скажешь, чем это делается в vim.

Цитата

Python Editors Chart
 Жестокое тролево, по этой диаграмме 50% не используют IDE(тут я посчитал вим и емакс за IDE), так что ни о какой серьезной разработке идти речи не может, так - баловство максимум на 5k строк. Поэтому считаю данную выборку непрезентативной.
Я говорил про программистов, а тут все подряд включая скриптописателей к играм и прочих админов(исходя из инструментов).

Автор: Dagger 5.9.2011, 00:18
@bilbobagginz

Цитата

А теперь: можно список того, что пайчарм НЕ умеет ?


сори, оригинальный вопрос невнимательно дочитал. 

Ок, тут список того что (было) неудобно или чего не было вообще:
  •  поддержка coverage.py - sorry, бабушка, но это несерьезно
  •  такой вот баг - редактируешь файл в pycharm, он меняется где-то еще (напр. git pull, я пользуюсь гитом из терминала), открываешь пайшарм - а там старый файл. Mac os x 10.5.x
  •  время-от времени не видит функции внутри декоратора
  •  он не увидел мой makefile, а я использую много удобных/полезных шортактов/таргетов, специфичных для моего проекта
  •  очень не хватало текстмейтовского ToolTip Window чтобы результаты отображать в контексте запуска команды и возле курсора (ну это правда не аргумент, но все равно такой фишки все еще нет - в текстмейте вообще ничего для этого делать ненадо, в sublime надо немного пописать питоновского кода чтобы это реализовать)


@Absinthe
Цитата

 Не делаю, т.к. мне за это не платят.
Так что тут ты не прав.


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

Цитата

 У работающих коллег.


Это булшит, а не аргумент. Скажи хотя-бы сколько коллег.

Цитата

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


давай


Цитата

Жестокое тролево, по этой диаграмме 50% не используют IDE(тут я посчитал вим и емакс за IDE), так что ни о какой серьезной разработке идти речи не может, так - баловство максимум на 5k строк. Поэтому считаю данную выборку непрезентативной.
Я говорил про программистов, а тут все подряд включая скриптописателей к играм и прочих админов(исходя из инструментов).


По этой схеме очевидно, что ~30% опрошеных сидят на Notepad++ & TextMate - это почти одно и то же для разных платформ (Windows only & Mac only), 30% - на vim и ~30% делят emacs & gedit.

С 80% на vim и emacs я, очевидно, загнул, да.

Цитата

что ни о какой серьезной разработке идти речи не может


Может *для тебя* речи идти и не может. Вот я не понимаю, с чего ты взял, что все *серьезные* разработки, в *серьезных* компаниях, для *серьезных* клиентов никак не писать без IDE и вообще IDE есть чаще, чем ее нет?

А я работаю, зарплату платят, а без IDE ничего серьезного-то и написать нельзя

Как вариант, могу предложить стандартную писькомерку - кем кто работает, сколько лет опыта, какие проекты делали. 

Автор: Daevaorn 5.9.2011, 00:29
Dagger, не корми тролля.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)