in reply to How would you fix Java?

I learned Java before i learned Perl. I even got one of those fancy certifications. I thought Java was quite fun and exciting. Then i discovered Perl ...

Even after i discovered Perl, i still liked Java. So i joined JavaJunkies, only to discover that my "Java Personality" had been replaced. Now, mind you that there are other 'cross-over' monks who happily code in both languages. But i myself am so disgusted with Java at this point that i don't think i will ever touch it again. Not when languages like Perl, Python, and Ruby exist.

For the record, i am OO programmer. I was very fortunate to take an OOP class in college which use the GoF book as the textbook. I am not the best OO programmer, but i know me some OO! One of the first projects i bestowed on myself was to port Design Patterns over to Perl. Not only did i find that other folks shared the same idea ... i also found out that Perl doesn't really need them ... and maybe even Design Patterns Aren't!

Hey ... you know what? It does take too many lines to code something simple in Java. That's why you really need an expressive IDE to go along with Java. Those Java programmers who claim they need only vi/emacs probably either type at 90+ wpm or love to waste their time typing. (and for those who hate having to write all of that code just to get some objects up and running ... check out Class::MethodMaker.)

At this point, i really don't think Java can be improved - it's too late. The designers of Java made the choice for the language to flexible rather than making the language easy to use. Bad mistake, because i really think the language isn't even that flexible. Not as flexible as Perl, Python, or Ruby. Heh, i am starting to think C++ is a better choice than Java. :)

Listen ... Java vs. Perl ... whatever. It's all about mindsets, and unless you learn both, you can't make up your mind which kind of programmer you are. If folks don't like you for chosing one, so be it. And like i said before, noboby says you can't do both ... i tried ... what can i say? Perl spoiled me! :)

besides ... aren't we comparing oranges and apples?

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)

Replies are listed 'Best First'.
Re: (jeffa) Re: How would you fix Java?
by Anonymous Monk on Apr 21, 2003 at 15:32 UTC

    Thanks for the reply :)

    At this point, i really don't think Java can be improved - it's too late

    I don't work for Sun, and I doubt they would be interested in what I'd have to say anyways. This isn't really about improving Java. This is an attempt on my behalf to learn more about what are some major complaints about the Java language, and what people feel would be adequate solutions to these perceived problems. I'm not asking this so I can send a few patches to Sun with a get well soon card. I'm asking so I can learn more about the topic. Hope I cleared that up.

    besides ... aren't we comparing oranges and apples?

    Ah, but the only things I'm trying to compare here are Java, as it exists today, and Java, as it could theoretically exist tomorrow with the improvements people suggest.

      You are most welcome. I wouldn't mind Java so much if there were some kind of CJAN. My biggest beef with Java is that programmers end up reinventing wheels that they shouldn't have to. The existing Java classes are only 50% complete - you have to come up with the other half. A good CPAN module, on the other hand, is 90% of your work already written. Java needs a comprehensive archive, but i think that the red tape of bureaucracy is Java/Sun's biggest hurdle.

      For example, consider this post from JavaJunkies. Java has a class called StringTokenizer that does a durn good job of tokenizing strings. But why should i have to reinvent a wheel to use that class to parse a CSV file? Why should i have to search the web for a solution that someone else has coded for themselves? Java needs a CJAN. Bad. Either that or they need to hook up with Parrot - then (hopefully) one could simply utilize the power of Perl's CPAN within their Java programs.

      jeffa

      L-LL-L--L-LL-L--L-LL-L--
      -R--R-RR-R--R-RR-R--R-RR
      B--B--B--B--B--B--B--B--
      H---H---H---H---H---H---
      (the triplet paradiddle with high-hat)