I won’t defend Java the way I defended PDFs: We’ve been doing bytecode interpreters since the 1960s (p-coded Pascal dates from that era) and all of a sudden Sun thrusts Java on the world and the slogan is “Write Once, Bloat Everywhere”. There are two incompatible ways to draw graphics, Swing and AWT, yet Java apps never seem to blend into the background. Java gives you the full C type ontology, yet you can’t really get a datatype any smaller than 32 bits. Finally, (try finally?) the language is like the Edsel, designed for the ‘average programmer’ by a bunch of people who think the ‘average programmer’ is a sub-moronic clod who couldn’t understand a lambda closure if it dereferenced his ass all over the bathroom floor. They don’t even have a full object system, apparently because they didn’t care enough to steal Smalltalk’s. The only thing they got right was garbage collection, and it’s very sad that’s still so rare.
Java is not my favorite programming language. In ten-twenty years, Java will be COBOL.
jwz’s great rant on this topic.
Maybe XML will save us.Is it sarcasm or Web 2.0? SGML (also hyped as HTML, XHTML, XML) could be used to do a lot of what PDFs are used for, but not necessarily with any less bloat. For one thing, I don’t know if PDFs ever contain their own fonts, and it is not obvious how to store fonts in XML any differently than they are stored in TTF files, for example. For another, PDFs are used by presentation weenies who count pixels to make sure everything comes out just so. Any other document format meant to suit them would have to support that, and that means it would have to carry around just as much information. For a third, it wouldn’t do a damn thing to change the big blobs of pixels that sit in so many PDFs these days.
The biggest advantage of XML is that it is textual, whereas PDFs are a mixture of textual data and binary. I suppose that was to reduce size over the all-text PostScript, but it doesn’t (always) work.