I've spent the last couple of weeks at work building a hunk of J2EE code for a big new product. A few truths:
- Java, the language, is pretty ho-hum but the power of the classes that make up J2EE is pretty impressive. Stuff that took a few dozen lines of C++ and a good working copy of the STL, can be thrown down in half a dozen lines reusing J2EE classes.
- Perforce is possibly the worst source code management tool known to mankind. In the last 30 years of doing this stuff I've worked with more SCM systems than I can count. I've never worked with one that gives the end programmer worse confidence in having the most current source from the repository nor with one that is so prone to tangling itself up. To be fair, I'm not positive that the people in charge of this development death march have clue number one how to set up a tool for a globe-spanning development team.
- Maven2 isn't ready for prime time. The second most important task of a build tool is to be able to deal with multi-timezone development. [The first is to be able to figure out dependencies.] Maven2 seems unable to do either. Or again, the yahoos who set up the source tree and build scripts are again clue-free.