You seem to be rolling in an implicit criticism ofAs an outside contractor, I certainly don't want to place undo criticism on outside contractors!
consultants/contractors here. My personal take on this is that most
management structures are very bad at managing contract work, especially
when it comes to handovers, and many contractors are not good (or not
properly motivated) to do good handovers.
Again, Java has an advantage which doesn't need to be unique to Java, but seems to be so far: javadoc. For those unfamiliar with javadoc, it turns (properly formatted) java comments into HTML. javadoc extensions called "Doclets" (of course) allow javadoc to produce other documentation formats or differently-formatted HTML.
javadoc provides a tool that helps two major problems with project handovers. The first is that the original developers frequently have to document their code twice. They must document with in-line comments and with a text format such as Microsoft Word or HTML. With javadoc, sourcecode comments do "double duty," saving developers a lot of effort during the cleanup of a project.
The second benefit of this efficiency is that the HTML (or whatever) documentation is easily kept current with source-code comments, simplifying one aspect of the change control management. It is important that "text" documentation stay current, as it is the most accessible to management.
Again, there is no reason why there isn't a perldoc, or a cdoc, and maybe there is and I haven't heard about them. javadoc, however, ships with every JDK. This makes javadoc essentially a defacto standard in the language, which means that you can incorporate javadoc comments into open source projects and expect that other Java developers will know what to do with them.
I agree that management is a key component to solving project turnover projects, but Java is inherently more managable.
Time will also tell whether Servlet solutions will wear well in theHere is a cautionary tale from Tim O'Reilly, the CEO of book publisher O'Reilly and Associates (ORA). This is from an interview available at http://slashdot.org/interviews/99/09/10/1234207.shtml. Maybe you can convince yourself that the same story could be told in a Servlet world, but I'd argue that you'd need some very bad developers. [CF: I've included comments.]
long term, better than (say) shell or Perl scripts, which are based on
language platforms which are more stable spec-wise than Java at present (and
in addition are also totally open-source).
-----------
It started about 18 months ago, when the people on our web team wanted to replace what had become a fairly obsolete setup whose original developers no longer work for the company.------This system--which was about five years old--involves a lot of convoluted perl scripts that take data in a pseudo-sgml format, and generate a bunch of internal documents (marketing reports, sales sheets, copy for catalogs etc) as well as web pages. We wanted to do something more up to date, and didn't have internal resources to devote to a complete rework.
[CF: convoluted perl scripts? No documentation? No readable design docs? But perl is open source!]So we went out to a number of web design firms for bids. The winning firm does work on both NT and UNIX, but they showed us all kinds of nifty things that they said they had already developed on NT that we could use. These were tools for surveys, content management, etc. There was also stuff around integration with the spreadsheets and databases and reports used by our financial and customer service people. To recreate these tools on their UNIX side would cost several hundred thousand dollars.
[CF: rewrite for UNIX? What does that mean? We are about to enter the 21st century and people are writing code that costs hundreds of thousands of dollars to port? Java may have occaision porting problems, but would it ever cost that much?]So I said: "We can either walk the talk, or talk the walk. I don't care which, as long as what we do and what we say line up. If you can do it better and cheaper on NT, go ahead and do it, and I'll go out there and tell the world why the NT solution was better."
I was prepared to have to tell a story about interoperability--after all, despite all our efforts to champion open source, we realize that our customers use many, many different technologies, and we try to use them all ourselves as well. We were looking at doing some things on NT--the stuff our vendor said they already had working--while incorporating other elements on UNIX, Mac, Linux, and Pick (yes, we run a Pick system too!). The whole thing was going to be a demonstration of ways that you can choose from and integrate tools from many different platforms.
[CF: gee, maybe you don't need Java to succeed with this plan...]Instead, I have to tell the story that is so familiar to Slashdot readers, of promises of easy-to-use tools that, unfortunately, don't work as advertised. As your source suggests, the NT parts of the system haven't been delivered on time or on budget, and what we've seen doesn't appear to work, and we're considering scrapping that project and going back to the safe choice. To put a new spin on an old saw: No one ever got fired for using open source.
[CF: D'oh! Porting costs... multiplatform nightmares... the safe choice is... Java? No! Open source. Uh-huh.]I say that tongue-in-cheek of course, because unlike a lot of open source partisans, I don't think that all good things come from the open source community. We like to bash Microsoft with the idea that "no matter how big you are, all the smart people don't work for you" but it's just as true that they don't all work for the open source community either. There are great ideas coming from companies like Sun and Microsoft, and (most of) the people who work there are just like us. They care about doing a good job. They want to solve interesting problems and make the world a better place. And sometimes they do.
[CF: this is the bottom line. Mozilla is open source -- are you surfing the web with it? No, because it's a mess right now. Open Source != Good. There's lots of great open source software and also plenty of open source crap.]I consider it my job to give them a fair shake at convincing me, and if they do, to give you a fair shake at learning what they've done right as well as what they've done wrong. I'll keep you posted.
