В 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.

Вот список:

Я кодирую в 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 для разработки - все равно что использовать пишущую машинку для написания романа. Никто не говорил, что ты не можешь, но почему ты должен так стараться, когда у тебя уже есть ноутбук?

Два способа подойти к этому:

  1. Используйте то, к чему вы привыкли. Если вы использовали редактор в прошлом и знаете его причуды, придерживайтесь его. Вы будете тратить меньше времени на изучение того, как работать с инструментом, и тратить больше времени на реальный проект.

  2. Используйте что-то новое. Анюта, Вим, что угодно, пока ты не провел с ней слишком много времени. Вы изучите много вещей помимо вашего реального проекта, но сам проект не будет выполнен так быстро, как мог бы.

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

Не изучайте кодирование с 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 в реальном времени в точках останова. Я считаю это особенно полезным для изучения текущего состояния и опробования некоторого кода, чтобы увидеть, будет ли он работать. Я часто пишу некоторые хитрые фрагменты кода в реальном времени отладки, и они копируют их в мое приложение. Очень хорошо.

Другие вопросы по тегам