 |
Ye old faithful IDE
Posted by kirillcool on January 18, 2007 at 10:03 AM | Comments (15)
My current work project involves extending an existing application and adding a few new features. All is well and good, but it's written in C++. Well, all is still well, since that has been my primary development from '99 to '02 (in Visual Studio 6). The code is written well, the original developers sit right next to me, C++ is very much like Java (thankfully they didn't use operator overloading), so what's the problem?
Well, it all begins with the build configuration. Since there's no such thing as an Ant build script, you have all these in the project files (.sln and .vcproj). Now, the structure of these files changes between different Visual Studio versions, so if you want to upgrade to Visual Studio 2005, you'll have to upgrade your projects files as well. In this specific case, this is way over my head, since the build portions are very complicated and it would take too much time to port it to VS 2005.
So, i'm stuck with 4-year old IDE. Now, back in the day (VS 6.0), i didn't notice it, but now, coming back from Eclipse / NetBeans / IDEA, this looks like an old relic from The Stone Age. Refactoring? Not yet. Find all uses? Not yet. Set breakpoint on field change? Just follow this sequence of 7-8 steps that involves writing down the field address and typing it later in some obscure screen. And the list goes on. Personally, i came to depend so much on key strokes in Eclipse, that coming back to an IDE that doesn't have the matching functionality is a serious shock.
Now, this is obviously not a VS problem. This would be the same with much earlier versions of Eclipse, NetBeans and JBuilder. It's just that the coding doesn't really flow. If you want to add a new parameter to a method and change all the callers, you have the following options, none of which are very attractive:
- Ctrl+Shift+F (Find in Files) for the method name and hope that no other class defines the same method name. Depending on the soltion size, this takes some time (the results are not cached by IDE).
- Change the .h and .cpp by adding a letter to the method name, build the solution and see all the places that have been broken. Depending on the solution size and build target complexities, this takes even more time.
With this, an extended "Thank You" goes to all Java IDE developers that continue adding new features to their IDEs. It's only when we stop using them, we can fully appreciate their advantages.
Bookmark blog post: del.icio.us Digg DZone Furl Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment
-
That's exactly what I'm thinking when I'm working in Apple's Xcode. Damn do I miss refactoring. And damn, do I hate .h files.
Posted by: gfx on January 18, 2007 at 10:44 AM
-
Thats what I said!
Meanwhile I also dropped from VS2003 to VS6 :(
Fortunately, out beloved Java IDE can also help here.
Posted by: herkules on January 18, 2007 at 12:58 PM
-
Joerg - indeed. Seeing as this was just a momentary non-technical thingie, i didn't bother researching the net to see if somebody has already said the exact same thing before :)
Posted by: kirillcool on January 18, 2007 at 05:09 PM
-
Romain - at least i'm paid to do this. Why would you go to Xcode?
:)
Posted by: kirillcool on January 18, 2007 at 05:10 PM
-
Kirill, Cocoa is very interesting ;-)
Posted by: gfx on January 18, 2007 at 05:30 PM
-
I'd say so, judging by the quality of applications written in it. Way too little free time (and the relative and lingering unhappiness at the prospect of paying twice+ as much to get a Mac box suitable for decent development) to consider it though...
Posted by: kirillcool on January 18, 2007 at 05:36 PM
-
I agree. I get the exact same feeling when I move from IntelliJ to Eclipse. : )
Posted by: grlea on January 18, 2007 at 05:38 PM
-
Well Kirill, I had the same feeling when after working for a while with Eclipse 3 I was forced to come back to JDeveloper 9.
It didn't even seem to be coding in the same language :-)
Posted by: riccardocossu on January 19, 2007 at 12:49 AM
-
huh.. maybe I should stop using Notepad as my IDE. (kidding)
Posted by: dog on January 19, 2007 at 06:29 AM
-
Well, I suppose that this is another way to say that time flows quickly :-(
Posted by: fabriziogiudici on January 19, 2007 at 07:06 AM
-
You say it's a 4 year old IDE. Actually it was released in 1998 which makes it an 8+ year old. It was replaced in 2002ish but unfortunately I had to use it for longer than that. Thankfully I switched to Java as well.
Posted by: kateel on January 20, 2007 at 08:40 AM
-
Actually, i was referring to VS .NET 2003 and not to VS 6 (which i was working on in 99-02).
Posted by: kirillcool on January 20, 2007 at 08:46 AM
-
I had to switch to VC++ a while back for a project and I really noticed the difference in productivity. Even after a "break-in" period for me of about 2 months, it still took 2-3 times longer than it should have to get things done. Debugging was a nightmare, no support for unit testing or refactoring. I switched to the Eclipse and that helped a little, but they still haven't implemented support for cppunit or refactoring.
Have you tried the NetBeans C++ support? Is it any better?
Posted by: phidias on January 20, 2007 at 08:50 AM
-
I've also had to get back into 'C' lately, which also takes me back to '99/2000. (It's not even C++... but, I'm trying to start a revolution). Now, I'm dealing with issues I once gladly set aside & almost forgotten: cross-platform issues (ifdef, anyone?), build issues (windows vs. linux vs. unix vs. unix), linker/compiler incompatibility issues (shared libraries), not to mention an old mindset (refactoring vs. "it works, don't touch".) Arggh. An interesting poll would be to see how often Java developers really do have to go back in time to 'legacy' tools & languages (and mindsets), ... Web sites (java.net, et al.) always focus on "new" and "cutting edge", but as for the real world: I keep trying to get out, but they keep pulling me back in.....
I've noticed a quiet little movement to update the old languages & development environments with new tools, often written in the new languages (eg C with Netbeans; using SCons (written in Python) vs autoconf/make)... New languages & tools rescuing the old language development environments... Something old, something new; something borrowed,.... strange bedfellows.
Posted by: michael_n on January 21, 2007 at 02:33 PM
-
and that's why we always tell kids to learn the language first and start using IDEs afterwards. If they don't they end up learning the ins and outs of the IDE and never learn the language, with the inevitable result they get hopelessly lost when confronted with an environment in which they don't have access to that exact same IDE set up in the exact same way.
Posted by: jwenting on January 21, 2007 at 10:53 PM
|