В IDE или нет? Дилемма начинающего разработчика
По сути, я и мой друг только планируем работать над проектом Python, который будет иметь интерфейс с графическим интерфейсом, а также разрешить передачу файлов и удаленный просмотр файлов. У нас есть большинство инструментов, которые мы собираемся использовать, Glade, Python и так далее.
Я просто хочу знать, должен ли я использовать IDE или нет.
Я слышал только хорошие новости об Anjuta, но не уверен в ее поддержке Python; хотите прокомментировать?
А также есть ли другие хорошие IDE, которые я должен проверить?
В настоящее время я просто планирую писать как обычно в vim.
15 ответов
Есть множество IDE, которые вы можете проверить. Посмотрите на PyDev, PIDA, Komodo, Eric.
Лично я не думаю, что IDE так много добавляют к разработке программного обеспечения (в таком масштабе и на этом языке). В Python есть прекрасные инструменты для внешней отладки, и с программой такого размера рефакторинг не так сложен.
Вы используете или хотите использовать какие-либо функции, которые вам не хватает в вашем текущем редакторе? Если это так, выберите другой вариант, придерживайтесь того, что вам нравится больше всего.
Пока у него есть интеграция контроля версий, у вас все будет хорошо.
Возможность отладки с помощью IDE делает вашу жизнь намного проще.
Python является особенно странным языком в том смысле, что наличие полноценной IDE на самом деле не добавляет много (и некоторые утверждают, что IDE имеет тенденцию серьезно ограничивать ваш поток мышления в Python). Я использовал обычные Vim и Gedit для разработки на Python и никогда не пропускал использование IDE.
Текстовые редакторы, такие как Vim или Emacs, могут быть настроены достаточно гибко, чтобы соответствовать мощности IDE, поэтому не имеет значения, каким путем вы идете.
С точки зрения использования IDE или нет, это не имеет значения. Я предпочитаю использовать IDE, так как мне нравится, когда инструменты, которые мне нужны, собраны в один красивый, аккуратный пакет, который может обрабатывать все мои разработки. Тем не менее, использование текстового редактора так же хорошо, особенно такие мощные и расширяемые, как vi(m) и (x)emacs. Однако настоящими причинами использования IDE являются завершение кода, управление отступами, свертывание кода, поддержка рефакторинга и отладка.
Если вы хотите проверить другие IDE для разработки на Python, я бы посоветовал также взглянуть на NetBeans и Eclipse с соответствующими плагинами. Лично я предпочитаю NetBeans, так как у меня есть ощущение, что PyDev будет спускаться с тех пор, как Aptana купила их (ранее они разрушили RadRails, который является плагином Eclipse для разработки Ruby on Rails), и не хочу привыкать к инструмент, который не может быть полезным в долгосрочной перспективе.
Лично я больше всего пишу код на Python в Vim, но время от времени мне хочется использовать full-IDE, и в то время я использую Eclipse с Pydev.
Это зависит от ваших собственных предпочтений, некоторые люди абсолютно любят Vim и больше ничего не будут использовать. Другие просто не могут работать без IDE.
Вот список:
- Python IDE: http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
- Редакторы Python: http://wiki.python.org/moin/PythonEditors
Я кодирую в Vim для Python. Если вы хотите использовать IDE, я бы порекомендовал IntelliJ's PyCharm. Я использую vim, потому что фактическое редактирование намного лучше, и если вы опытный пользователь, очень мало того, что вы не сможете сделать легко.
PyCharm предоставляет помощь с API, предоставляя завершение и помогает с базовым рефакторингом. Эти преимущества, хотя износ быстрее, чем вы ожидаете. Я использую grep и vim regex для рефакторинга - это немного больше работы, чем pycharm, но если вы можете управлять этим, то преимущества vim явно перевешивают использование ide.
Я предполагаю, что вы разрабатываете в среде * nix, если вы используете Windows, то я бы порекомендовал использовать Ide.
В отличие от некоторых других ребят, я думаю, что IDE вносит большой вклад в разработку программного обеспечения, даже для языка с динамической типизацией, такого как Python, что усложняет статический анализ.
Мой предпочтительный IDE для разработки на Python - Eclipse с PyDev. До этого я кодировал в Notepad++, который не сильно отличается от редактора PyDev с точки зрения возможностей. PyDev имеет несколько замечательных функций, которые вы не найдете в "нормальном" редакторе:
- Он показывает предупреждения и синтаксические ошибки (почти) в режиме реального времени. Текстовый редактор не скажет мне о опечатках, но PyDev делает. В качестве другого примера, неразрешенные операции импорта или неопределенные функции (например, из-за опечатки) помечаются как предупреждения / ошибки. И есть много других распространенных ошибок, которые автоматически обнаруживаются, и PyDev может быть интегрирован с Pylint, так что предупреждения и ошибки от Pylint отображаются в редакторе с обычными значками.
- Автозаполнение по самоанализу
- Схема текущего модуля и его классов
Кроме того, сам Eclipse отлично подходит для любого проекта программирования. Мне особенно нравится полностью интегрированный интерфейс - проводник проекта, редактор, схема, консоль, обзор проблем, конфигурации запуска и так далее. Я полагаю, что при использовании Vim, Emacs или аналогичных программ вам придется установить множество плагинов или пользовательских сценариев, чтобы добиться того же.
Как вы сказали, что хотите сделать проект, я думаю, что Eclipse - хороший выбор. Для быстрого взлома маленького скрипта на Python, конечно, это излишне.
С Java я бы сказал, что нет IDE для начинающих, потому что вы должны сначала понять CLASSPATH.
С Python я бы сказал PyCharm от JetBrains. IntelliJ - лучшая Java IDE; PyCharm доставляет удовольствие моему Python.
ИМХО, не использовать IDE для разработки - все равно что использовать пишущую машинку для написания романа. Никто не говорил, что ты не можешь, но почему ты должен так стараться, когда у тебя уже есть ноутбук?
Два способа подойти к этому:
Используйте то, к чему вы привыкли. Если вы использовали редактор в прошлом и знаете его причуды, придерживайтесь его. Вы будете тратить меньше времени на изучение того, как работать с инструментом, и тратить больше времени на реальный проект.
Используйте что-то новое. Анюта, Вим, что угодно, пока ты не провел с ней слишком много времени. Вы изучите много вещей помимо вашего реального проекта, но сам проект не будет выполнен так быстро, как мог бы.
Лично я предпочитаю 2. Всегда узнавать что-то новое, если это не время кризиса и это должно быть сделано к пятнице. IDE может помочь вам очень сильно, но когда вы все еще находитесь на этапе обучения, чем больше времени вы тратите на код, тем лучше.
Я не программист на Python, но я предпочитаю не использовать IDE.
Причина этого в том, что я нахожу, что IDE часто бывают большими и делают для меня слишком много, тогда как использование Notepad++ и командной строки позволяет мне урезать вещи в соответствии с моими потребностями, а не в окружении функций, которые я не использую. Это позволяет мне учиться легче, потому что у меня больше контроля над тем, что происходит.
Если вы только начнете изучать стек python / glade / gtk, я бы сказал, что вам следует начать без IDE, просто чтобы узнать, как он работает внутри. Это поможет вам позже, когда ваш код будет больше и сложнее.
Тем не менее, хорошая IDE помогает во многих отношениях, которые я бы не рекомендовал использовать в долгосрочной перспективе. Эта статья может помочь вам решить, нужно ли вам это: http://infoworld.com/d/developer-world/infoworld-review-nine-fine-python-development-tools-374
Это лошади для курсов, лично я намного счастливее с одноклассником или vim и хорошей чашкой кофе, но это то, что вам удобнее.
Нет ничего постыдного в использовании IDE, если это то, что делает вашу идею наиболее доступной для широких масс, тогда используйте все, что захотите.
однако, начав, я бы предпочел что-то с intellisense, так как оно научит вас основам при вводе текста, даст ему год, и вы станете мастером в этом.
Я обнаружил, что использование IDE значительно повышает производительность моего кода Python. В частности, использование wingide делает программирование на python приятным. В нем есть все обычные вещи, которые вы ожидаете (подсветка синтаксиса, автозаполнение и т. Д.), Но функциями-убийцами являются отладчик и тест отладки.
Эти две функции стоят стоимости программы. Это позволяет вам увидеть текущее состояние приложения и опробовать операторы python в реальном времени в точках останова. Я считаю это особенно полезным для изучения текущего состояния и опробования некоторого кода, чтобы увидеть, будет ли он работать. Я часто пишу некоторые хитрые фрагменты кода в реальном времени отладки, и они копируют их в мое приложение. Очень хорошо.