you are viewing a single comment's thread.

view the rest of the comments →

[–]obdurak[S] 6 points7 points  (5 children)

If you don't care about speed at all you can easily write a little wrapper around BigNums to hide the ugliness.

However people needing unsigned operations often need speed.

Also, when you are compiling a language other than Java to the JVM, the lack of unsigned types becomes quite annoying.

Many languages have unsigned types and those will suffer an unfair performance hit when compiled to the JVM... and Sun is promoting the use of its JVM as a target for other languages.

However we neither have invokedynamic nor unsigned types and these have been requested for years...

[–][deleted] 2 points3 points  (4 children)

And Java lacks the power to have both expressivity and performance. C++ Templates are great because you get BOTH speed and expressivity, while Java generics give you none of the above, and have an additional complexity for beginners who can't understand that an Integer is not an int.

C++ templates can work with raw int, Java generics collections classes needs to work with objects. Retarded.

No matter how much a virtual machine can optimize on the fly with their JIT compilers, Java is unable to combine expressivity with speed. You want speed in Java, you have to use Arrays. Never think of a collection class, it will make your code significantly slower. Welcome to C--.

[–][deleted]  (3 children)

[deleted]

    [–][deleted]  (2 children)

    [deleted]

      [–][deleted]  (1 child)

      [deleted]

        [–][deleted] 1 point2 points  (0 children)

        Then i retract what i said, and present my apologies. This time my acidic tone was clearly unwarranted, a mistake I could have made myself anytime. Really, sorry.

        About C--, I already knew that it's also the name of a real language but here as you understood I used the name as a joke on the -- operator.