On Sunday, February 9, 2003, at 11:35  PM, Komtanoo Pinpimai wrote:

Sincerely, some reasons make me really sick of java are:

1. its has too much classes, almost everything is class, whenever I want to "read a file", I have to open my heavy java cookbook to find what class should I inherit from; and see BufferedReader <http://stein.cshl.org/jade/distrib/docs/ java.io.BufferedReader.html#_top_>, LineNumberReader <http://stein.cshl.org/jade/distrib/docs/ java.io.LineNumberReader.html#_top_>, CharArrayReader <http://stein.cshl.org/jade/distrib/docs/ java.io.CharArrayReader.html#_top_>, InputStreamReader <http://stein.cshl.org/jade/distrib/docs/ java.io.InputStreamReader.html#_top_>, FileReader <http://stein.cshl.org/jade/distrib/docs/ java.io.FileReader.html#_top_>, FilterReader <http://stein.cshl.org/jade/distrib/docs/ java.io.FilterReader.html#_top_>, PushbackReader <http://stein.cshl.org/jade/distrib/docs/ java.io.PushbackReader.html#_top_>, PipedReader <http://stein.cshl.org/jade/distrib/docs/ java.io.PipedReader.html#_top_>, StringReader <http://stein.cshl.org/jade/distrib/docs/ java.io.StringReader.html#_top_>, which confuse me a lot. Admittedly, I have never could remember the file opening statement, since the complexity.
Most of the time you can get away with just using BufferedReader wrapped around a FileReader. If you ever need them, you'll be glad that there is a healthy library of add'l classes.

2. its class namespace is also horrible.
java.lang.xxxx
java.io.xxx
javax.xxxx
I remeber once, when I was working with Corba, it's very scary. Something like:
org.omg.CORBA.xxx
Whoah, I take issue here! What's so bad about org.omg.CORBA.*? There's another thread (currently) on this very list discussing problems with naming Perl modules so that they would be compatible with CPAN if there were ever an occasion to submit them. Java builds this right into the language, and namespaces are kept pretty neat and simple as far as I can see.

3. Since java has million of classes, java documents usually listed class by class.
When I want to know the usage of a class, I have to read the doc of the class, and maybe its parents, or even its grandparents to aviod misundstanding.
Doesn't this seem like it would be the case in any OO language? If you want to use a class, you need to learn how it works. At least the javadocs make it easy to jump from class to class, and traverse up the class hierarchy.

4. I think its "try and catch" statements make code unreadable and create unnecessary fatique to us.
Java classes frequently throw too many exceptions and force us to handle them.
when I open a TCP socket, I have to handle one exception, then while I'm reading the socket, I write the input to a file, I have to handle another exception, and so on.. This make code less readable.
Yes, this really can be detrimental to code readability. It's a little bit nicer in Python (because no braces). But I agree with you.

Java doesn't let you just bust out what's on your mind -- I've discovered that you really have to plan out your application's public interface -- but it's a pretty good language IMO. I agree with the guy about maybe the implementations could use work (the JVM is dog slow on my iBook).



Erik




--
Erik Price

email: [EMAIL PROTECTED]
jabber: [EMAIL PROTECTED]

_______________________________________________
Boston-pm mailing list
[EMAIL PROTECTED]
http://mail.pm.org/mailman/listinfo/boston-pm


Reply via email to