IDEA from IntelliJ rocks!
on
Java IDEs?
·
· Score: 1
I've been developing with IntelliJ since March 2000 or so. We've got about 10 developers using it. It's great! Runs on Solaris! Runs on Linux! Windows, even! I don't like those big monster "do-it-all-for-you" IDEs.... they try, but they don't. I don't want my IDE generating hundreds of lines of bloggy code for me. What ever code I do in my IDE I want to still be able to pop it up in vi if I need to. Forget all those super-duper debuggers...you don't need them if you write and test your code properly. Write code, not bugs! IDEA works really well, it has great syntax hilighting, excellent search tools (hmmm.. where is this class defined? Bingo!) It's also got ANT integration! Sweet! Weaknesses? If you are doing intense GUI work, IDEA does not give you GUI tools for windows and widgets. In that case, I'd go for Forte or JBuilder. Visual Age? Phooey! As for UML integration (Together), well, I do as much UML as needed to illustrate a concept and then I code the sucker. When you work on your UML, you must think "code". I want to spend time coding, not attempting to model every arcane concept in UML. Eventually, your UML and your code will NOT match, and then where will you be? Your code should be your reference! Ruthlessly keep your code lean, mean and clean! Documentation lies! Big fancy IDE's do not empower mediocre programmers! Don't believe the hype!
I am using XP to build a serious software system. And since this is XP, I can dive right into any task because of the power of:
Pair Programming: Two heads are better than one. You have to appreciate the development intensity when two coders attack a problem in front of one screen.
Code Ownership: No one person owns the code, we all do. So, we all become experts on all parts of the system. No single point of failure. Nice.
Testing: We code all our tests first and then write code to make them pass. Testing is not tacked on later haphazardly. If I make a code change, I can test all the other code immediately to see if I broke something. That is sweet. How many non-XP'ers can say that?
Iterations: Forget long, drawn out, projects. XP provides a tight interation schedule. We code what the customer wants to see in that iteration. After the iteration is over, well, the customer can change their mind. And that's fine.
Specs: Forget monsterous documentation that no one ever reads. Our test code and our application code is the documentation. Nothing gets out of date, as we are always...
Refactoring: As part of the process we are constantly expected to refactor our code. Make it better, stronger, faster. This does not take that long and yields code that has no dust on it. Every byte is working.
Problems? Yep. The biggie for me is when I have to interact with a non-XP oriented development team. They can't respond to changes as quick as we can, so sometime it becomes awkward.
This XP stuff really works, too bad about the dorky name. It is working for us, but like any methodology, you need to stay loose and not get caught up in the letter-of-the-law. Your milage may vary.
I've been developing with IntelliJ since March 2000 or so. We've got about 10 developers using it. It's great! Runs on Solaris! Runs on Linux! Windows, even! I don't like those big monster "do-it-all-for-you" IDEs.... they try, but they don't. I don't want my IDE generating hundreds of lines of bloggy code for me. What ever code I do in my IDE I want to still be able to pop it up in vi if I need to. Forget all those super-duper debuggers...you don't need them if you write and test your code properly. Write code, not bugs! IDEA works really well, it has great syntax hilighting, excellent search tools (hmmm.. where is this class defined? Bingo!) It's also got ANT integration! Sweet! Weaknesses? If you are doing intense GUI work, IDEA does not give you GUI tools for windows and widgets. In that case, I'd go for Forte or JBuilder. Visual Age? Phooey! As for UML integration (Together), well, I do as much UML as needed to illustrate a concept and then I code the sucker. When you work on your UML, you must think "code". I want to spend time coding, not attempting to model every arcane concept in UML. Eventually, your UML and your code will NOT match, and then where will you be? Your code should be your reference! Ruthlessly keep your code lean, mean and clean! Documentation lies! Big fancy IDE's do not empower mediocre programmers! Don't believe the hype!
I am using XP to build a serious software system. And since this is XP, I can dive right into any task because of the power of: Pair Programming: Two heads are better than one. You have to appreciate the development intensity when two coders attack a problem in front of one screen. Code Ownership: No one person owns the code, we all do. So, we all become experts on all parts of the system. No single point of failure. Nice. Testing: We code all our tests first and then write code to make them pass. Testing is not tacked on later haphazardly. If I make a code change, I can test all the other code immediately to see if I broke something. That is sweet. How many non-XP'ers can say that? Iterations: Forget long, drawn out, projects. XP provides a tight interation schedule. We code what the customer wants to see in that iteration. After the iteration is over, well, the customer can change their mind. And that's fine. Specs: Forget monsterous documentation that no one ever reads. Our test code and our application code is the documentation. Nothing gets out of date, as we are always... Refactoring: As part of the process we are constantly expected to refactor our code. Make it better, stronger, faster. This does not take that long and yields code that has no dust on it. Every byte is working. Problems? Yep. The biggie for me is when I have to interact with a non-XP oriented development team. They can't respond to changes as quick as we can, so sometime it becomes awkward. This XP stuff really works, too bad about the dorky name. It is working for us, but like any methodology, you need to stay loose and not get caught up in the letter-of-the-law. Your milage may vary.