Umm, that would be why Sun is replacing OpenWindows with Gnome?
You seem to have lost complete track of what we are talking about. Here is what we are talking about: the fact that Sun isn't using Java for their own desktop applications suggests that Sun doesn't have much confidence in Java or can't figure out how to write desktop applications in it.
Java is dead as more than a webscripting and teaching language.
Nonsense. Java lives as a server-side applications language and teaching language. It isn't being used for "web scripting" (whatever that may be) because it isn't a scripting language.
Too bad, it had promise, but Python runs circles around it when it comes to backwards-compatability, memory footprint and cross-platform capability.
On the other hand, there are native code compilers for Java that rival C and there are multiple compatible JVM implementations. Altogether, both languages end up being useful for some niches but overall seriously flawed.
GUI though - I think that works pretty well already across platforms. There just aren't a lot of people that seem to be able (or willing) to use Swing very well. Frankly, I can't imagine a GUI I'd rather have if I needed to have heavily customized controls.
Swing widgets themselves work reasonably well and are fairly easy to extend. The problems with Swing and Java are in areas like window management, focus, native LAF, drag-and-drop, and desktop integration. And for many of those problems, there are no easy workarounds because they involve native code.
For server applications only very fast and efficient languages should be used.
There are plenty of things wrong with Java, but lack of speed isn't one of them. Well-written Java code is almost always within a factor of 2 of C/C++, often actually comparable in speed to C/C++.
I find it contradictory that there was such a rivalry in early speed comarisons between MS IIS and Apache,
Bother servers are orders of magnitude faster than they need to be for most applications, so speed comparisons are irrelevant. The problem with IIS is its lack of security, its awful design, and the fact that it's proprietary.
"Portability" does not require being able to run the same byte code everywhere.
There seem to be a number of peeople who either think it doesn't work,
For some things it works. For others, Java fails to offer either WORA or portability. In particular, GUI and multimedia stuff does not work well across platforms in Java.
but to me they seem like they have little expereince with the subject.
Sadly, I have half a dozen years experience trying to make Java GUI portability work. If you are real careful, you can do it, but it requires lots of testing. In the end, for portable GUIs, I think something like wxWindows is better.
Even the best compiler can't work miracles. But languages like Java and C# are reasonably nice for server-side development, and with a decent compiler and reasonable libraries, they can be very effective.
people would have learned by now that putting "Secret Government Property" on a box is not a good idea. Write "Spectrographic Differential Analyzer" on it and everybody will just think that it's a really boring and useless piece of scientific equipment and leave it alone.
I think the primary interest here is "server side Java", doing heavy lifting business applications. Currently Java/J2EE is in a competition with.Net... in a race that has strong parallels with and implications for Unix/Linux vs Windows on the server side.
For server-side apps, it makes no difference whether Microsoft bundles the JRE or not--anybody putting together a bunch of servers is going to install the latest JRE directly from Sun anyway.
In fact, while Java is a decent language for server-side development (and that's pretty much the only thing it's really good at), it's ironic that its cross-platform features in particular are largely irrelevant there: for many other reasons, any reasonable place is going to have a homogeneous server environment for individual web apps, and re-compiling for that server environment is a tiny part of deployment.
So, something like GNU gcj, which requires recompilation for each target platform, may well be the better choice than Sun's bloated JRE: while you don't get universal byte code deployment, which you don't need, gcj binaries start up much faster and consume less resources, which may be more important on your server.
Given that Mono looks like it may become an important part of Gnome, Sun may be shipping a C#-based desktop before they have a Java-based one.
It boggles the mind that after half a dozen years of Java, Sun has not yet moved their default desktop over to Java GUI apps. And Sun has missed lots of great opportunities popularizing Java by failing to deliver desktop apps and utilities that would motivate Windows, UNIX, Linux, and Mac users to download the JRE.
In my experience, all the non-Windows JREs are much worse that the Windows JRE. I have run into problems with graphics performance and incompatible rendering on both Linux and MacOS X. And parts of the multimedia APIs just don't work right on MacOS X.
Sun is delivering a cross-platform environment that targets primarily Windows, and they are doing the other platforms as an afterthought. But Windows developers aren't going to switch to Java in droves no matter how good Sun makes it. What Sun should be focusing on is making the absolute best UNIX/Linux programming and then making it easy to deliver those applications on Windows as well. In different words, Sun's strategy is wrong: they are going after the biggest market, but what they should be doing is going of the market that is most inclined to actually adopt Java.
That is, curiously, the strategy that Mono is adopting: you get excellent Linux support (through Gtk+), but you can also deliver your software on Windows (through the Win32 version of Gtk+). Seems like a more attractive proposition to me.
gcc could use some optimization improvments, and Intel has em.
I'm not so sure. In many of the benchmarks I have seen, differences have been to questionable optimizations by the Intel compiler; often, you can enable the same optimizations in GNU C/C++ if you like, but they aren't on by default.
I suspect that GNU C/C++ might see some improvements in P4-specific optimizations, but they are going to happen.
In general, the best way to help GNU C/C++ to improve is to do benchmarks and track down performance bottlenecks. Throwing out GNU C/C++ for Intel C++ won't be a good solution in the long run.
The choice of optimization flags for GNU C/C++ is pretty simplistic in those benchmarks, and yet it's only about 35% difference in performance. I think the conclusion should be: it doesn't really matter which C/C++ compiler you use.
One particular issue that comes up again and again is that GNU C/C++ doesn't use inline special functions by default because the Pentium instructions are not standards conformant (they apparently don't give correct results for large arguments). Intel seems to inline those with no hesitation. Any benchmark comparison should probably be run with "-ffast-math", in which case the difference between Intel and GNU C/C++ shrinks to 12%. And I wouldn't be surprised if that remainder weren't due to some other questionable shortcuts Intel is taking.
Depends on the platform. Generally, GNU C/C++ is a good compiler. Sometimes, it lags a bit behind one or the other proprietary compiler for some specific chip (e.g., P4), but it usually catches up quickly. The best way to make it catch up quickly is to come up with specific examples where it could do better--the gcc developers are responsive.
M$ does not make any money on the Xbox hardware, they make it on the software. If you saw last weeks post they lost around 380 million on the Xbox.
And why do you think they do that? Microsoft has enough cash to give an Xbox to every American home for free. But they need the actual marketshare and sales numbers in order to get developers to move over to their side.
A few of us buying an Xbox and modding it will not make their Xbox (home entertainment) division profitable.
No, but it will make the alternatives, including PC games, less profitable. And in the long run, that will make the Xbox division profitable and narrow our choices.
However, I'm not particularly concerned about a bit of uranium being dumped in the sea.
Apparently, stuff that goes up has a good chance of being dumped into people's backyards, and that should concern you. In any case, the major problem with nuclear materials in space is political: given how trigger-happy the US is, the last thing the rest of the world wants is large amounts of nuclear power available to the US military from space.
Send me to Mars with a digital camera, a chemistry set, a microscope, a shovel, and a hammer, and I can learn more about Mars in five minutes than Pathfinder could in months.
Sure, but for the cost of sending you, we could send hundreds of unmanned probes. Each of them may take days to accomplish what you can accomplish in minutes, but what does it matter? Mars isn't going anywhere. Furthermore, while running around Mars, you would thoroughly contaminate it.
Have you any idea how limited remote-controlled robots are?
Yes, I have a very good idea of how limited they are. But their limitations are simply not a problem for planetary exploration, in particular if you look at cost/benefit tradeoffs.
What Microsoft needs most is sales numbers for XBox: that's what they need to attract developers. If you give them that, they will take over this part of the computer market as well, and you can bet that they sooner or later figure out how to make their consoles secure. Then you can kiss GPL or open source projects on that platform goodbye. Or do you think Microsoft is just kidding with Palladium?
If you want a low-cost system for playing music and videos, get yourself a Mini-ITX system; they start at around $200. For gaming, pay a little bit more and get yourself a real PC with a high-end graphics card.
With credit-card sized MP3 recorders, it has become almost trivial to record any concert you go to. But being able to get a professional recording of a live concert for a decent price (and $15 seems OK for that service) both makes money for the organizer and gives a better result to the buyer.
Of course, what's particularly neat about this is that it's not a recording company but a radio station network that is doing this (AFAIK, ClearChannel doesn't own any recording companies): they are taking away business from the traditional recording companies. It's another way in which companies are nibbling away at the traditional markets of the recording industry.
Once we decide to go to other planets the lightspeed lag dictates that we will need to send humans out into the Great Deep.
Maybe. I actually have more confidence in robotic probes. In any case, even if we need human presence, the "lightspeed lag" only means that we need to get people into orbit. Sensible human exploration of Mars would mean to send people into Mars orbit and have the planet explored by tele-operated robots. There is absolutely no reason to land people on any of the planets. In fact, the risk of contamination from human presence would be a very good reason not to even if we could afford it.
# A new spaceplane, designed for crew. See the Orbital Space Plane
Why? Even if we want to get crew into space and back again, is it cheaper or safer to land with a space plane than with a capsule? Doesn't look like it. Apollo/Soyuz-style capsules seems safer and cheaper. Of course, with robotic probes, you don't have to worry that much about how to get them back to earth: most don't come back, and for sample return missions, you just drop them.
A new technology, reusable launch vehicle. See the Space Launch Initiative
Sure, cheaper launches are nice. But whether it should be reusable depends on whether that's cheaper. Reusability for reusability's sake is a waste of money. For robotic probes, what we have seems good enough.
Continuing with the Prometheus Project [space.com]. We fucked up when we stopped persuing NERVA/Rover
No, we didn't. Putting any form of nuclear energy into space has profound political implications. And do you really want a nuclear powered rocket to break up like Columbia did? And why? We don't need the capacity for probes.
Mars. Need I say more?
Yeah, like why we should waste enormous amounts of money getting humans to Mars. A fleet of unmanned probes would give us a lot more information in the short term.
Only a few hundreds of billions of dollars in imaginary cash NASA doesn't have...
Your Buck Rogers-style exploration plans cost trillions of dollars, which is a shame, since we could accomplish much more with a fraction of the money if we concentrate on robotic probes.
Gates' plans on purchasing the country [Japan] at the end of fiscal 2004, but he's not sure what to do with it.
Well, we already knew that Gates has some odd misconceptions about the world and is a bit too full of himself. By the size of Japan's annual government budget (around $750bn), even Gates's wealth is kind of small. The entire Japanese GDP is about $3500bn.
First, people come up with stupid business models ("we'll put up copyrighted map data for free and make money from advertising"). Then, when it predictably turns out that people access that data programmatically, they whine.
Let's not screw up our legal system with provisions to protect bogus business models. If streetmap.co.uk cannot figure out how to make money putting up information openly on the Internet, then either they should make room for someone who can, or maybe there just isn't a market there.
1. More L/D means you can control descent rate better [...] 2. Equally important: lateral control gives the Shuttle and other lifting bodies significant crosstrack steering capability. This means that precision landing is possible
The first order of business is not to have the vehicle disintegrate on reentry. Controling descent rate and precision landings are mere conveniences in comparison, as long as the descent rate is acceptable and the landing occurs in a "safe" area.
Those are the options that are available today for hypersonic reentry. Parachutes are only used for the latter portions of the descent (typically subsonic).
Of course, but you are missing the point. By giving up on controlling descent rate or lateral control and just relying on parachutes for the last stage, Soyuz/Apollo-style reentry vehicles can be made much simpler: there are almost no critical systems to fail and I would bet that the heat shielding is much easier to construct as well. And, on top of all that, they are probably cheaper to operate as well.
Compare what happened to Columbia, where people are discussing whether a single tile may have caused "critical control systems" to fail with what Volynov survived in Soyuz 5.
No, you don't. I'm not proposing parachutes as a backup, I'm saying: let's go back to Soyuz/Apollo-style reentry.
So, in short, nice try, but it would never in a million years have saved anyone in a situation like the Columbia faced.
The point is: if you go back to Soyuz/Apollo-style reentry, the reentry vehicle becomes so simple that a Columbia-style accident seems to become pretty unlikely.
At the stage where Columbia broke up, they used heat shields deliberately designed to burn off and help carry the enormous heat with them.
Of course, they did. But if you dispense with wings and controlled landings, such heat shields can be of a much simpler design and there is overall much less machinery that can lead to failure during descent and landing. One of the simplest way of dispensing with wings and simplifying the reentry vehicle is to handle the final stage with parachutes.
Sorry, perhaps I should have connected the dots between the use of parachutes and the simplicity of the overall reentry vehicle a bit more clearly...
Saying we should "go back" to parachutes is misleading.
No, that's exactly what I mean: a traditional, Soyuz-style reentry vehicle, with a simple heat shield and parachutes during the final stage.
You seem to have lost complete track of what we are talking about. Here is what we are talking about: the fact that Sun isn't using Java for their own desktop applications suggests that Sun doesn't have much confidence in Java or can't figure out how to write desktop applications in it.
Java is dead as more than a webscripting and teaching language.
Nonsense. Java lives as a server-side applications language and teaching language. It isn't being used for "web scripting" (whatever that may be) because it isn't a scripting language.
Too bad, it had promise, but Python runs circles around it when it comes to backwards-compatability, memory footprint and cross-platform capability.
On the other hand, there are native code compilers for Java that rival C and there are multiple compatible JVM implementations. Altogether, both languages end up being useful for some niches but overall seriously flawed.
Swing widgets themselves work reasonably well and are fairly easy to extend. The problems with Swing and Java are in areas like window management, focus, native LAF, drag-and-drop, and desktop integration. And for many of those problems, there are no easy workarounds because they involve native code.
There are plenty of things wrong with Java, but lack of speed isn't one of them. Well-written Java code is almost always within a factor of 2 of C/C++, often actually comparable in speed to C/C++.
I find it contradictory that there was such a rivalry in early speed comarisons between MS IIS and Apache,
Bother servers are orders of magnitude faster than they need to be for most applications, so speed comparisons are irrelevant. The problem with IIS is its lack of security, its awful design, and the fact that it's proprietary.
"Portability" does not require being able to run the same byte code everywhere.
There seem to be a number of peeople who either think it doesn't work,
For some things it works. For others, Java fails to offer either WORA or portability. In particular, GUI and multimedia stuff does not work well across platforms in Java.
but to me they seem like they have little expereince with the subject.
Sadly, I have half a dozen years experience trying to make Java GUI portability work. If you are real careful, you can do it, but it requires lots of testing. In the end, for portable GUIs, I think something like wxWindows is better.
Even the best compiler can't work miracles. But languages like Java and C# are reasonably nice for server-side development, and with a decent compiler and reasonable libraries, they can be very effective.
people would have learned by now that putting "Secret Government Property" on a box is not a good idea. Write "Spectrographic Differential Analyzer" on it and everybody will just think that it's a really boring and useless piece of scientific equipment and leave it alone.
For server-side apps, it makes no difference whether Microsoft bundles the JRE or not--anybody putting together a bunch of servers is going to install the latest JRE directly from Sun anyway.
In fact, while Java is a decent language for server-side development (and that's pretty much the only thing it's really good at), it's ironic that its cross-platform features in particular are largely irrelevant there: for many other reasons, any reasonable place is going to have a homogeneous server environment for individual web apps, and re-compiling for that server environment is a tiny part of deployment.
So, something like GNU gcj, which requires recompilation for each target platform, may well be the better choice than Sun's bloated JRE: while you don't get universal byte code deployment, which you don't need, gcj binaries start up much faster and consume less resources, which may be more important on your server.
It boggles the mind that after half a dozen years of Java, Sun has not yet moved their default desktop over to Java GUI apps. And Sun has missed lots of great opportunities popularizing Java by failing to deliver desktop apps and utilities that would motivate Windows, UNIX, Linux, and Mac users to download the JRE.
Sun is delivering a cross-platform environment that targets primarily Windows, and they are doing the other platforms as an afterthought. But Windows developers aren't going to switch to Java in droves no matter how good Sun makes it. What Sun should be focusing on is making the absolute best UNIX/Linux programming and then making it easy to deliver those applications on Windows as well. In different words, Sun's strategy is wrong: they are going after the biggest market, but what they should be doing is going of the market that is most inclined to actually adopt Java.
That is, curiously, the strategy that Mono is adopting: you get excellent Linux support (through Gtk+), but you can also deliver your software on Windows (through the Win32 version of Gtk+). Seems like a more attractive proposition to me.
I'm not so sure. In many of the benchmarks I have seen, differences have been to questionable optimizations by the Intel compiler; often, you can enable the same optimizations in GNU C/C++ if you like, but they aren't on by default.
I suspect that GNU C/C++ might see some improvements in P4-specific optimizations, but they are going to happen.
In general, the best way to help GNU C/C++ to improve is to do benchmarks and track down performance bottlenecks. Throwing out GNU C/C++ for Intel C++ won't be a good solution in the long run.
One particular issue that comes up again and again is that GNU C/C++ doesn't use inline special functions by default because the Pentium instructions are not standards conformant (they apparently don't give correct results for large arguments). Intel seems to inline those with no hesitation. Any benchmark comparison should probably be run with "-ffast-math", in which case the difference between Intel and GNU C/C++ shrinks to 12%. And I wouldn't be surprised if that remainder weren't due to some other questionable shortcuts Intel is taking.
Depends on the platform. Generally, GNU C/C++ is a good compiler. Sometimes, it lags a bit behind one or the other proprietary compiler for some specific chip (e.g., P4), but it usually catches up quickly. The best way to make it catch up quickly is to come up with specific examples where it could do better--the gcc developers are responsive.
And why do you think they do that? Microsoft has enough cash to give an Xbox to every American home for free. But they need the actual marketshare and sales numbers in order to get developers to move over to their side.
A few of us buying an Xbox and modding it will not make their Xbox (home entertainment) division profitable.
No, but it will make the alternatives, including PC games, less profitable. And in the long run, that will make the Xbox division profitable and narrow our choices.
In the future, if all the competitors have gone away, you won't have any alternatives.
Why do you think Bush is poking his fingers into the eyes of the Arab world? Why do you think we keep getting upgraded to "orange alerts"?
Creating fear and starting wars gives politicians power.
Apparently, stuff that goes up has a good chance of being dumped into people's backyards, and that should concern you. In any case, the major problem with nuclear materials in space is political: given how trigger-happy the US is, the last thing the rest of the world wants is large amounts of nuclear power available to the US military from space.
Send me to Mars with a digital camera, a chemistry set, a microscope, a shovel, and a hammer, and I can learn more about Mars in five minutes than Pathfinder could in months.
Sure, but for the cost of sending you, we could send hundreds of unmanned probes. Each of them may take days to accomplish what you can accomplish in minutes, but what does it matter? Mars isn't going anywhere. Furthermore, while running around Mars, you would thoroughly contaminate it.
Have you any idea how limited remote-controlled robots are?
Yes, I have a very good idea of how limited they are. But their limitations are simply not a problem for planetary exploration, in particular if you look at cost/benefit tradeoffs.
If you want a low-cost system for playing music and videos, get yourself a Mini-ITX system; they start at around $200. For gaming, pay a little bit more and get yourself a real PC with a high-end graphics card.
Of course, what's particularly neat about this is that it's not a recording company but a radio station network that is doing this (AFAIK, ClearChannel doesn't own any recording companies): they are taking away business from the traditional recording companies. It's another way in which companies are nibbling away at the traditional markets of the recording industry.
Maybe. I actually have more confidence in robotic probes. In any case, even if we need human presence, the "lightspeed lag" only means that we need to get people into orbit. Sensible human exploration of Mars would mean to send people into Mars orbit and have the planet explored by tele-operated robots. There is absolutely no reason to land people on any of the planets. In fact, the risk of contamination from human presence would be a very good reason not to even if we could afford it.
Why? Even if we want to get crew into space and back again, is it cheaper or safer to land with a space plane than with a capsule? Doesn't look like it. Apollo/Soyuz-style capsules seems safer and cheaper. Of course, with robotic probes, you don't have to worry that much about how to get them back to earth: most don't come back, and for sample return missions, you just drop them.
A new technology, reusable launch vehicle. See the Space Launch Initiative
Sure, cheaper launches are nice. But whether it should be reusable depends on whether that's cheaper. Reusability for reusability's sake is a waste of money. For robotic probes, what we have seems good enough.
Continuing with the Prometheus Project [space.com]. We fucked up when we stopped persuing NERVA/Rover
No, we didn't. Putting any form of nuclear energy into space has profound political implications. And do you really want a nuclear powered rocket to break up like Columbia did? And why? We don't need the capacity for probes.
Mars. Need I say more?
Yeah, like why we should waste enormous amounts of money getting humans to Mars. A fleet of unmanned probes would give us a lot more information in the short term.
Only a few hundreds of billions of dollars in imaginary cash NASA doesn't have...
Your Buck Rogers-style exploration plans cost trillions of dollars, which is a shame, since we could accomplish much more with a fraction of the money if we concentrate on robotic probes.
Well, we already knew that Gates has some odd misconceptions about the world and is a bit too full of himself. By the size of Japan's annual government budget (around $750bn), even Gates's wealth is kind of small. The entire Japanese GDP is about $3500bn.
Let's not screw up our legal system with provisions to protect bogus business models. If streetmap.co.uk cannot figure out how to make money putting up information openly on the Internet, then either they should make room for someone who can, or maybe there just isn't a market there.
The first order of business is not to have the vehicle disintegrate on reentry. Controling descent rate and precision landings are mere conveniences in comparison, as long as the descent rate is acceptable and the landing occurs in a "safe" area.
Those are the options that are available today for hypersonic reentry. Parachutes are only used for the latter portions of the descent (typically subsonic).
Of course, but you are missing the point. By giving up on controlling descent rate or lateral control and just relying on parachutes for the last stage, Soyuz/Apollo-style reentry vehicles can be made much simpler: there are almost no critical systems to fail and I would bet that the heat shielding is much easier to construct as well. And, on top of all that, they are probably cheaper to operate as well.
Compare what happened to Columbia, where people are discussing whether a single tile may have caused "critical control systems" to fail with what Volynov survived in Soyuz 5.
No, you don't. I'm not proposing parachutes as a backup, I'm saying: let's go back to Soyuz/Apollo-style reentry.
So, in short, nice try, but it would never in a million years have saved anyone in a situation like the Columbia faced.
The point is: if you go back to Soyuz/Apollo-style reentry, the reentry vehicle becomes so simple that a Columbia-style accident seems to become pretty unlikely.
Of course, they did. But if you dispense with wings and controlled landings, such heat shields can be of a much simpler design and there is overall much less machinery that can lead to failure during descent and landing. One of the simplest way of dispensing with wings and simplifying the reentry vehicle is to handle the final stage with parachutes.
Sorry, perhaps I should have connected the dots between the use of parachutes and the simplicity of the overall reentry vehicle a bit more clearly...
Saying we should "go back" to parachutes is misleading.
No, that's exactly what I mean: a traditional, Soyuz-style reentry vehicle, with a simple heat shield and parachutes during the final stage.