4 ms·
I want to believe. I suspect that hacking at large codebases with emacs/vim isn't the way we're going to build complex codebases over the next few decades. But
by Myrmornis 13y ago
I want to believe. I suspect that hacking at large codebases with emacs/vim isn't the way we're going to build complex codebases over the next few decades. But I downloaded the free trial and got out of there after about 5 minutes and went back to shell + emacs. I just can't see how I'd ever really be in control with this complex layer between me and the actual python/django processes executing on my laptop. Without meaning to be gratuitously insulting (but being insulting) I do think IDEs like this make sense for code monkeys in large organizations. But for someone whose job involves actually writing the infrastructure of their django project (as opposed to relying on another department), I'm still not seeing it.
- codex 13y agoCan you elaborate? How do you feel PyCharm removes control? Does it setup your environment in a way which prevents customization?
- JanezStupar 13y agoIt doesn't. It doesn't do anything to your project. It does offer awesome VCS integration features. It does offer a powerful debugger. And it gives you an JavaScript IDE that doesn't suck. VIM just cant handle modern JS code. PyCharm also gives you PEP8 and JSLint support. And its intelligent autocomplete is awesome and makes programming in dynamically typed languages a breeze. OP just couldn't be bothered to give the product a chance. While he is smugly juggling dozens of shell instances I let the IDE do the work for me. Jetbrains is making the best IDE around.
- Myrmornis 13y agoSmug attack accepted, I deserved that :) I tried to address some points related to your reply in my comment above.
- Myrmornis 13y agoIt's not that it makes things impossible, it's that it inserts a complex layer between me and the stuff I'm working with. That means the set of possible explanations for something not working correctly is expanded. With pycharm, in addition to the inevitable reasons one always has to consider, I additionally have to consider: - I used the pycharm UI incorrectly -- I didn't tell it to do what I intended to tell it to do. - pycharm is not configured for my project correctly - there is a bug in pycharm Testing and debugging software is hard enough; it's best to choose a work environment that minimizes the number of possible explanations for what has gone wrong and that means running `manage.py whatever` directly from a shell. I can see that for certain classes of problems one would be confident that the IDE was working correctly, and you could debug in pycharm with perhaps greater power than using pdb in a shell. But if there's a possibility that the problem is infrastructural -- e.g. with your test runner, or the test invocation -- and not actually in the application code, then you'd want to work with python/django directly, not with a complex GUI application. In the projects I work on, that possibility is always there :)
- skybrian 13y agoYou can use an IDE and still run and test your code from the command line, and this is often a good idea when it's unclear what the IDE is doing. The IDE still serves as a better editor.
- Myrmornis 13y agoYou could. But mastering just one of those interfaces is already quite an overhead.
- skybrian 13y agoWell, if you plan on using the command line then you don't need to learn to run programs in the IDE. You can just learn the other stuff. But there's no doubt about it, learning to use an IDE is an investment. It's not needed for "hello world" but pays off when using complicated API's or refactoring a large application. And nearly all the API's we use these days are complicated; languages that don't have large standard libraries aren't used much. The irony is that people who don't use IDE's spend large amounts of time configuring their text editors. How much of an investment is it to learn vi?
- mateuszf 13y ago"But I downloaded the free trial and got out of there after about 5 minutes" Well, at least you could quit it easily. New user of vim would be a perfect random generator at this moment. I don't believe one can judge a tool one didn't use for longer period of time.
- glogla 13y agoThat depends on the language. Big Java codebases are very hard to develop without good IDE, because good IDE can make a lot of problems with some language go away. With Java, this is mostly about syntax checking and incremental builds, code generation, packaging and suggestion of classes, methods and data types. Python doesn't really have problems similar to Java, so Java-style IDE doesn't seem necessary, while the language design makes some of the best features of Java-style IDEs hard to implement (but my last experience with similar IDEs was few years ago, so that might be fixed problem). Now, the problems with python (concurrency and general slowness) are impossible to fix with IDE, so they might not be necessary. Still, IDEs are _integrated_ and thus allow you to set up development environment quickly and efficiently -- think about what if you moved to different computer, or even to different platform? Your shell scripts might not survive that, but IDE would. And being integrated has other advantages -- yes, any developer can (and should be able to) use git directly from command line. But editor that shows you which lines have changed since last commit, and who edited this part of file and when is useful. You can do that with git from terminal, but just seeing the former in editor, and getting the latter just by moving the mouse to the right spot can be helpful. Of course, lot of the things IDEs do are about team cooperation, and won't really help single developer.