Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Java review

Name: Anonymous 2010-11-12 14:09

Good:

- 5 year olds should be able to learn how to make multithreaded applications
- Cross platform
- Great development tools (IDEs and such)
- You don't have to make/download amounts of libraries to develop great and helpful apps, the standard library is huge

Bad:

- Memory hog
- Java programmers: Herppppp Derpppp, internal char array?? nooo, its a string, what internal char array?? what is that
- No function pointers
- No operator overloading
- Everything is a reference, unless you implement Cloneable, sorry, i prefer "&"
- No #define

Name: Anonymous 2010-11-15 3:52

>>40
Of course. I mean I wanna fucking strangle the bitch who made minecraft with java. Seriously? It's like he tried to pick the one that would work the worst.

Name: wut 2010-11-15 4:15

>>40
I have mono

Name: Anonymous 2010-11-15 4:27

>>42
You are a faggot.

Name: Anonymous 2010-11-15 9:22

>>39
1. "Java" doesn't have a UI. A number of different UI toolkits for Java exist, including SWT, which uses the native widgets from your platform and looks exactly as you would expect.

2. Java has JNI, which is also "built in shit to work with native code", in your words.

3. Stop trying to write your own Complex and Matrix implementations, and you won't need operator overloading.

Name: Anonymous 2010-11-15 9:37

>44
3. Stop trying to write your own Complex and Matrix implementations, and you won't need operator overloading.
FUCK YOU I WON'T DO WHAT YOU TELL ME

Name: Anonymous 2010-11-15 10:32

>>44
1. "Java" doesn't have a UI. A number of different UI toolkits for Java exist, including SWT, which uses the native widgets from your platform and looks exactly as you would expect.
That's very nice and all, but I've yet to use a Java application whose UI doesn't look and feel completely out of place. Extra points if it doesn't even follow basic keyboard conventions.

All things considered, the end result is not much better than running something in a VM. Sure, the benchmarks will tell you you're getting 90% of the native performance, but the rest of the experience will be so mediocre that you'll desperately want out.

Name: Anonymous 2010-11-15 10:42

>>46
All things considered, the end result is not much better than running something in a VM.
It's not any better. Running an application in wine is much more seamless both in terms of performance and in terms of window dressings than running java apps.

Total run time benchmarks don't tell you anything about a UI application. Latencies have to be measured, and they never are. (I recently watched a Perl 6 talk in Japan by Larry Wall, he was saying "garbage collect!" every time you could spot the VM doing GC stutter... it was pretty obvious too.

Name: Anonymous 2010-11-15 10:45

>>39,44
1. SWT, ha ha ha ha ha ha ha ha, yeah it looks "exactly like a native app" put together by a monkey.  There's a reason no sane developers are using Java on the desktop as of 2010 with the sole exception of... the people writing Eclipse.  It's also a goddamn pain to use, especially compared to Cocoa or .NET.  RIP, Java GUI toolkits.

2. JNI, funny joke.  Take a look at .NET native interface or Haskell FFI to see how it's done in a way that makes actual sense and works the way you want.  Just look at JNI code: you have to write all this messy C glue to stick it together.  What did .NET and Haskell FFI get right that Java got wrong?  In these cases, the glue code is written in Haskell or some .NET language, where it actually makes sense and you don't have to jump through a bunch of hoops just to avoid screwing with the runtime.  In particular, if you need to pass a NUL-terminated string to a C function, you can do that pretty easily in both C# and Haskell without writing any additional C code.

3. It's kind of embarrassing that the Java folks say, "No, don't do operator overloading" and yet they overload the addition operator to concatenate strings.  It doesn't make any sense.  And what about quaternions?  Multivectors?  Versors?  Groups?  These are things for which you'd want to overload operators

>>42
Recommend ibuprofen to control inflammation, and stay at home to avoid infecting others.

Name: Anonymous 2010-11-15 10:56

>>48
Your post was 8.5/10, but the last line was really 10/10.

Name: Anonymous 2010-11-15 11:59

It must drive people in this thread insane, keeping them up at all hours of the night, that people still use Java or, worse, that people know what might be called "good" languages and yet still agree to program in Java.

>>48
But you don't need to and that's the point.  Don't do things you don't need to do.  That goes both ways: if the language is stupid about something, go around it and not against it.

Name: Anonymous 2010-11-15 12:07

>>50
0/10

Name: Anonymous 2010-11-15 15:33

>>37
- No operator overloading
Yes, because it's so far more confusing to define "+" rather than define "add". Down with infix operators! Oh, wait, this sort of bullshit about "operator overloading" (I like to call it defining infix-syntax functions) being wrong usually comes from the same people who claim Lisp's strictly prefix syntax sucks. The irony.

Also == and switch should work on Strings.
More irony.

- Standard library is too big
It's too shit, not too big. It does what it should do, but it does so in an overengineered, complicated, overdone, queer and abhorrent enterprise way that challenges your sanity and peace of mind. One day this inane, enormous pile of enterprise blasphemy and aberration will grow temporary eyes and limbs and become your master, not unlike a Shoggoth. Ever hear tell of a Shoggoth?

Name: Anonymous 2010-11-15 16:08

>>52
Syntax should be minimal and transparent. Adding additional methods with infix syntax complicates the language by making it more harder to tell at a glance what a given piece of syntax will really do. There is nothing wrong with Lisp's prefix syntax, but macros are unacceptable.

It's too shit, not too big.
I agree with your point about it being overengineered, but it is also too big. The rj.jar file from a recent Sun JRE is over 47MB on my machine. A trivial application causes around 330 classes to be loaded by the VM.[1]. That's way too much memory overhead.


[1] http://milandinic.blogspot.com/2009/03/jvm-loaded-classes.html

Name: Anonymous 2010-11-15 16:09

>>53
rj.jar file
* This should say rt.jar

Name: Anonymous 2010-11-15 16:16

>>54
rt.jew

Name: Anonymous 2010-11-15 16:20

>making a tile based game
>taught to keep everything object oriented; even the tiles themselves
>make it so each tile class is 1 byte
>make a 128x128x128 map
>look at memory consumption
>It's over 150mb of ram usage
god damnit are you serious?

Name: Anonymous 2010-11-15 16:25

In Sun's perfect world, all these programs would be running on a Java OS where the thousands of standard classes are already loaded into memory.

Name: Anonymous 2010-11-15 16:30

>>57
And in Oracle's perfect world, you'd pay a license fee for each of them.

Name: Anonymous 2010-11-15 16:56

>>56
Are you saying each tile class file is 1 byte?  About how big is an instantiated tile object?

Name: Anonymous 2010-11-15 16:59

>>59
I think he mena to say
class EnterpriseLevelTinyTileClass {
    byte TheTileInfo;
}

Name: Anonymous 2010-11-15 20:26

>>52
Adding additional methods with infix syntax complicates the language by making it more harder to tell at a glance what a given piece of syntax will really do.

Yes, because given objects a, b of any class, a + b is cryptic while a.add(b) is perfectly clear in intent and proceeding.

A trivial application causes around 330 classes to be loaded by the VM.[1]. That's way too much memory overhead.

True. Perhaps if the library weren't insanely overengineered, it could be as powerful in terms of functionality, but not require entire class hierarchies larger than Mordor to be loaded in order to display hello world.

>>58
So very true.

Name: Anonymous 2010-11-15 20:28

>>60
So he made a class for one byte? What a "Faggot".

Name: Anonymous 2010-11-15 21:28

>>62
it was an example ``faggot''

Name: Anonymous 2010-11-15 21:43

java

Name: Anonymous 2010-11-15 22:07

>>62
Abstraction and encapsulation, bitch.

Name: Anonymous 2010-11-16 0:57

>>65
Consider         my anus

Name: Anonymous 2010-11-16 6:47

>>66
I can't see inside that black box.

Name: Anonymous 2010-11-16 11:38

>>67
Pay me enough and I'll show you my secret area of black box

Name: Anonymous 2010-11-16 12:17

>>56 and friends
Have you tried changing whether your're running the client or server VM?

Name: Anonymous 2010-11-16 13:00

>>67
YHBT

Name: Anonymous 2010-11-16 13:29

Java programmers: Herppppp Derpppp, internal char array?? nooo, its a string, what internal char array?? what is that

It's more likely "Hey guys! We can be as fast as c++. But we could not use Vector<int> because our templates sucks. And we could not use Vector<Integer> because autoboxing is slow as hell. We will not use containers at all and will be fast! ha-ha!"

Name: Anonymous 2010-11-26 17:47

Name: Anonymous 2010-12-06 9:27

Back to /b/, ``GNAA Faggot''

Name: Anonymous 2010-12-20 22:05

Name: Anonymous 2011-01-31 20:33

<-- check em dubz

Name: Anonymous 2011-02-02 23:32

Name: Anonymous 2011-02-03 5:39

Name: Anonymous 2011-02-04 12:04


Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List