4 ms·
Personally I try to work as little with VMs as makes sense, they usually just make everything a bit harder and convoluted ("even" with Vagrant which, so far, ha
by throwawayish 10y ago
Personally I try to work as little with VMs as makes sense, they usually just make everything a bit harder and convoluted ("even" with Vagrant which, so far, has been a constant maintenance burden in all projects were I witnessed it's application, especially so if it's not only for Linux).
My experiences with docker range from disastrous to annoying; I try to just not use it. It's not installed on any of my systems. If I have to use it, I do that in a VM.
(I developed for some eight years on Windows, mostly C/C++, but last two years a lot of Python. At the time I wasn't aware of PyCharm, so Sublime Text "is also an editor" it was, but obviously just an editor; for development PyCharm is infinitely superior.)
- wtvanhest 10y agoHey, 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.