• nope (unregistered)

    But Java IS slow. You can't even use inline assembler with it.

  • eViLegion (cs)

    TRWTF is just how bad that film was.

  • eViLegion (cs)

    Also... why didn't Pete just say (right in front of these potential clients):

    "Dick, shut up... we DO use Java, all the fucking time, and we get great stuff done with it... YOU ARE THE ONLY ONE THAT DISAGREES AND EVERYONE ELSE IN THE OFFICE THINKS YOU'RE A IDIOT BECAUSE OF IT".

    That way, you win the contract, and you become Dicks supervisor.

  • Pete (unregistered) in reply to eViLegion

    You are new around here, aren't you?

  • Tim (unregistered)

    TRWTF is the lack of a FRIST comment

  • herpderp (unregistered) in reply to Tim
    Tim:
    TRWTF is the lack of a FRIST comment

    FRIST! (I wrote that comment using Java but it was too slow to really be frist...)

  • Land of Hope and Glory (unregistered)

    Good Ridance Day we call it!

  • Kempeth (unregistered) in reply to eViLegion
    eViLegion:
    Also... why didn't Pete just say (right in front of these potential clients):

    "Dick, shut up... we DO use Java, all the fucking time, and we get great stuff done with it... YOU ARE THE ONLY ONE THAT DISAGREES AND EVERYONE ELSE IN THE OFFICE THINKS YOU'RE A IDIOT BECAUSE OF IT".

    That way, you win the contract, and you become Dicks supervisor.

    Exactly. Because public infighting among senior employees on top of bad tact and ignorant generalizations is the ideal way to win over potential customers.

  • ip-guru (cs) in reply to Land of Hope and Glory
    Land of Hope and Glory:
    Good Ridance Day we call it!
    Actually the USA wasn't granted independence until 3rd December 1783 so they haven't even got their holiday correct ;-)
  • ZoomST (unregistered)

    Needless to say, Pete was fired after Dick told the upper management that he saw him speaking with FooNorsk's tie guys and telling lies about Java and all that. Another real-life inspired story, folks!

  • Franky (unregistered) in reply to eViLegion
    eViLegion:
    Also... why didn't Pete just say (right in front of these potential clients):

    "Dick, shut up... we DO use Java, all the fucking time, and we get great stuff done with it... YOU ARE THE ONLY ONE THAT DISAGREES AND EVERYONE ELSE IN THE OFFICE THINKS YOU'RE A IDIOT BECAUSE OF IT".

    That way, you win the contract, and you become Dicks supervisor.

    obviously, because Pete is a little whiny bitch who prefers to complain about his life on tdwtf instead of doing anything else in case it might cost him his precious (sucky) status quo.

  • Mike (unregistered) in reply to ip-guru

    Ha ha. Somehow the rebels prefer to go by the day that they declare themselves independent not when their imperial overlords agree with them ... who'd a thunk it?

    P.S. I'm in the middle here being Canadian. Love them or hate them they always have more interesting news then we do and frankly what are foreign countries for but for our amusement?

  • Shoreline (cs) in reply to herpderp
    herpderp:
    Tim:
    TRWTF is the lack of a FRIST comment

    FRIST! (I wrote that comment using Java but it was too slow to really be frist...)

    I endorse this comment.

  • NotDick (unregistered) in reply to eViLegion
    eViLegion:
    [...] That way, you win the contract, and you become Dicks supervisor.
    No, that way you win the contract and you become a dick.
  • TheCPUWizard (cs)

    Well for many yeas now x64 and x86 architecture have been.....coughvirtualmachinecough

    (Long gone are the days when the transistors of the ALU directly switched based on bit patterns of the op codes. Every mainstream modern machine is a virtual API to an internal RISC processor....)

  • Shoreline (cs) in reply to Kempeth
    Kempeth:
    eViLegion:
    Also... why didn't Pete just say (right in front of these potential clients):

    "Dick, shut up... we DO use Java, all the fucking time, and we get great stuff done with it... YOU ARE THE ONLY ONE THAT DISAGREES AND EVERYONE ELSE IN THE OFFICE THINKS YOU'RE A IDIOT BECAUSE OF IT".

    That way, you win the contract, and you become Dicks supervisor.

    ...tact...

    It's good, but maybe a little fix:

    Pete: "He's joking, of course. Dick knows that you have done extensive research and concluded on Java as your chosen technology. We have a number of Java projects in the past and the only issues we came across were implementing with more experimental, non-Java procedures."

    Still not perfect, because this is likely a universe where disagreeing with the boss is bad for your career. Dick will no doubt be cross, but will he dare to chase them away right then and there? If so, how? "He's joking about me joking." Smooth. One way or another Pete can theoretically argue the gain/loss of the contract as being attributable to the presence/absence of java.

    Of course, I'm sure Dick can find some complication to throw in there to lose the contract AND make the result inconclusive. He seems to be a politician, after all.

  • Edmund (unregistered) in reply to Mike

    You know what I hate about you Canadians? Half of you speak French, and the other half let them.

  • Nagesh (unregistered) in reply to herpderp
    herpderp:
    Tim:
    TRWTF is the lack of a FRIST comment

    FRIST! (I wrote that comment using Java but it was too slow to really be frist...)

    If you had avoided quoting, and the commenting inside the parenthesis, you would have made it in time. Ah, its just easier to blame Java for user's stupidity.

  • Costa Rica (unregistered)

    Personally I'd have followed up Dick's comment with... We do use a lot of Java as discussed earlier, but we like to use some C++ behind the scenes for performance-sensitive tasks. That would possibly appease both Dick and the prospective client.

  • eViLegion (cs) in reply to Kempeth
    Kempeth:
    Exactly. Because public infighting among senior employees on top of bad tact and ignorant generalizations is the ideal way to win over potential customers.

    The contract was already in a state of "being lost" because Dick was ... a dick. They had a marginal chance to win it back, by IMMEDIATELY pointing out that this guy did not speak for the company, and would not be working with that client because of his attitude. Possibly they couldn't have clawed it back, but it was already going out of the door anyway, so its worth a punt.

    Instead, they just let it slide, and lost the contract, because no-one was willing to stand up to the bullying Dick, and his abject idiocy. TRWTF is that Dick hasn't been fired already, for just being completely incompetent.

  • Bananas (unregistered) in reply to ip-guru
    ip-guru:
    Land of Hope and Glory:
    Good Ridance Day we call it!
    Actually the USA wasn't granted independence until 3rd December 1783 so they haven't even got their holiday correct ;-)
    Not trying to start the war up all over again, but A's independence from B does sort of have, as its fundamental basis, that A doesn't need permission from B.

    :-)

  • eViLegion (cs) in reply to Pete
    Pete:
    You are new around here, aren't you?

    No, I'm registered... so, who the fuck are you?

    PS. The meme is "You must be new here."

  • dick (unregistered)

    of course java is slow! Once the GarbageCollector starts "working" the whole system hangs up!

    Captcha: esse. As in: It's ESSEntial that you learn about the power of C++!

  • ip-guru (cs) in reply to Bananas
    Bananas:
    ip-guru:
    Land of Hope and Glory:
    Good Ridance Day we call it!
    Actually the USA wasn't granted independence until 3rd December 1783 so they haven't even got their holiday correct ;-)
    Not trying to start the war up all over again, but A's independence from B does sort of have, as its fundamental basis, that A doesn't need permission from B.

    :-)

    Good point, I will declare myself independent form the UK & Tel HMRC where to go with their tax bill, How far will i get.

    seriously though you guys can have your Holiday whenever you want & goo luck with it (+ the weather is better in July)

  • ThePants999 (cs) in reply to eViLegion
    eViLegion:
    Also... why didn't Pete just say (right in front of these potential clients):

    "Dick, shut up... we DO use Java, all the fucking time, and we get great stuff done with it... YOU ARE THE ONLY ONE THAT DISAGREES AND EVERYONE ELSE IN THE OFFICE THINKS YOU'RE A IDIOT BECAUSE OF IT".

    That way, you win the contract, and you become Dicks supervisor.

    Are you saying that, if you were evaluating potential suppliers and that exchange happened in front of you, they'd be top of your list?

  • Copypasta (unregistered)

    Java's syntax is so clean, it's aseptic. It makes up for this by requiring so much boilerplate to accomplish any non-trivial task that one wonders if javac thinks all developers are retarded. The workaround is to use an IDE which will write this boilerplate for you. Preferred ones are NetBeans--which will make you wonder if its developers have ever used an IDE before--and Eclipse, which will rape your memory manager and also make you wonder if its developers have ever used an IDE before. Using an IDE will also acquaint you with the Java GUI development standards: 1) no single thing should look like any other single thing from the host OS; 2) a dialog that opens in less than 5 seconds is a showstopping bug; 3) there is no rule 3.

    Its type system combines the ease and elegance of Algol 68 with the safety of C void pointers. Strict typing guarantees that every single type must explicitly define its relationship to every single type it is a subtype of. A dearth of metaprogramming features ensures this specificity is in vain. Generics "fixed" this by making type safety a function of a library's license agreement; I'm not sure even Richard Stallman could dream up something so asinine.

    Hotspot's garbage collector goes on strike more often than those of NYC. GC means that managing memory is no longer a requirement of the developer; instead it is the responsibility of the user. Trying to understand when or why the GC runs is like answering a Zen koan--whatever you declare is likely to be both right and wrong at the same time.

  • Kian (cs) in reply to ip-guru

    Not sure if troll, but in any case, they did have a whole war about it after they told them where to stick their taxes. So if you can get enough people to fight a war for you, you can absolutely declare your independence and celebrate the date every year.

  • Nutster (cs)

    During the sales post-mortem: Sales rep: Everything was going well, until Dick opened his mouth and told the client we don't do Java! That is what lost us the contract. Sales Manager: Dick, the supervisor for the order management system? Sales rep: That's the one. I do not want him in another one of my sales meetings, ever! Sales manager: Don't worry; he won't be. Let me deal with Dick.

    The next day, Dick is called into the office of the VP of Operations where the Sales Manager and the HR manager are also present. Let's see, 2 weeks paid notice, plus one day for each year worked amounts to about 1 month's pay in a lump sum, along with some paperwork.

    Addendum (2013-07-04 11:01): Congratulations on the promotion Peter.

  • Steve The Cynic (cs) in reply to Copypasta
    Copypasta:
    Trying to understand when or why the GC runs is like answering a Zen koan--whatever you declare is likely to be both right and wrong at the same time.
    The question of when the GC runs is easy to answer. It runs at the wrong time, most likely at the worst possible time.
  • herpderp (unregistered) in reply to Nagesh
    Nagesh:
    If you had avoided quoting, and the commenting inside the parenthesis, you would have made it in time. Ah, its just easier to blame Java for user's stupidity.

    No, it's obviously because of the virtual machine! Duh. ;)

  • Pete (unregistered) in reply to Franky
    Franky:
    eViLegion:
    Also... why didn't Pete just say (right in front of these potential clients):

    "Dick, shut up... we DO use Java, all the fucking time, and we get great stuff done with it... YOU ARE THE ONLY ONE THAT DISAGREES AND EVERYONE ELSE IN THE OFFICE THINKS YOU'RE A IDIOT BECAUSE OF IT".

    That way, you win the contract, and you become Dicks supervisor.

    obviously, because Pete is a little whiny bitch who prefers to complain about his life on tdwtf instead of doing anything else in case it might cost him his precious (sucky) status quo.

    No, I just quit my job and went to another company, working for another idiot manager.

  • Pete (unregistered) in reply to eViLegion
    eViLegion:
    Pete:
    You are new around here, aren't you?

    No, I'm registered... so, who the fuck are you?

    PS. The meme is "You must be new here."

    Whoooooooosh!

  • Jo (unregistered) in reply to dick
    dick:
    of course java is slow! Once the GarbageCollector starts "working" the whole system hangs up!

    Grow up. The JVM garbage collectors certainly did. They don't have that behaviour anymore.

  • eViLegion (cs) in reply to ThePants999
    ThePants999:
    Are you saying that, if you were evaluating potential suppliers and that exchange happened in front of you, they'd be top of your list?

    No I'm saying that, if someone like Dick had just put himself (and by extension his company) bottom of the list by being a dick, and if Pete subsequently served Dick a verbal hammering because of that specific dickishness, I would be more lenient on the company because at least Pete knows what he's talking about, and at least someone is prepared to put the incompetent fool in his place.

    Not top of the list, but the car crash that is Dick will have been at least partially offset by liking Pete.

    Assuming other factors are good, and I like the company (other than Dick), then I'd possibly hire them with a contract that stipulate that Dick mustn't be allowed near the project.

  • eViLegion (cs) in reply to Pete
    Pete:
    eViLegion:
    Pete:
    You are new around here, aren't you?

    No, I'm registered... so, who the fuck are you?

    PS. The meme is "You must be new here."

    Whoooooooosh!

    PS. Whoosh meme only works if you've actually made a funny, and that the person you're wooooshing hasn't understood, as opposed to having completely understood and mocked you for it.

  • Dick (unregistered) in reply to Jo
    Jo:
    dick:
    of course java is slow! Once the GarbageCollector starts "working" the whole system hangs up!

    Grow up. The JVM garbage collectors certainly did. They don't have that behaviour anymore.

    Oh, so the JGCCC (Java Garbarge Collector Correctional Center) actually helped? That's good to hear.

    Still, Java is inferiour to C++, it's as clear as day.

  • Meep (unregistered) in reply to ip-guru
    ip-guru:
    Land of Hope and Glory:
    Good Ridance Day we call it!
    Actually the USA wasn't granted independence until 3rd December 1783 so they haven't even got their holiday correct ;-)

    Oh, please, nothing was "granted", it was "won" when the Limeys ran with their tails between their legs. And the Treaty of Paris was in September.

  • Doesn't read user names (unregistered) in reply to Dick

    You must be Dick. You sure sound like him.

  • ip-guru (unregistered) in reply to Meep
    Meep:
    meys ran with their tails between their legs. And the Treaty of Paris was in September.

    You are correct I meant September, cant think why I wrote December.

    Im surprised no one spotted that earlier

    Enjoy the celebrations your side of the pond

  • frumble (unregistered) in reply to ip-guru

    And the Kings of England called themselves Kings of France until 1801. Was that when France got independence from England?

  • Matt Westwood (cs) in reply to Land of Hope and Glory
    Land of Hope and Glory:
    Good Ridance Day we call it!

    +1 FTW

  • me (unregistered) in reply to Dick
    Dick:

    Oh, so the JGCCC (Java Garbarge Collector Correctional Center) actually helped? That's good to hear.

    Still, Java is inferiour to C++, it's as clear as day.

    Ok... I realise that you are just playing along with a joke, but just in case the reader doesn't get that, lets get some facts on the table:

    1. Yes, if you benchmark any small piece of code, C++ will normally be slightly faster. This seems obvious, because, well, the JVM is written in C++.

    2. This is exacerbated by the fact that Java has some overhead on startup, because the virtual machine must be started. However, most businesses deal with long-lived processes.

    BUT, BUT, But....:

    1. Java has a JIT (Just In Time) compiler, which allows the JVM to watch how the code is actually being used, and optimize and recompile code as necessary. C++ can only be compiled for one processor architecture and one usage pattern (the pattern proscribed by the programmer).

    2. Garbage collectors are much maligned, but any sizeable application will need one, and Java's garbage collection is absolutely awesome compared to anything you could try to create in a given C++ project.

    3. Business applications much more simple to implement in Java than in C++. Do you really need your developers to be worrying about pointers? No, you want them to spend their time writing and fixing business logic and putting buttons on screens. If you really, really need the speed of C++ in some specific area, you can use C++ for that part, and Java for the rest. (I don't know anybody who has needed to do this).

    Points 3. 4. and 5. above mean that a given project with a given budget and given programming expertise creating a business server application is very likely to be faster when written in Java. And besides, the kinds of performance problems people encounter are rarely anything to do with the language used.

    If you have a whole bunch of truly expert programmers, and you are prepared to spend years optimising your codebase for performance, perhaps even rewriting the whole thing once or twice, then you want to use C++. Otherwise....

  • Merp-Mop (unregistered)

    TRWTF is comparing Java to c++

  • shepd (cs)

    Java seems to make programmers retarded, or the language is terrible, or both. I don't program in it, but I've had to deploy enough enterprise applications that when I see the word "Java" it means to me "Requires 64 GB RAM / Fastest SSD known to man / multiple octo-core CPUs / forget about it being usable on a VM outside of a tiny lab + enjoy restarting it every few weeks".

    Now, when I'm bored at home, I play minecraft, which you all know is written in Java. That seems relatively fast, if unstable. Maybe the only way to get fast code out of Java is to hire games programmers?

    Beats me, I just sysadmin for a living. :P I'm sure you've all had your own experiences with Java that say otherwise.

  • well (unregistered) in reply to TheCPUWizard

    i don't really understand what you're saying there because i'm not a hardware guy but i'm sure that's cool

  • EmperorOfCanada (unregistered)

    The main problem that I have with Java is that for some reason the users of Java seem to think that it is a good idea to create 800 classes for every problem. OOP is great but it is not the only design pattern/philosophy in the book.

    The result is not Spaghetti code but a spaghetti architecture.

  • King Kong (unregistered) in reply to TheCPUWizard
    TheCPUWizard:
    Well for many yeas now x64 and x86 architecture have been.....*cough*virtualmachine*cough*

    (Long gone are the days when the transistors of the ALU directly switched based on bit patterns of the op codes. Every mainstream modern machine is a virtual API to an internal RISC processor....)

    It comes and it goes. The 8086 was microcoded: the 80186 was 10 times faster at the same clock speed because the microcode had been reduced to silicon. The 80286 was then 2 times faster because the clock speed was increased.

    Some of every mainstream modern machine is microcoded. Particularly legacy instructions that are not used anymore.

  • old timer (unregistered)

    Visual BASIC. Lost the battle. Won the war.

  • DonaldK (unregistered) in reply to herpderp
    herpderp:
    Tim:
    TRWTF is the lack of a FRIST comment

    FRIST! (I wrote that comment using Java but it was too slow to really be frist...)

    ^ | |-------- nominated for featured comment

  • Steve The Cynic (cs) in reply to me
    me:
    C++ can only be compiled for one processor architecture and one usage pattern (the pattern proscribed by the programmer).
    Be careful of the difference between "proscribed" and "prescribed". In the context given, "proscribed" means "forbidden" and "prescribed" means "mandated". Given that, and ignoring the occasional pinheadedness of compilers, I'd guess you probably meant "prescribed...

    And don't forget that the Java compiler builds code for one architecture - the JVM. C++ compilers can be made that build code for any architecture (caveat: architectures like the CDC Cybers that have 6-bit character sets (CDC Display Code) aren't compatible with C++, partly because they don't have lower case (makes it hard to even write C++ code), partly because char must be at least 8 bits), although they normally only build for one at a time.

Leave a comment on “Classic WTF: Java is Slow!”

Log In or post as a guest

Replying to comment #:

« Return to Article