Do you mean, its memory would need to be de-allocated? In C/C++ you would have to do that too, only with more control and responsability.
No, not that (although I could talk about memory management too:-). In Java an array of structures is technically an array of pointers to structures. If you know C, think about the difference between "Point3D x[100]" and "Point3D * x[100]".
But I still agree with you that Java being interpreted impose serious limitations (compared with non interpreted languages) when you talk about 3D rendering.
The problem is not that Java is often interpreted, but that the definition of the language makes it impossible to generate efficient code for some things (like the example abpve). There are static Java compilers producing native code (e.g. GCJ: http://gcc.gnu.org/java/), but even that is an order of mangitude slower than the equivalent C code (note: for some things only, not for everything!).
It is also interesting to note that the existing Java JITs (like Sun's or IBM's) have much better performance than static Java compilers.
A SW renderer isn't particularily hardware bound. All it needs is the ability to write to the frame buffer.
Personally I love Java, but it has inherent limitations that make it very unsuitable for some tasks. Since we are talking about 3D rendering, an array of 3D coordinates in Java is at least an order of magnitude slower to access - every array element is a separate object which must dereferenced. The definition of the language itself makes this unoptimisable - no JIT or static compiler can fix that.
LOL. Same here - designwise SWT looks like a cleaner version of MFC:-) Also, it is worth pointing out that SWT under Linux is 2-3x slower than Windows. Still usable, but sometimes can be quite annoying.
LOL. You must be kidding - all the real work is in the OpenGL code, which isn't written in Java. The real test would be running Quake2 with a software renderer written in Java. We can argue whether it will be 10x or 20x slower...
The GP does sound like he has waaaay too much free time:-)
I wonder what new heights this farce will reach. I guess the best is yet to come. First people were lining up in front of stores days in advance for their Xbox, now they attaching strings to the ceilings, cutting holes and putting fans in the stereo cabinets. Next thing you know they'll be moving to Alaska.
If my DVD player started overheating you'd see me lining up at the store to return it.
I thought the PS3 was going to run Linux, or at least a Linux toolkit will be made available by Sony, so "hacking" it would be pointless, except for pirating games.
I recently had to use SBC's automatic phone menu system and was very pleasantly surprised. The voice recognition has gotten pretty good - it had no problem with my accent. I managed to pay my bill over the phone quickly and efficiently without ever talking to a real person. I really didn't need to, and I am sure it would have been slower if I did.
So, such systems aren't universally bad. The only thing they need is the option to talk to a live person and any given point in the menu. That would make the customers feel secure and calm - sufficiently so that they don't necessarily use it always.
Give me a break. This isn't the second coming of the messiah. It is a game console, for god's sake. There is no need to get prepared - get your credit card, walk to the store, stand in line, buy it, play. For that matter, wait one more week and you don't have to stand in line. Surely, one could survive seven days without the Xbox360 ? Especially considering that there aren't many games available at this time!
It is sad how well trained the consumer has become. We are so eager to take out our wallets and buy anything new, we can hardly wait a day. It doesn't matter what it is - it's new and everybody is buying it! But wait, now that you have a Xbox360 you surely need a big-screen Plasma TV ? And a new speaker system!
On the other hand, this is what keeps our economy strong, so don't listen to me too hard:-)
Thanks for taking the effort to reply. The more I think about it and read the LGPL - the more I think that you are probably right. It seems that from a practical standpoint the LGPL allows unrestricted usage as shared libraries, but not statically linked ones.
I could swear that I have seen non-open sources applications linking statically to Glibc, but now I am not so sure anymore.
OK, but it still doesn't answer my question. How is it going to work in practice ? Obviously there isn't going to be a world database with IP addresses for all human beings and their toasters:-). Perhaps addresses could be distributed geographically (each square meter gets an address), but even that is impractical since it requires infrastructure that doesn't exist.
I admit that I didn't think of the scale, though. Wow. Even if the ISP gave 65536 addresses per subscriber, which as it turns out is nothing for IPv6, that would be more than enough for all practical purposes and most businesses.
I don't know how we are going to be able to remember 128-bit numbers... They look nothing like 192.168.0.1...
No need for NAT with ipv6. Makes it easier for clients to be servers.
That's what everybody says, but how exactly is it going to happen ? Is my ISP going to give me 16 static IPv6 addresses by default ? What if later I need to make them 32 ? Will they be able to give me 16 more while keeping the whole 32 contiguous ?
Or if the ISPs give away, say, 65536 addresses by default, it may turn out that we run out of IPv6 too:-)
This is the smartest comment on the subject I have seen in a long time. My thoughts exactly. DVDs look good on SDTV, so why shouldn't games ?
This reminds me one of the reviews of Doom3, which said that it looked much better when playing in 640x480 with high quality settings, than in 1600x1200 and lower quality settings. I completely agree with that. (Although I think Doom3 sucked as a game, it was visually stunning even in 640x480).
My point is that it impractical to require closed source programs to allow libraries to be user replaceable, to the point that if this requirement is indeed in LGPL, it makes LGPL completely useless.
Additionally, my reading of the LGPL (http://www.gnu.org/copyleft/lesser.html) doesn't exactly coincide with what you are saying, although to be honest I cannot claim that I understand it well. It says:
"If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)"
Are you sure ? I hope not, because it doesn't make a lot of sense. This makes LGPL completely useless. Nobody is going to allow hooks for relinking libraries or allow them to be replaced - this is absurd. I have never seen anything like it.
As far as I remember LGPL is only about preserving the freedom of the library itself - if you modify it, your changes must be distrubuted too, but that is basically all.
Ha ha ha. Don't make me laugh! (Through tears, that is). Healthcare in US is atrocious. I am not saying that the doctors are incompetent (I am not qualified to judge that), but they sure don't try very hard. You have to really insist for tests or real treatment - if you just leave it to the doctor the usual prescription for anything is Tylenol.
That is, only if you are lucky enough to have health insurance. The problem is not only being able to pay for it (most smaller businesses don't pay for their employees health insurance, or cover only up to 20-50%), but even being elligible. Forget about getting personal health insurance if you've been sick before - it is insurance after all - they have to make money, so you'd better not use it!;-)
Sigh, I have no problem with using Apple's software. The problem is there is no way to find out if they have anything that I am interested in at all.
I know nothing about iTunes - what songs and videos are there, how much they cost, etc. So, I go to the web site to see what they have find out whether it would make sense for me to subscribe. Only I can't, because I must subscribe first. It is a Catch 22, see ?
My first purchases from iTunes were this past week, when I bought some episodes of Lost. Slow day at work, no iPod, just my 21" monitor and my headphones. Thanks, Apple, problem solved.
Inspired by your experience (I don't own an iPod) I thought I might too buy some videos to watch on my PC. I went over to www.itunes.com to see what they offer, how much it costs, etc. What the heck, if they have songs of the bands I like, I might even buy an iPod!
What a disappointment that was ! Tell me, where are the frigging videos ? Where is anything on that website ? I don't want to download iTunes (there isn't one for Linux, anyway), I just want to see the song & video lists and prices. Impossible. Wherever I click, I get errors like "itms is not a registered protocol" or I am redirected to a page "http://phobos.apple.com/WebObjects/MZStore.woa/" which is empty.
Fuck that. In Amazon.com I can browse as much as I want without subscribing or downloading anything. Now Apple wants me to reboot in Windows, download and install iTunes, only so that I can see whether there is something that I might possibly want there ?
Give me a feature in Unix and Im sure there is an equivalent in NT. Thousands of smart people working at Redmond are not idiots and millions of corporate architects proposing NT based solutions are not stupid either. They propose windows based technologies not just for looks (though end users do appreciate that).
That's what I used to think.
Here's a feature for you: the SUID bit. NT has nothing like it. Instead, one has to resort to awful complications (services talking through pipes, storing encrypted password, etc, etc). I've been there and it sucks. Terrible complexity leading to terrible bugs.
Your suggestion about the millions of corporate architects not being stupid is not serious. Corporate policy is not determined by technical reasons. Support contracts, availability of trained personnel, integration with 99% of the desktops, etc, etc.
I completely agree. Just ignore the negative comments - they are missing the point.
Graceful degradation from a full AJAX application to basic HTML is impossible. Technically, a parallel Web application has to be developped for that. Which is OK, if the target market requires is, but has nothing to do with AJAX itself.
Whenever a new thing comes out, there are complaints that it isn't backward compatible. The basic form of the complaint goes like this-" I don't need this new thing, since it doesn't run on my _current_ system, and the old thing does approximately the same job. So, the new thing is evil.". We can apply this formula to GUIs, computer games, DHTML and now AJAX:-)
It doesn't work - I clicked on the link and I see a blank screen. I am using Firefox on Debian Sarge and I do have the flash plugin installed. Google Maps works great.
Look at the situation now - it's IE which has to catch up.
Yeah, catch up from 80% to 100% of all users. Poor, poor abandoned IE:-)
Of all people I know, including friends, family and all of my co-workers, only two people use OpenOffice instead of MsOffice. My wife (who doesn't have a choice on our home computer:-) and I. Let me tell you, she is not happy about it. We'll see if the situation changes in our lifetime.
With the exception of spotting a huge space object heading for the planet, doomsday science can be summarily ignored.
and
If a "discovery" is made that yields cool new gadgets that improve my quality of life (TV, computers, polyester, bath puffs) then I believe it.
Honestly, postings like this make me sick (nothing personal), especially when they are as well as written as this one! Sit comfortably in your chair watching your TiVo, sip your wine and hope that everything will magically fix itself in a couple of hundred years. The trees will grow up again by themselves, the water and air will clean themselves, ozone will regenarate, even oil will reappear. You have nothing to worry about.
Your kids ? Who cares about the little bastards ? We'll be long dead before they have to face the garbage dump that we left them for a planet.
If scientific research sounds too off-center, then it must be wrong, because I am sure nothing really bad can happen to me. Nice going...
From the WinFS blog: "It's an amazing opportunity and responsibility. I sometimes think how my young children (just toddlers) will only know WinFS as the filesystem - provided that we build WinFS correctly, and succeed with developers."
Think of the children using the file system! How sweet (not to mention a bit presumptuous).
Excuse me while I throw up.
Of course I fully expect WinFS to go the way of all other nice technologies Microsoft has given us (in no particular order): OLE, ODBC, DAO, ADO, COM, structured storage, DCOM, MTS, MSMQ...
Do you mean, its memory would need to be de-allocated? In C/C++ you would have to do that too, only with more control and responsability.
No, not that (although I could talk about memory management too :-). In Java an array of structures is technically an array of pointers to structures. If you know C, think about the difference between "Point3D x[100]" and "Point3D * x[100]".
But I still agree with you that Java being interpreted impose serious limitations (compared with non interpreted languages) when you talk about 3D rendering.
The problem is not that Java is often interpreted, but that the definition of the language makes it impossible to generate efficient code for some things (like the example abpve). There are static Java compilers producing native code (e.g. GCJ: http://gcc.gnu.org/java/), but even that is an order of mangitude slower than the equivalent C code (note: for some things only, not for everything!).
It is also interesting to note that the existing Java JITs (like Sun's or IBM's) have much better performance than static Java compilers.
A SW renderer isn't particularily hardware bound. All it needs is the ability to write to the frame buffer.
Personally I love Java, but it has inherent limitations that make it very unsuitable for some tasks. Since we are talking about 3D rendering, an array of 3D coordinates in Java is at least an order of magnitude slower to access - every array element is a separate object which must dereferenced. The definition of the language itself makes this unoptimisable - no JIT or static compiler can fix that.
LOL. Same here - designwise SWT looks like a cleaner version of MFC :-) Also, it is worth pointing out that SWT under Linux is 2-3x slower than Windows. Still usable, but sometimes can be quite annoying.
LOL. You must be kidding - all the real work is in the OpenGL code, which isn't written in Java. The real test would be running Quake2 with a software renderer written in Java. We can argue whether it will be 10x or 20x slower ...
You are right. Additionally it appears that the PS2 Linux kit is no longer sold in the USA (much like the Zaurus :-).
The GP does sound like he has waaaay too much free time :-)
I wonder what new heights this farce will reach. I guess the best is yet to come. First people were lining up in front of stores days in advance for their Xbox, now they attaching strings to the ceilings, cutting holes and putting fans in the stereo cabinets. Next thing you know they'll be moving to Alaska.
If my DVD player started overheating you'd see me lining up at the store to return it.
and the PS3-hack that is soon to be.
I thought the PS3 was going to run Linux, or at least a Linux toolkit will be made available by Sony, so "hacking" it would be pointless, except for pirating games.
I recently had to use SBC's automatic phone menu system and was very pleasantly surprised. The voice recognition has gotten pretty good - it had no problem with my accent. I managed to pay my bill over the phone quickly and efficiently without ever talking to a real person. I really didn't need to, and I am sure it would have been slower if I did.
So, such systems aren't universally bad. The only thing they need is the option to talk to a live person and any given point in the menu. That would make the customers feel secure and calm - sufficiently so that they don't necessarily use it always.
What is wrong with your, people ? :-)
Give me a break. This isn't the second coming of the messiah. It is a game console, for god's sake. There is no need to get prepared - get your credit card, walk to the store, stand in line, buy it, play. For that matter, wait one more week and you don't have to stand in line. Surely, one could survive seven days without the Xbox360 ? Especially considering that there aren't many games available at this time!It is sad how well trained the consumer has become. We are so eager to take out our wallets and buy anything new, we can hardly wait a day. It doesn't matter what it is - it's new and everybody is buying it! But wait, now that you have a Xbox360 you surely need a big-screen Plasma TV ? And a new speaker system!
On the other hand, this is what keeps our economy strong, so don't listen to me too hard :-)
Thanks for taking the effort to reply. The more I think about it and read the LGPL - the more I think that you are probably right. It seems that from a practical standpoint the LGPL allows unrestricted usage as shared libraries, but not statically linked ones.
I could swear that I have seen non-open sources applications linking statically to Glibc, but now I am not so sure anymore.
OK, but it still doesn't answer my question. How is it going to work in practice ? Obviously there isn't going to be a world database with IP addresses for all human beings and their toasters :-). Perhaps addresses could be distributed geographically (each square meter gets an address), but even that is impractical since it requires infrastructure that doesn't exist.
... They look nothing like 192.168.0.1 ...
I admit that I didn't think of the scale, though. Wow. Even if the ISP gave 65536 addresses per subscriber, which as it turns out is nothing for IPv6, that would be more than enough for all practical purposes and most businesses.
I don't know how we are going to be able to remember 128-bit numbers
No need for NAT with ipv6. Makes it easier for clients to be servers.
That's what everybody says, but how exactly is it going to happen ? Is my ISP going to give me 16 static IPv6 addresses by default ? What if later I need to make them 32 ? Will they be able to give me 16 more while keeping the whole 32 contiguous ?
Or if the ISPs give away, say, 65536 addresses by default, it may turn out that we run out of IPv6 too :-)
This is the smartest comment on the subject I have seen in a long time. My thoughts exactly. DVDs look good on SDTV, so why shouldn't games ?
This reminds me one of the reviews of Doom3, which said that it looked much better when playing in 640x480 with high quality settings, than in 1600x1200 and lower quality settings. I completely agree with that. (Although I think Doom3 sucked as a game, it was visually stunning even in 640x480).
My point is that it impractical to require closed source programs to allow libraries to be user replaceable, to the point that if this requirement is indeed in LGPL, it makes LGPL completely useless.
...
Additionally, my reading of the LGPL (http://www.gnu.org/copyleft/lesser.html) doesn't exactly coincide with what you are saying, although to be honest I cannot claim that I understand it well. It says:
"If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)"
God only knows what it means
Hmmmm. Interesting. Where is your store located ? I am thinking of opening one myself ... ;-)
Are you sure ? I hope not, because it doesn't make a lot of sense. This makes LGPL completely useless. Nobody is going to allow hooks for relinking libraries or allow them to be replaced - this is absurd. I have never seen anything like it.
As far as I remember LGPL is only about preserving the freedom of the library itself - if you modify it, your changes must be distrubuted too, but that is basically all.
Ha ha ha. Don't make me laugh! (Through tears, that is). Healthcare in US is atrocious. I am not saying that the doctors are incompetent (I am not qualified to judge that), but they sure don't try very hard. You have to really insist for tests or real treatment - if you just leave it to the doctor the usual prescription for anything is Tylenol.
That is, only if you are lucky enough to have health insurance. The problem is not only being able to pay for it (most smaller businesses don't pay for their employees health insurance, or cover only up to 20-50%), but even being elligible. Forget about getting personal health insurance if you've been sick before - it is insurance after all - they have to make money, so you'd better not use it! ;-)
Sigh, I have no problem with using Apple's software. The problem is there is no way to find out if they have anything that I am interested in at all.
I know nothing about iTunes - what songs and videos are there, how much they cost, etc. So, I go to the web site to see what they have find out whether it would make sense for me to subscribe. Only I can't, because I must subscribe first. It is a Catch 22, see ?
My first purchases from iTunes were this past week, when I bought some episodes of Lost. Slow day at work, no iPod, just my 21" monitor and my headphones. Thanks, Apple, problem solved.
Inspired by your experience (I don't own an iPod) I thought I might too buy some videos to watch on my PC. I went over to www.itunes.com to see what they offer, how much it costs, etc. What the heck, if they have songs of the bands I like, I might even buy an iPod!
What a disappointment that was ! Tell me, where are the frigging videos ? Where is anything on that website ? I don't want to download iTunes (there isn't one for Linux, anyway), I just want to see the song & video lists and prices. Impossible. Wherever I click, I get errors like "itms is not a registered protocol" or I am redirected to a page "http://phobos.apple.com/WebObjects/MZStore.woa/" which is empty.
Fuck that. In Amazon.com I can browse as much as I want without subscribing or downloading anything. Now Apple wants me to reboot in Windows, download and install iTunes, only so that I can see whether there is something that I might possibly want there ?
Honestly, people, I don't see how you do it.
Give me a feature in Unix and Im sure there is an equivalent in NT. Thousands of smart people working at Redmond are not idiots and millions of corporate architects proposing NT based solutions are not stupid either. They propose windows based technologies not just for looks (though end users do appreciate that).
That's what I used to think.
Here's a feature for you: the SUID bit. NT has nothing like it. Instead, one has to resort to awful complications (services talking through pipes, storing encrypted password, etc, etc). I've been there and it sucks. Terrible complexity leading to terrible bugs.
Your suggestion about the millions of corporate architects not being stupid is not serious. Corporate policy is not determined by technical reasons. Support contracts, availability of trained personnel, integration with 99% of the desktops, etc, etc.
I completely agree. Just ignore the negative comments - they are missing the point.
:-)
Graceful degradation from a full AJAX application to basic HTML is impossible. Technically, a parallel Web application has to be developped for that. Which is OK, if the target market requires is, but has nothing to do with AJAX itself.
Whenever a new thing comes out, there are complaints that it isn't backward compatible. The basic form of the complaint goes like this-" I don't need this new thing, since it doesn't run on my _current_ system, and the old thing does approximately the same job. So, the new thing is evil.". We can apply this formula to GUIs, computer games, DHTML and now AJAX
It doesn't work - I clicked on the link and I see a blank screen. I am using Firefox on Debian Sarge and I do have the flash plugin installed. Google Maps works great.
Look at the situation now - it's IE which has to catch up.
Yeah, catch up from 80% to 100% of all users. Poor, poor abandoned IE :-)
Of all people I know, including friends, family and all of my co-workers, only two people use OpenOffice instead of MsOffice. My wife (who doesn't have a choice on our home computer :-) and I. Let me tell you, she is not happy about it. We'll see if the situation changes in our lifetime.
With the exception of spotting a huge space object heading for the planet, doomsday science can be summarily ignored.
andIf a "discovery" is made that yields cool new gadgets that improve my quality of life (TV, computers, polyester, bath puffs) then I believe it.
Honestly, postings like this make me sick (nothing personal), especially when they are as well as written as this one! Sit comfortably in your chair watching your TiVo, sip your wine and hope that everything will magically fix itself in a couple of hundred years. The trees will grow up again by themselves, the water and air will clean themselves, ozone will regenarate, even oil will reappear. You have nothing to worry about.
Your kids ? Who cares about the little bastards ? We'll be long dead before they have to face the garbage dump that we left them for a planet.
If scientific research sounds too off-center, then it must be wrong, because I am sure nothing really bad can happen to me. Nice going ...
From the WinFS blog: "It's an amazing opportunity and responsibility. I sometimes think how my young children (just toddlers) will only know WinFS as the filesystem - provided that we build WinFS correctly, and succeed with developers."
...
Think of the children using the file system! How sweet (not to mention a bit presumptuous).
Excuse me while I throw up.
Of course I fully expect WinFS to go the way of all other nice technologies Microsoft has given us (in no particular order): OLE, ODBC, DAO, ADO, COM, structured storage, DCOM, MTS, MSMQ