Perspectives by RyuO



  • RyuO,

    After having read several of your responses to questions posted in this forum, I came to the conclusion that you're the only one truly qualified to give serious answers to the questions I'm about to pose.

    Here goes...

    1. What is your take on Java applet technology? Remember back in the late 90's, where if you were a Java programmer, oh-my-God you were the hottest s___ on the planet? And these Java "studs" were responsible for creating these wonder applets which took down every Win98 PC they ran on? (I'm not talking about a little crash by the way...I'm talking devastate-your-pc crash.) Now fast forward to present day, where applets are still being created, however they now "work" because now we have the hardware to run them on...just barely mind you. The question: what are your thoughts on past and present Java applets?
    2. In a similar vein, what is your take on Flash web technology? This was the oh-so-cool stuff which crashed your browser back in the day...if it worked at all. Does the word tween ring a bell? Present day Flash "experiments" work if you have the latest and greatest browser...er, most of the time. The question: what are your thoughts on past and present Flash technologies?
    3. This is a general, more theoretical question, taking into account the previous two questions. A technology, when it first appears, is typically more advanced than what the current state of affairs can handle. Therefore, it ends up getting a bad name initially...and by the time the hardware catches up, it's way past the technology's heyday...it may even become obsolete by the time it is truly useable by the public. How does this make you feel? As a developer? As a manager? Thinking back to those late 90's days when Java and Flash developers were so marketable...was it really worth it? The money spent on hiring the ultra-cool applet guru? Was the super-hyped Flash "programmer" a worthy acquisition for the company? These are hard questions, which may inflame certain people...because they were once among their ranks. But that is not my point here. I want to know what is truly important versus what is fleeting and/or hype.

    Thanks for your responses in advance. I know they'll be a joy to read.



  • If you think RyuO is the only qualified person to address your needs, why don't you just send him a private message?



  • I guess I'm not qualified to post in this thread, but that's never stopped me before.

    My 2 cents: I'll take a Flash "applet" over a Java applet any day. Loads faster, looks better, less runtime to download.

    That's only speaking as a user of course, I don't know a lot about ActionScript but I don't think I want to.



  • I'm not ryuo but i'll still post my take on the subject

    @CPound said:

    1. What is your take on Java applet technology? Remember back in the late 90's, where if you were a Java programmer, oh-my-God you were the hottest s___ on the planet? And these Java "studs" were responsible for creating these wonder applets which took down every Win98 PC they ran on? (I'm not talking about a little crash by the way...I'm talking devastate-your-pc crash.) Now fast forward to present day, where applets are still being created, however they now "work" because now we have the hardware to run them on...just barely mind you. The question: what are your thoughts on past and present Java applets?

    They still fucking blow, nothing coming from a single webpage should make an A64/3000+ backed with 2GB of RAM grind to a halt. JAVA APPLETS ARE EVIL, EVIL I TELL YOU

    @CPound said:
    • In a similar vein, what is your take on Flash web technology? This was the oh-so-cool stuff which crashed your browser back in the day...if it worked at all. Does the word tween ring a bell? Present day Flash "experiments" work if you have the latest and greatest browser...er, most of the time. The question: what are your thoughts on past and present Flash technologies?

    I've got no problem with Flash as long as

    • It's used sensibly, which means not for the whole fucking page, not for any menu, and not for the text
    • I'm not the one who has to code it, ActionScript sucks.

    Truth to say, I don't care that much about point 1 as I have FlashBlock on my firefoxes (which means that any website that doesn't seem navigable out of the box i.e., without having to click on all the flashblock targets, is immediately left)

    @CPound said:
    1. This is a general, more theoretical question, taking into account the previous two questions. A technology, when it first appears, is typically more advanced than what the current state of affairs can handle. Therefore, it ends up getting a bad name initially...and by the time the hardware catches up, it's way past the technology's heyday...it may even become obsolete by the time it is truly useable by the public. How does this make you feel? As a developer?

    As a developer and as a user, I think this is wrong. Flash is a nice product and has been for a long time (well, as a user mostly, I wouldn't touch it with a 10ft pole as a dev). It's been badly abused of course, but it's a powerful medium that has it's place.

    Java Applets, on the other hand, universally suck and still make recent machines beg for mercy, which is not acceptable.



  • @masklinn said:

    Java Applets, on the other hand, universally suck and still make recent machines beg for mercy, which is not acceptable.


    You have experienced bad applets.

    The one at map24.com, for example, is really very good, and a prime example of what Java is good for.

    It's just the runtime.

    It's so FUCKING HUGE. That's not necessary. It's ridiculous. It's stupid. The Flash player does the same thing with more graphical [i]schwung[/i] and is much smaller. Can someone explain that to me?



  • @dhromed said:


    It's just the runtime.

    It's so FUCKING HUGE. That's not necessary. It's ridiculous. It's stupid. The Flash player does the same thing with more graphical [i]schwung[/i] and is much smaller. Can someone explain that to me?


    The java runtime includes all the things an applet is not allowed to use. BTW, how large is the .net runtime compared to the java runtime?



  • @ammoQ said:

    @dhromed said:

    It's just the runtime.

    It's so FUCKING HUGE. That's not necessary. It's ridiculous. It's stupid. The Flash player does the same thing with more graphical [i]schwung[/i] and is much smaller. Can someone explain that to me?


    The java runtime includes all the things an applet is not allowed to use. BTW, how large is the .net runtime compared to the java runtime?


    The .Net runtime is equally fucking huge.

    But I realise now, with your comment, that the total runtime will also accomodate standalone desktop applications in Java. Which actually shifts my point a little: why doesn't Sun create a separate "light" runtime for web page applets?

    And still, the flash player plugin also contains a complete language runtime in addition to the Flash native API. Is Javascript really so much simpler than Java/C# that its runtime can be a few megabytes small?



  • @dhromed said:

    @ammoQ said:
    @dhromed said:

    It's just the runtime.

    It's so FUCKING HUGE. That's not necessary. It's ridiculous. It's stupid. The Flash player does the same thing with more graphical [i]schwung[/i] and is much smaller. Can someone explain that to me?


    The java runtime includes all the things an applet is not allowed to use. BTW, how large is the .net runtime compared to the java runtime?


    The .Net runtime is equally fucking huge.

    But I realise now, with your comment, that the total runtime will also accomodate standalone desktop applications in Java. Which actually shifts my point a little: why doesn't Sun create a separate "light" runtime for web page applets?

    And still, the flash player plugin also contains a complete language runtime in addition to the Flash native API. Is Javascript really so much simpler than Java/C# that its runtime can be a few megabytes small?

    I think the thing that's killing us with these runtimes is the disk to memory time.  I only had experience with desktops, but it seems like disk to memory was at its best in the 80s when you could get a good scsi setup that kept up well with the cpu's demands.  Since then, it often feels like the speed of your cpu or the memory bandwidth just doesn't matter.  At the end of the day(or the beginning in this case), you still have to go get a glass of water or something while all that data trickles its way off the disk.  If we could just get past that, all these heavyweight frameworks and things could really live up to their potential.



  • @CPound said:

    This is a general, more theoretical question, taking into account the previous two questions. A technology, when it first appears, is typically more advanced than what the current state of affairs can handle. Therefore, it ends up getting a bad name initially...and by the time the hardware catches up, it's way past the technology's heyday...it may even become obsolete by the time it is truly useable by the public. How does this make you feel? As a developer? As a manager? Thinking back to those late 90's days when Java and Flash developers were so marketable...was it really worth it? The money spent on hiring the ultra-cool applet guru? Was the super-hyped Flash "programmer" a worthy acquisition for the company? These are hard questions, which may inflame certain people...because they were once among their ranks. But that is not my point here. I want to know what is truly important versus what is fleeting and/or hype.
    Thanks for your responses in advance. I know they'll be a joy to read.

    I've always said it's easiest to come up with some vision of our utopian future and sell it to people who should know better.  The next easiest thing is accepting the present and dealing with its limitations.  The hardest thing to do is figure out how to work with what we have and make it better.

    Most people are lucky to make it to the happy middle.  The marginally/narrowly educated spend most of their lives frustrated by the easy solution they think they see to the world's problems.  They are happy to use other peoples' money to achieve utopia, and have an easy time finding someone to blame for everything from pervasive poverty to poor education to toasters that still don't have Java interpreters.

    And since you didn't ask, it used to bother me, but now I've got a "suck it up and roll with the punches" attitude.  I condone whining so long as the whiner is aware that blowing off steam is the only result.  Hey, I feel a little better getting that off my chest.

    By the way, your intro looks passive-aggressive.  Who were you trying to jab with that?



  • @dhromed said:


    why doesn't Sun create a separate "light" runtime for web page applets?


    They want you to install the full runtime, so you might use Java for other purposes later (read: they want to gain market share).
    BTW, before you complain about Java desktop apps being slow and nearly unusable, please consider that I am currently working on a Java desktop app (user interface for a warehouse management system) which is very useable.



  • @ammoQ said:

    @dhromed said:

    why doesn't Sun create a separate "light" runtime for web page applets?


    They want you to install the full runtime, so you might use Java for other purposes later (read: they want to gain market share).
    BTW, before you complain about Java desktop apps being slow and nearly unusable, please consider that I am currently working on a Java desktop app (user interface for a warehouse management system) which is _very_ useable.

    So what do you think gives people the impression that Java is slow on the client?  Is it all outdated information, or is there truth to it?  If it's true, what do you think causes most Java desktop apps to run slow?  Poor coding?  Inherent slowness?



  • @Oscar L said:

    So what do you think gives people the impression that Java is slow on the client?  Is it all outdated information, or is there truth to it?  If it's true, what do you think causes most Java desktop apps to run slow?  Poor coding?  Inherent slowness?



    IMO people try to do too much with Java. A simple form, consisting of some labels, textfields, buttons, maybe a grid, works pretty well. A full-scale textprocessor probably not. I think many java GUIs try too push beyond the natural limits of java. I also suspect the layout managers of Swing to be responsible for some part of the slowness, my programs don't use them.



  • @Oscar L said:

    @ammoQ said:

    @dhromed said:

    why doesn't Sun create a separate "light" runtime for web page applets?


    They want you to install the full runtime, so you might use Java for other purposes later (read: they want to gain market share).
    BTW, before you complain about Java desktop apps being slow and nearly unusable, please consider that I am currently working on a Java desktop app (user interface for a warehouse management system) which is very useable.

    So what do you think gives people the impression that Java is slow on the client?  Is it all outdated information, or is there truth to it?  If it's true, what do you think causes most Java desktop apps to run slow?  Poor coding?  Inherent slowness?



    One of the things I've seen drastically affect Java's performance is anti-virus applications.  Where I work now, we're running McAfee VirusScan Enterprise with the script scanning enabled.  Java applications take forever to load, due to McAfee hogging all the resources and slowing compilation down to a crawl.  Once we disable the anti-virus, they startup almost instantly.  Although this particular issue isn't entirely Java's fault, it does seem to get most of the blame.  In my opinion, Java only deserves around 5% of the blame, and that's just because I don't see the same issue with DotNet.

    I haven't done any real comparisons, but I remember the runtime performing very well on Linux and the like.  I've always remembered the slowness only existing on Windows.  Has anyone else seen this or am I mistaken? 




  • @Oscar L said:

    So what do you think gives people the impression that Java is slow on the client?  Is it all outdated information, or is there truth to it?  If it's true, what do you think causes most Java desktop apps to run slow?  Poor coding?  Inherent slowness?


    I don't know about inherent slowness, but I suspect poor coding has a whole lot to do with it. We're slowly transitioning to a java based replacement to a C gui app, and it is killing us. It takes ages to start up, drags down machines with 512MB of RAM, (most of the time the window is empty and it's still dog slow!) and in general makes me very sad. At least we're not responsible for it. :(



  • @Oscar L said:

    @ammoQ said:

    @dhromed said:

    why doesn't Sun create a separate "light" runtime for web page applets?


    They want you to install the full runtime, so you might use Java for other purposes later (read: they want to gain market share).
    BTW, before you complain about Java desktop apps being slow and nearly unusable, please consider that I am currently working on a Java desktop app (user interface for a warehouse management system) which is very useable.

    So what do you think gives people the impression that Java is slow on the client?  Is it all outdated information, or is there truth to it?  If it's true, what do you think causes most Java desktop apps to run slow?  Poor coding?  Inherent slowness?

    Well, the main part probably comes from the fact that while Java code itself is fast, AWT is fucking slow, and while Swing (or SWT) is much much better, they're still fairly dodgy and require good knowledge of the toolkit to create efficient softwares/interfaces.

    Which mean that even to this day, Java desktop applications are Just Slow.



  • AWT is fucking slow? iirc it's swing that draws all the pixels to the screen manually, AWT that calls the native stuff (but is limited by the lowest common denominator) and SWT that mixes both up.



  • @AI0867 said:

    AWT is fucking slow? iirc it's swing that draws all the pixels to the screen manually, AWT that calls the native stuff (but is limited by the lowest common denominator) and SWT that mixes both up.

    See, that's what really turned me off when I tried to learn Java myself.  I couldn't even figure out which of the many ways to draw my interface was the best one to use.  I understand the need for backward compatibility, but it's very difficult for a newbie to spend forever mining out the framework only to find the wrong way to do what you want to do.  I think there was something similarly confusing with calendars.



  • @masklinn said:

    @Oscar L said:

    @ammoQ said:

    @dhromed said:

    why doesn't Sun create a separate "light" runtime for web page applets?


    They want you to install the full runtime, so you might use Java for other purposes later (read: they want to gain market share).
    BTW, before you complain about Java desktop apps being slow and nearly unusable, please consider that I am currently working on a Java desktop app (user interface for a warehouse management system) which is very useable.

    So what do you think gives people the impression that Java is slow on the client?  Is it all outdated information, or is there truth to it?  If it's true, what do you think causes most Java desktop apps to run slow?  Poor coding?  Inherent slowness?

    Well, the main part probably comes from the fact that while Java code itself is fast, AWT is fucking slow, and while Swing (or SWT) is much much better, they're still fairly dodgy and require good knowledge of the toolkit to create efficient softwares/interfaces.

    Which mean that even to this day, Java desktop applications are Just Slow.

    That explains why I've heard that Java is pretty great on the server, but not so great on the client.  Are the implementations just poor, or is there something about Java that just makes snappy UI code unattainable?



  • @Oscar L said:

    That explains why I've heard that Java is pretty great on the server, but not so great on the client.  Are the implementations just poor, or is there something about Java that just makes snappy UI code unattainable?



    Maybe it's the typical behaviour of the Java community that makes it so slow. If they just wrote a program that does the job, it would be fast enough in many cases. But you know, they just love frameworks. They admire frameworks. They use them wherever possible. As many as possible. Add some best practices in OO, like "program against the interface, not the class" and "always use getters and setters instead of public visible fields" (generally a good idea, but not necessarily the road to faster programs) and you might end with programs that are  bloated and slow, but highly buzzword compliant.



  • Does anyone find it humorus that RyuO appears to be the only one who has not posted in this thread?  Anyways, sorry for the OT, please continue the Java Bashing(tm).




  • @TankerJoe said:

    Does anyone find it humorus that RyuO appears to be the only one who has not posted in this thread?  Anyways, sorry for the OT, please continue the Java Bashing(tm).

    RyoO's posts appearing or not appearing and the apparent surrogate appearance of other posters' repsonses is utterly and completely coincidental.



  • @TankerJoe said:

    Does anyone find it humorus that RyuO appears to be the only one who has not posted in this thread?
    I don't find it humorous.



  • @CPound said:

    @TankerJoe said:
    Does anyone find it humorus that RyuO appears to be the only one who has not posted in this thread?
    I don't find it humorous.


    That's what you get for being silly.





    About the slowness of Java apps:

    - JEdit: slow piece of junk with a clunky feel.
    - Azureus: zippy, but according to many, a resource-hog. I suppose I just have enough RAM+CPU to have it run zippy.

    So one can say:

    It depends.



  • @dhromed said:

    @CPound said:
    @TankerJoe said:
    Does anyone find it humorus that RyuO appears to be the only one who has not posted in this thread?
    I don't find it humorous.


    That's what you get for being silly.





    About the slowness of Java apps:

    - JEdit: slow piece of junk with a clunky feel.
    - Azureus: zippy, but according to many, a resource-hog. I suppose I just have enough RAM+CPU to have it run zippy.

    So one can say:

    It depends.

    azureus isn't the worst, if we're talking about torrent-clients, bitcomet is C++ and reasonably fast, but utorrent is faster and smaller, simply because it doesn't link against the STL.

    as for java programs, I've SEEN a multiplayer RTS written in java that didn't lag, but that's the best java program I've ever touched.



  • @CPound said:

    @TankerJoe said:
    Does anyone find it humorus that RyuO appears to be the only one who has not posted in this thread?
    I don't find it humorous.


    By now I'm beginning to think that RyuO finds it quite humorous as well.



  • RyuO...where are you?!?


Log in to reply