3 ms·
Maybe it's a language difference, or something else. I write J2EE apps. I don't want to start a language war, but personally I really like Java, and people li
by modoc 18y ago
Maybe it's a language difference, or something else. I write J2EE apps. I don't want to start a language war, but personally I really like Java, and people like paying me to build stuff in it, so let's take that as a given. Also, seeing that the big popular IDEs are Eclipse (mostly used for Java) and MS's VisualStudio (C++, C#, etc...) the context of the discussion seems to be those languages where there is a mature, popular, IDE available.
The projects I work on are often pretty big (e-commerce websites for Fortune 500 type companies), and while an algorithm may live on one viewable screen of one class, a single business process or requirement will almost always span multiple JSPs and many classes. An add to cart action will need to check inventory, shipping rules based on hazardous flags on the SKU, shipping options and costs based on the customer's zip code, run through a whole pricing pipeline to apply coupons, discounts, BOGO type specials, and so on. Therefore to write that, or later alter or debug it, I will need to navigate through multiple files, to specific methods. And IDE means I can go directly to the source a method I call with one mouse click or key-combo. This is faster than finding the file, opening it, and finding the correct method (even more so when you can't just search by method name due to overloading).
I don't know exactly what you mean by "residue of IDE vomit". My IDE doesn't write code (with the exception of getters/setters). I do. Maybe Visual Studio does write lots of code for you, I wouldn't know. Real refactoring always starts in your head, no matter what tool or lack of tool you're using. You always plan it out in your head. It's just a matter of when its time to make the changes, are you searching for names to edit in 20 files by hand or not.
Maybe there's a difference in what we're talking about when we say IDE. In my opinion:
Dreamweaver = bad HTML IDE: because it lets you create page with dragging and dropping, so you don't actually understand how markup works, or how a dom tree is parsed, and it generates tons of awful HTML code behind the scenes.
Eclipse = good Java IDE: I write the Java code myself, but the IDE makes common tasks faster, and provides intelligent auto-complete, which means that I don't have to memorize every method name and parameter order of every class in the J2EE + Framework of choice stack.
I guess I feel that most of your complaints about IDEs don't apply to (or at least line up with my experience) writing J2EE apps in Eclipse. I used to use Emacs, bash scripts, and Ant, for years so I know what the alternative is.
You say an IDE is like a static cockpit, but in Eclipse at least it's pretty easy to make your own doodads and buttons that do whatever you want, or use the doodads someone else already created.
For me, an IDE is like toolchest with a little robot attached. It keeps all my tools in one place, so they aren't scattered all over my garage, I can add whatever custom tools I want to it, and the robot knows that when I pick a 18mm socket up, I'll almost certainly want the 1/2" ratchet next, and hands it to me, instead of me having to go dig through the stack of ratchets to find it. And if I'm using a torque wrench, the robot calls out the correct torques for the bolts/studs I'm working on at the moment.
The robot doesn't work on the car, and the toolchest doesn't spit out assembled engine blocks, but they mean I spend less time hunting for tools around my garage, and more time working on the car.