I've never worked on anything that big. Also, even though I do work on big things, I know where everything is. Most of the time I just :tafb /dir/file.py to open a new file in a new tab.
I pretty much have always worked on huge projects my entire career, which is why I've explored tools that handled them more efficiently than my old "vim and couple of xterms" approach. I've also generally been brought on to projects that already had substantial code bases, meaning that I didn't know where everything is when I started and needed some tool to help me suss everything out. Even in cases where my little piece of the project is self-contained and within the same directory (so I do know where everything is, at least for my piece), it often had dependencies on stuff that could be scattered anywhere within my code checkout and where the only documentation is to look at the source.
I guess I've also always worked on open source Linux systems, so everything is made with UNIX in mind. If I'm doing some C# XNA I'll bust out Visual Studio. If I'm developing an iPhone or Android app I'll bust out XCode/Exlipse. Heck, with Arduino I use the default editor they give you.
I guess I've also always worked on open source Linux systems, so everything is made with UNIX in mind. If I'm doing some C# XNA I'll bust out Visual Studio. If I'm developing an iPhone or Android app I'll bust out XCode/Exlipse. Heck, with Arduino I use the default editor they give you.
I've also always worked (with a couple of exceptions) on open source Linux systems (okay, I spent some time on Solaris, but that's also Unix). Tools like ctags and cscope were originally written for those systems as source trees got larger and larger. They also work, but they don't seem to be quite as elegant as the (admittedly fairly large and bloated) all-in one tools, (at least compared to the aggregate size of gvim, ctags, and cscope together). Then again, I still prefer running command line GDB as opposed to any of the GDB wrapper GUIs...
They also work, but they don't seem to be quite as elegant as the (admittedly fairly large and bloated) all-in one tools, (at least compared to the aggregate size of gvim, ctags, and cscope together). Then again, I still prefer running command line GDB as opposed to any of the GDB wrapper GUIs...
I know abuot cscope and ctags. I've never used them, and I don't foresee ever using them. As for GDB, I'm not a fan. The Visual Studio debugger is actually the best I've ever seen. I really can't tolerate any of the others. Python debugger is ok, but it's not much of a debugger. All it does is interrupt your code and give you a Python shell at that specific spot. Just replaced all your debug print statements with import pdb; pdb.set_trace()
They also work, but they don't seem to be quite as elegant as the (admittedly fairly large and bloated) all-in one tools, (at least compared to the aggregate size of gvim, ctags, and cscope together). Then again, I still prefer running command line GDB as opposed to any of the GDB wrapper GUIs...
I know abuot cscope and ctags. I've never used them, and I don't foresee ever using them. As for GDB, I'm not a fan. The Visual Studio debugger is actually the best I've ever seen. I really can't tolerate any of the others. Python debugger is ok, but it's not much of a debugger. All it does is interrupt your code and give you a Python shell at that specific spot. Just replaced all your debug print statements with import pdb; pdb.set_trace()
The main reason to use cscope and ctags is if you're a C or C++ programmer. Since you're a Python programmer, then yeah, I agree you probably won't need to use them unless you have to start doing C/C++ coding. I also agree that GDB is kinda, well, meh. It's the only one I've got when it comes to C/C++ debugging on Linux, though. I never used the Visual Studio debugger enough to pass judgement on it, but my favorite command line Unix debugger still has to be Sun's dbx.
Good tip there about the Python debugger. I'm going to have to brush up on pdb and pdb.set_trace() -- not that I do much Python programming, but I do some and it may come in handy.
Another issue I have with these IDEs is that their build system is fairly obtuse, I hate having to manage that stuff with some sort of obfuscated GUI. With tools such as Cmake hitting the scene and replacing the horrific system that is Autotools, I have even less of an issue moving away from IDEs.
Another issue I have with these IDEs is that their build system is fairly obtuse, I hate having to manage that stuff with some sort of obfuscated GUI. With tools such as Cmake hitting the scene and replacing the horrific system that is Autotools, I have even less of an issue moving away from IDEs.
That is my #1 complaint with IDEs, especially Visual Studio. I've been in situations where a simple hello world won't run at all. All the code was correct, with no errors. The problem was that some hidden dialog box ten levels deep somewhere had the wrong checkboxes checked. On the command line there's nothing but your code in a text file. It either works or it doesn't.
Another issue I have with these IDEs is that their build system is fairly obtuse, I hate having to manage that stuff with some sort of obfuscated GUI. With tools such as Cmake hitting the scene and replacing the horrific system that is Autotools, I have even less of an issue moving away from IDEs.
That is my #1 complaint with IDEs, especially Visual Studio. I've been in situations where a simple hello world won't run at all. All the code was correct, with no errors. The problem was that some hidden dialog box ten levels deep somewhere had the wrong checkboxes checked. On the command line there's nothing but your code in a text file. It either works or it doesn't.
That's one thing I like about QtCreator. You can use its own auto-generated project files for builds, or you can use whatever build system you want and just have it as a code editor/browser. I have yet to use QtCreator's project files and always use our own build system (ant for C++ -- don't ask). It's even nice enough to execute Make or Ant or whatever for you and parse the output w/o complaint. Although, I think its native project format is CMake-based.
Another issue I have with these IDEs is that their build system is fairly obtuse, I hate having to manage that stuff with some sort of obfuscated GUI. With tools such as Cmake hitting the scene and replacing the horrific system that is Autotools, I have even less of an issue moving away from IDEs.
That is my #1 complaint with IDEs, especially Visual Studio. I've been in situations where a simple hello world won't run at all. All the code was correct, with no errors. The problem was that some hidden dialog box ten levels deep somewhere had the wrong checkboxes checked. On the command line there's nothing but your code in a text file. It either works or it doesn't.
That's one thing I like about QtCreator. You can use its own auto-generated project files for builds, or you can use whatever build system you want and just have it as a code editor/browser. I have yet to use QtCreator's project files and always use our own build system (ant for C++ -- don't ask). It's even nice enough to execute Make or Ant or whatever for you and parse the output w/o complaint. Although, I think its native project format is CMake-based.
Yeah, I know many IDEs don't have the problem. It's mostly just Visual Studio and Eclipse I have had these kinds of troubles with.
That's one thing I like about QtCreator. You can use its own auto-generated project files for builds, or you can use whatever build system you want and just have it as a code editor/browser. I have yet to use QtCreator's project files and always use our own build system (ant for C++ -- don't ask). It's even nice enough to execute Make or Ant or whatever for you and parse the output w/o complaint. Although, I think its native project format is CMake-based.
Yeah, I know many IDEs don't have the problem. It's mostly just Visual Studio and Eclipse I have had these kinds of troubles with.
And that there is one reason why I can't stand Eclipse. Even NetBeans's C/C++ mode (which I used before I discovered QtCreator) lets you use your own Makefile (though it has issues with non-Make based build systems -- but a dummy Makefile lets you easily get around that).
I don't know if it's just that my teammates don't know how to set up NetBeans projects or what, but I have never had a good time with NetBeans. It feels clunky and Eclipse works much better.
But I don't like Eclipse either. It does too many things that it shouldn't. It turns warnings into errors, like unreachable code, and use of certain classes. It replaces compile errors with runtime exceptions. The compiler sometimes produces much slower code than JavaC.
I still use Eclipse because I haven't gotten a proper system for importing classes in Vim and otherwise it's a pain, but writing this post has gotten me to google it and now I'll probably set it up.
Are IDE's worthwhile for low level work, like things in a highschool Java class, or should I just stick with Notepad++?
There is no reason to bother with any complicated shit - let alone something along the lines of eclipse - when all you are doing is simple programming. The only missing feature I can think about is a debugger, but using print statements is an easy way around this. I say this having dealt with multi class java programs, java programs with classes inside of classes, up to the point where I created a multi user chat system with a client and a server as well as threading. Do not overcomplicate your workspace until you're at the point where you truly need all the bloatware provided by IDE's. At the very most, get yourself a simple IDE. Stay away from eclipse. Eclipse is a fiend. Eclipse will murder you in the middle of the night.
I don't know if it's just that my teammates don't know how to set up NetBeans projects or what, but I have never had a good time with NetBeans. It feels clunky and Eclipse works much better.
But I don't like Eclipse either. It does too many things that it shouldn't. It turns warnings into errors, like unreachable code, and use of certain classes. It replaces compile errors with runtime exceptions. The compiler sometimes produces much slower code than JavaC.
I still use Eclipse because I haven't gotten a proper system for importing classes in Vim and otherwise it's a pain, but writing this post has gotten me to google it and now I'll probably set it up.
Eclipse uses its own compiler? I thought it wrapped around javac. Odd.
It's funny that you also felt Netbeans was clunky and worked worse than Eclipse. I've actually had the exact opposite feeling.
Comments
Good tip there about the Python debugger. I'm going to have to brush up on pdb and pdb.set_trace() -- not that I do much Python programming, but I do some and it may come in handy.
But I don't like Eclipse either. It does too many things that it shouldn't. It turns warnings into errors, like unreachable code, and use of certain classes. It replaces compile errors with runtime exceptions. The compiler sometimes produces much slower code than JavaC.
I still use Eclipse because I haven't gotten a proper system for importing classes in Vim and otherwise it's a pain, but writing this post has gotten me to google it and now I'll probably set it up.
It's funny that you also felt Netbeans was clunky and worked worse than Eclipse. I've actually had the exact opposite feeling.