POV-Ray : Newsgroups : povray.off-topic : Java : Re: Java Server Time
29 Jul 2024 12:21:59 EDT (-0400)
  Re: Java  
From: Darren New
Date: 24 Sep 2011 00:54:55
Message: <4e7d629f$1@news.povray.org>
On 9/23/2011 8:28, Invisible wrote:
> Last time I used Java, we did a little dance. It went like this:

I agree with every one of these rants.

Now, throw in Eclipse, as well as code that generates java code, which the 
IDE doesn't know about.

> "For receiving input, use the InputStream classes. For output, use the
> OutputStream classes."
>
> "For receiving input, use the Reader classes. For output, use the Writer
> classes. The InputStream and OutputStream classes are now formally
> deprecated. (Even though System.in, System.out and System.err mention them
> explicitly.)"

And now there's a third set, NIO, or "New I/O".  I wonder what they'll call 
the fourth set.

> "We will never deprecate the AWT."
> "The AWT is now deprecated. Please use Swing in new applications."

Yeah, I remember that one.

> "For structuring complex applications, use the ApplicationFactory class."
>
> "The ApplicationFactory class is now deprecated. Please use
> ApplicationCenter for new."
>
> "The ApplicationCenter class is now deprecated. The ApplicationFactory class
> has been formally UNdeprecated. Please use ApplicationFactory for new
> applications."

Oh, wait until you use some "dependency injection". Then you'll have *no* 
idea how your code is structured. You not only get the indirection of 
factories making other factories, but the factories you're depending on 
aren't even compiled at the same time as everything else. Good luck figuring 
out what you're trying to instantiate.

> documentation helpfully fails to say. (E.g., "start() - starts the widget."
> Yeah, thanks for that. I gathered.)

Yep, yep. Altho MS has been starting to do that sort of crap lately too, 
I've noticed.  The first release of Java had identical documentation for 
StreamReader and StreamWriter, because they did the cut-and-paste and forgot 
to change "read" to "write" everywhere.

> I love the way that with the JDK, compiling a class compiles every class it
> depends on, but declaring two mutually-dependent classes is enough to break
> the compiler. I wonder if they fixed that yet?

Nope.

> I love how we have System.err (because System.error would be far too
> verbose), and yet we have java.lang.ArrayIndexOutOfBoundsException. Because,
> say, java.language.exception.ArrayIndex would be too hard?

I did some code yesterday where I had to break one type name over multiple 
lines to keep within the 80-character line limit standard. It doesn't help 
when you have stuff like
   FastPersistentLinearCollection<OrganizationIndividualRelationshipEntity>

I kid you not.

-- 
Darren New, San Diego CA, USA (PST)
   How come I never get only one kudo?


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.