![]() |
|
Reasons to hate Java |
ReyBrujo
Moderator
January 2001
![]() |
Quote: That's stupid. I seriously hope that the "research" topic isn't set by the teacher.
The teacher may have asked to find pro and contras of Java, and he may have already found all the good points -- |
Goalie Ca
Member #2,579
July 2002
![]() |
Maybe these problems were fixed in a newer java (than 1.4) but i'll list em all here: Swing, Awt, SWT = each awful in their own way Other than that my other complaints with java is that we had to code apps which would have been best done in c++ in java for class so its not really java's fault. All in all i like java but i like c# more. C# libs suck and the resource handling in .NET runtime is disgusting. ------------- |
HoHo
Member #4,534
April 2004
![]() |
IMO containers are almost fixed and are a bit similar to C++ STL now Quote: Try and catch but no finally huh? I've used it quite a bit try { blah; } catch (Exception e) { e.printStackTrace(); } finally{ bleh; }
__________ |
Crazy Photon
Member #2,588
July 2002
![]() |
Quote: do they have template specialization for example? ----- |
spellcaster
Member #1,493
September 2001
![]() |
On a sidenote: After playing around a bit with the current java gaming libs, I must say that I am really impressed. -- |
Goalie Ca
Member #2,579
July 2002
![]() |
Quote:
try {
Yay. Time for me to go shoot some CS TA's and profs in the face ------------- |
X-G
Member #856
December 2000
![]() |
Ooh! Ooh! I know a great reason! They force us to use it in our Algorithms course. -- |
kentl
Member #2,905
November 2002
|
Quote:
Yay. Time for me to go shoot some CS TA's and profs in the face Seems like you go to a crappy school, you should switch. |
Carrus85
Member #2,633
August 2002
![]() |
Goalie Ca said: Java's container classes = pain in the ass to work with, especially with ints, floats, doubles, etc. A lot of the hastle with this was fixed with the introduction of autoboxing in Java 1.5. So, before java 1.5, you would have to do this: int i = 5; Integer j = new Integer(10); i = j.valueOf(); From 1.5 and beyond, you can do this instead: int i = 5; Integer j = 10; i = j; Additionally, just for those who haven't used java since 1.4, they have added some other "nice" features, such as a for-each loop mechanism, support for variable argument functions, language-level support for enumerations, static imports (for better or for worse), as well as a several additional classes ( such as java.util.concurrent.locks.* for locking specific "chunks" of code instead of entire methods).
|
Goalie Ca
Member #2,579
July 2002
![]() |
Quote: Seems like you go to a crappy school, you should switch.
I'm in engineering @ carrus85: As for the rest of the features its starting to sound nicer. I never did work with java threading but concurrent.locks sounds a lot like the functionality provided by a simple mutex. Of course its gonna have full language support but, if i understand correctly, it makes no sense for java to have waited this long to add that simple capability. It's like c# came along and sun decided, hey we could actually make this language useful. ------------- |
HoHo
Member #4,534
April 2004
![]() |
Quote: as well as a several additional classes Of those atomic primitives are my favorites because they just make concurrent programming so much simpler. No need for any locks or mutexes or synchronized functions/blocks __________ |
Carrus85
Member #2,633
August 2002
![]() |
Well, AFAIK, all of the container classes now use their "generics" implementation (true, generics aren't as "uberpowerful" as c++ templates, but they are nice in their own right.) To quote the java documentation: Quote: Three new language features significantly enhance the collections framework: * Generics - adds compile-time type safety to the collections framework and eliminates the need to cast when reading elements from collections. In short, all of the classes have been retrofitted to use generics instead of objects. True, this means that you are still putting an object into the container (all generics arguments must be classes), but the conversion is a significant degree more transparent than it has been in the past.
|
Goalie Ca
Member #2,579
July 2002
![]() |
Hmm, generics can only be objects but it does avoid blind casting and casting exceptions i suppose. I remembered 1 last thing about java that i found annoying. There's System.out.println but no System.in.readline afaik. Would have to instantiated buffered reader etc. every time. ------------- |
Carrus85
Member #2,633
August 2002
![]() |
Java 1.5 introduces a class that handles just that very nicely.
If the lack of a System.in.readline really bothers you, you can always just create a static public member variable, call it stdin, and use it...
|
Marcello
Member #1,860
January 2002
![]() |
Quote: Garbage collection needs to be smartened up/controllable http://java.sun.com/j2se/1.5.0/docs/api/java/lang/ref/package-summary.html Marcello |
Bruce Perry
Member #270
April 2000
|
A reason to hate Java: Hashtable ht = new Hashtable(); Vector v = new Vector(); ht.put(v, blah); v.addElement(whee); blah = ht.get(v);
-- |
Indeterminatus
Member #737
November 2000
![]() |
Quote: do they have template specialization for example? You shouldn't do that anyway. I have nothing against Java, but I have something against extremist groups being either Java haters or Java lovers without any valid ground of reasoning. It has been said before, and I'll repeat it whole-heartedly: the right tool for the right job. Java has its applications, and if they fit your requirements, go with it. If not, look for something different that suits you better. _______________________________ |
nonnus29
Member #2,606
August 2002
![]() |
Wow, I have absolutely nothing to add to this thread except; use the best tool for the job. |
kazzmir
Member #1,786
December 2001
![]() |
Sorta skipped most of this thread.. but: To the people who claim Java is slow, you obviously dont know the difference between a language and the thing that executes it. The JVM you happen to use might suck, but thats not really Java's fault. C used to be slow too.. Anyway my main complaints about Java are
Instead of this: list = new List(); list.add( new Integer( 1 ) ); list.add( new Integer( 2 ) ); list.add( new Integer( 3 ) ); some_function( new Lambda0(){ public void execute( Object o ){ System.out.println( o.toString() ); }, list ); Maybe the example isnt long enough to be really dramatic but anonymous inner classes just dont cut it, IMO. |
BAF
Member #2,981
December 2002
![]() |
Why do I hate java? Because the people representing it in #java on efnet are total @sshats. |
nonnus29
Member #2,606
August 2002
![]() |
Quote: #java on efnet are total @sshats Heh, I've heard about that. Apparently they hate 'babying the newbies' or something and they'll eject people that do. |
Rash
Member #2,374
May 2002
![]() |
How about when your computer locks up before you realize it's because you went to that particular website? |
m c
Member #5,337
December 2004
![]() |
Yeah; this has ahppened to me all the time. Though again; no fault of the language just it's particular implementation. Reason to hate java: A lot of people go on about how good it is, but i don't see anythign special. Normal yes, but not special, therefore i hate it in order to sustain the natural balance between the computer languages Plus if you want a high level langue, you may as well have the most capable. C can use fortran's or pascal's .oes, yet neither fortran nor pascal can use c's .oes, therefore C is more elite. Plus fortran and pascal have their crucial libraries written in C (in modern times atleast). But assembler is not cross-platform, so it's too low-level to count. Java is another language that at some level is "derived" from c, so is c++ so is C# (even if self-hosted they are still derived languages, think about it). So hate it to be an elitest prick, justifying it on the fact that there is this langauge called C and it is more cool. (C is an exception to the natural order rule, as it is at the top of the food chain as explained above). C is holier than thou, java. (\ /) |
thematrixeatsyou
Member #6,183
September 2005
![]() |
The main reason why I hate Java is that it freezes your PC while it is loading. Well, at least Firefox (Internet Exploiter too). good food is t3h pwn <-- if anyone can find out how old this sig is they win an ascii penguin |
Evert
Member #794
November 2000
![]() |
Quote: To the people who claim Java is slow, you obviously dont know the difference between a language and the thing that executes it. The JVM you happen to use might suck, but thats not really Java's fault. From an end-user perspective, I beg to differ. I mean it, I've never seen a Java-based GUI application that ran at something approaching a decent speed, on any computer I've ran them on. |
|
|