3 ms·
Hey, so I understand PyCharm is an editor, but what other functionality does it have that Sublime Text doesn't? I guess what I am asking is... what does everyo
by wtvanhest 10y ago
Hey, so I understand PyCharm is an editor, but what other functionality does it have that Sublime Text doesn't?
I guess what I am asking is... what does everyone use for their DevOps stack (if that makes sense?)
Right now I am using:
CMD/bash
vitualenv
Sublime text
Ruby
Django
I haven't installed a database yet, but was going to use Postgres.
The way I understand Pycharm, I could use it to replace Sublime text and CMD/Bash right?
- toyg 10y agoDebugger, remote REPL, virtualenv and git integration and management, database interface (also for redis/mongo etc), unit test configurations and integrated runners, auto-linting, deployment tools and of course intelligent autocomplete... in the last EAP apparently they are introducing semantic coloring, which is going to be very fun.
- theptip 10y agoAll good points... just to add, PyCharm has a type hinting system (which informed the 3.5 Type Hints design), which knows the expected types for stdlib functions, and can be taught the types of user-defined function arguments. It'll then warn you if it thinks you are passing the wrong type of argument to a function. Obviously not infallible, but it catches time-wasters not infrequently.
- michwill 10y agoPython doesn't force you to use IDEs. There are good command-line tools (and editors such as sublime, vim and emacs can jump to definitions etc). There are "IDE guys" and "text editor guys". You can just determine who you are and be productive there! Best text editors are sublime, vim, emacs; Best IDE is probably PyCharm. It's much less of a choice when you code in Java for example: way better to use IDEs.
- throwawayish 10y agoPyCharm mostly brings IDE features to the table: context-dependent auto completion, far better navigation, static analysis ("that thing doesn't seem to have this method"), refactoring (for Python mostly moving and renaming; the refactoring engine of IDEA for Java is probably the most advanced on this planet... it's ridiculously good). Also, being built on the IDEA platform PyCharm has superb support for language injections, eg. CSS in HTML in a template language is not a problem and handled correctly (highlighting, completion, annotation etc.). Another advantage is that the IDEA IDEs are all very similar in general usage, so if one is also working with another IDEA IDE (for me that's mainly Java and CLion) then no time learning a whole different set of shortcuts or something like that is lost. I couldn't replace a shell with an IDE, but they do have tasks and stuff like that, might be good enough. Regarding database, when you're using the ORM it does matter far less for development; I almost always just use SQLite. Some projects do require advanced features of postgres, and would not work with SQLite. In those cases I just start a postgres instance ad-hoc.