And you worked so hard to prove my point "most ranting about 'Java is teh suk' is pointless and meaningless". Alright, I'll bite... one more time...
@tster said:
Since generics didn't come until 1.5, there is a shit-ton of code that
is 1.4. This code takes a lot of time to update to 1.5 so that you can
start using the fun new features of 1.5 and 1.6 in your project.
Which is why they developed it so that you didn't have to change every piece of code over to meet generic standards in order for it to work. Leaving your 1.4 explicit casting still works in 1.5 and look, all you have to do is suppress the warning for it (I know, too much typing for a drag n drop .NET guy).
@tster said:
It's easy to get in a jubble mess of generics when you start using wildcards and shit like <T extends Foo>.
It is there for people who are smart enough to use it. For those like you who can't comprehend it: leave it alone, you don't have to use it.
@tster said:
Getting the fucking Java RMI to work the first time you do it is harder than losing your virginity was back in high school.
Personally I didn't have a problem with that, at least the latter
@tster said:
You can only pass around fucking objects (and primatives). Want to
pass a function pointer/callback? Create a new class (or use an
anonymous class) which inherits from an interface, instantiate it, and
pass it in. This is one place .NET is head and shoulders above Java.
+1 for you.
@tster said:
Visual Studio is far and away better than Java's (big 2) IDEs. THe
only way either compares is if you load eclipse up with 20 plug-ins.
Then you better have at least 1 gig memory just for eclipse.
How much does it cost?
@tster said:
The default look-and-feel is god aweful. Seriously, why make us copy
and paste the same code for every app we write, just so I don't have to
look at that "metal" shit?
Do you use the default settings for every app you do in .NET? If so then you have a valid point, otherwise you're just bitching mindlessly since you change the look and feel anyway.
@tster said:
While we're on the subject. Which GUI framework would you like to use? AWT, SWT, or Swing?
Personally none of the above. I develop J2EE Web applications. So, JSP with Grails, Struts or Spring MVC.
@tster said:
The syntax kind of sucks. for instance, how did they come up with:
for (Foo foo : foos)?
C# makes more sense:
foreach (Foo foo in foos).
not
that it matters, most of the code that you work with won't work in 1.5
so you don't have to worry about the foreach loop since you don't have
it.
Now this is the type of stupid rant that I don't like. Six of one, half a dozen of the other... The difference between the two syntax is just a personal preference not a reason that .NET is better than Java. Your last sentence doesn't even make any sense. Are you implying that my old for(int i = 0; i < arr.length; ++i) won't work in 1.5, or that the foreach loop designed for 1.5 doesn't work in 1.5?
@tster said:
(PS, I know C# isn't any better)
Then why mention it?
@tster said:
No multiple inheritance.
I am actaully glad that it doesn't support multiple inheritance. I have seen some really fucked up C, C++ code where it took way longer than it should to track down methods and member variables. Hell there have even been some front page stories about just such a thing right here on TDWTF. Look, personally I don't have the need to place constants and globals everywhere. If you create good OOD then you don't have to worry about this. Show me an example where multiple inheritance is a must.
@tster said:
No expicit override until 1.5.
No explicit override is required, never has been. The @Override annotation is just a way to force the compiler to check to see whether you got the method signature right. Do you really need the compiler to hold your hand and change your diaper too? .NET,nevermind I know the answer :)
@tster said:
No other annotations until 1.5
http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html
3rd paragraph. Java has always ad an annotation system (@depricated). The new 'metadata' types allow you to define you own new annotations as oposed to only using the ones defined in the JDK. So, once again a completely ignorant arguement.
@tster said:
no operator overloading
I can't tell you the last time that I needed to add another meaning to the + operator, or hell I could be REALLY cool like the LISP guys and completely redefine what + means!!! Yay cause that's oh so useful...
@tster said:
No pass by reference.
Only for primitive types.
@tster said:
missing equivalent of the C# keyword "using" (very useful)
Are you comparing Java to every language in the world picking out the best parts of each language and comparing them to Java? Good lord.
@tster said:
@tster said:
we argue about languages we usually offer many specific details about the language that make is teh suk.
I don't think that you should classify youself in the "we" category. I have seen others here with valid arguements, most of yours are meaningless bitches and rants.
@tster said:
...most people on this forum that say java is teh suk can at least back that up.
I agree, you are just not one of them :)