In fact, the Mac & Windows versions of Microsoft Office are not "slightly different." It's been several years since the codebase forked. We're not talking two branches here, folks, we're talking about two separate products.
I love this. "Some benchmarks less than a year ago." How about a citation for that? I'd certainly be interested.
These sorts of comparisons are notoriously difficult because they are often inherently apples-and-oranges comparisons. However, here are a few reasonable (and recent) citations that document a persistent performance gap between Java and C/C++.
@article{ fitzgerald00marmot, author = "Robert P. Fitzgerald and Todd B. Knoblock and Erik Ruf and Bjarne Steensgaard and David Tarditi", title = "Marmot: an optimizing compiler for Java", journal = "Software - Practice and Experience", volume = "30", number = "3", pages = "199-232", year = "2000 }
@inproceedings{ veldema01optimizing, author = "Ronald Veldema and Thilo Kielmann and Henri E. Bal", title = "Optimizing Java-Specific Overheads: Java at the Speed of C?", booktitle = "{HPCN} Europe", pages = "685-692", year = "2001"}
Unsurprisingly, Volvo is not using Windows 98 in their safety concept car. As Motor Trend reported in May, they're using Microsoft's embedded operating system, Windows CE. It's kind of old news that Microsoft has been leading an initiative on embedding CE into cars. Check out the information from MS at Microsoft Windows CE for Automotive.
The best ssh-enabled terminal program I've used is puTTY, which is free and indeed much better than TeraTerm. Links to puTTY are on my nix site, a collection of "UNIX" tools for Windows.
Here's where the story was first reported in the mainstream press, with far more information, analysis, and interviews: Newsweek article by Stephen Levy. You might also want to read Microsoft's own take on this initiative.
error and more info about the photo
on
World's First Photo
·
· Score: 2, Informative
The article at least implies that the photograph has not been on display, which is inaccurate. Until the renovation work, anyone could go into the Harry Ransom Center, on the main campus at the University of Texas, and see the photo. The photograph was kept in a darkened little anteroom which you walked into to see the photo. I've seen it several times and taken visitors to see it as well.
You can get more information about the Ransom Center's photographic collections.
The previous poster suggests that the incorrect muy bein should be spelled muy bien. This is a correct spelling, but misses the grammatical error (hey, this is Slashdot!). bien is (generally) adverbial (meaning "well"), and since we're talking about a DTD, we want to use an adjective ("good"). In other words, the sentence should read "DTD is muy bueno."
We thought about it and decided that Sony may have made the decision that an abort on failed assert() was safer than allowing the code to continue in an unacceptable state. This trade-off makes sense here since safety is far more important than performance in a cell phone. Of course, they could have also just forgotten to define NDEBUG:).
An interesting side note: A friend of mine had his Sony cell phone crash on him. The phone was locked up and on the LCD screen you could clearly read that an assert() had failed. So cell phones are already crashing on us, without any help from Gates & Co.
Which leads to a good reason why Java would help tremendously on such devices. The assertion failure we witnessed was from a zero-deref, something that would throw a Java exception and could be handled better than locking the phone. Countless other common programming problems are handled in a similar fashion in Java (e.g., out-of-bound array accesses). Obviously Sony didn't care too much about making their cell phone program truly robust, but these issues become increasingly important for other, more critical embedded devices.
This makes a nice segue back to multithreaded debugging. Printf is a prime source of "Heisenbugs" in multithreaded code, because it causes code to be serialized behind the big printf lock. Programs with race conditions frequently work fine when printf is used for debugging.
There are non-IDE, non-debugger based workarounds, of course. One I've found to work well is maintaining a per-thread debug log -- this avoids global synchronization and so tends to leave timing more or less intact.
Incidentally, I couldn't agree less with your judgement on debugging tools, etc. The foregoing suggests that you have limited exposure to multithreaded code, where tools make a big difference.
You're right that we need more TPC-W data. It's coming. The important point is that it will be a lot more meaningful for real-world web servers than SPECWeb99.
SPECWeb99 is a terrible benchmark for making a decision of which web server you want to run for a real business. Almost all of the pages in the SPEC benchmark are statically generated. A more useful benchmark is TPC-W, which essentially is Amazon.com (see the TPC website for more info). TPC-C is the standard benchmark for measuring databases, and TPC-W is likely to become the standard for web servers.
If you say "The University of Texas", most people will understand you to mean the flagship Austin campus. The author of this paper is not from the University of Texas. He's from one of the other much smaller and far less prestigious branches of the UT system which should always be referred to by their full names, in this case, UT-Dallas. It provides some useful perspective that this guy does not hail from a top ten business school (i.e., UT) but rather a second or even third-tier institution.
Gotta love the vi users. They really demand user-friendliness from their software! And those high-tech features -- you can scroll up and down! Microsoft's got a lot of catching up to do...
Can you say "device drivers"? That's the problem. Microsoft would have loved to have put the stake through DOS's heart a long time ago, but they couldn't without orphaning lots of hardware & software. Plenty of things still don't work with Win2K. They've spent a LOT of time on "Whistler" (the followon to Win2K) to add more support so people can & will upgrade.
By the way, and I know this may sound shocking, Microsoft really would rather have users running on a real kernel than on DOS. It just makes their software look & run better.
It is rather tourist-centric to equate Disney and Orlando, and completely ludicrous to choose Orlando as the place to study the "tragedy of technology." Not that Orlando doesn't merit study. It's a disaster of a place in so many ways; chain restaurants and strip malls and traffic and subdivisions and sprawl in every direction and basically no capital-C culture to speak of. This has little to do with technology and a lot to do with money, the South, and politics.
In fact, the Mac & Windows versions of Microsoft Office are not "slightly different." It's been several years since the codebase forked. We're not talking two branches here, folks, we're talking about two separate products.
And what's all the fuss about "Zero Day" viruses? As far as I can tell via Google, "Zero Day" was 1/1/2000. So what's a "Zero Day virus"?
I love this. "Some benchmarks less than a year ago." How about a citation for that? I'd certainly be interested.
These sorts of comparisons are notoriously difficult because they are often inherently apples-and-oranges comparisons. However, here are a few reasonable (and recent) citations that document a persistent performance gap between Java and C/C++.
@article{ fitzgerald00marmot, author = "Robert P. Fitzgerald and Todd B. Knoblock and Erik Ruf and Bjarne Steensgaard and David Tarditi", title = "Marmot: an optimizing compiler for Java", journal = "Software - Practice and Experience", volume = "30", number = "3", pages = "199-232", year = "2000 }
@inproceedings{ veldema01optimizing, author = "Ronald Veldema and Thilo Kielmann and Henri E. Bal", title = "Optimizing Java-Specific Overheads: Java at the Speed of C?", booktitle = "{HPCN} Europe", pages = "685-692", year = "2001"}
@article{ prechelt00empirical, author = "Lutz Prechelt", title = "An Empirical Comparison of Seven Programming Languages", journal = "IEEE Computer", volume = "33", number = "10", pages = "23-29", year = "2000" }
Unsurprisingly, Volvo is not using Windows 98 in their safety concept car. As Motor Trend reported in May, they're using Microsoft's embedded operating system, Windows CE. It's kind of old news that Microsoft has been leading an initiative on embedding CE into cars. Check out the information from MS at Microsoft Windows CE for Automotive.
The best ssh-enabled terminal program I've used is puTTY, which is free and indeed much better than TeraTerm. Links to puTTY are on my nix site, a collection of "UNIX" tools for Windows.
The Texas A&M CS dept. homepage now includes, among other rotating photos, pictures of Bjarne and a pointer to the news that he has accepted the endowed faculty position.
Here's where the story was first reported in the mainstream press, with far more information, analysis, and interviews: Newsweek article by Stephen Levy. You might also want to read Microsoft's own take on this initiative.
You can get more information about the Ransom Center's photographic collections.
Here are the patent numbers: 5949972 and 6035426.
You can look these up by going to the US Patent Office search page.
This is a reply from Emery Berger. I've added links to the relevant patents in the text of the first letter from MicroQuill.
The previous poster suggests that the incorrect muy bein should be spelled muy bien. This is a correct spelling, but misses the grammatical error (hey, this is Slashdot!). bien is (generally) adverbial (meaning "well"), and since we're talking about a DTD, we want to use an adjective ("good"). In other words, the sentence should read "DTD is muy bueno."
We thought about it and decided that Sony may have made the decision that an abort on failed assert() was safer than allowing the code to continue in an unacceptable state. This trade-off makes sense here since safety is far more important than performance in a cell phone. Of course, they could have also just forgotten to define NDEBUG :).
Which leads to a good reason why Java would help tremendously on such devices. The assertion failure we witnessed was from a zero-deref, something that would throw a Java exception and could be handled better than locking the phone. Countless other common programming problems are handled in a similar fashion in Java (e.g., out-of-bound array accesses). Obviously Sony didn't care too much about making their cell phone program truly robust, but these issues become increasingly important for other, more critical embedded devices.
This makes a nice segue back to multithreaded debugging. Printf is a prime source of "Heisenbugs" in multithreaded code, because it causes code to be serialized behind the big printf lock. Programs with race conditions frequently work fine when printf is used for debugging. There are non-IDE, non-debugger based workarounds, of course. One I've found to work well is maintaining a per-thread debug log -- this avoids global synchronization and so tends to leave timing more or less intact. Incidentally, I couldn't agree less with your judgement on debugging tools, etc. The foregoing suggests that you have limited exposure to multithreaded code, where tools make a big difference.
You're right that we need more TPC-W data. It's coming. The important point is that it will be a lot more meaningful for real-world web servers than SPECWeb99.
SPECWeb99 is a terrible benchmark for making a decision of which web server you want to run for a real business. Almost all of the pages in the SPEC benchmark are statically generated. A more useful benchmark is TPC-W, which essentially is Amazon.com (see the TPC website for more info). TPC-C is the standard benchmark for measuring databases, and TPC-W is likely to become the standard for web servers.
If you say "The University of Texas", most people will understand you to mean the flagship Austin campus. The author of this paper is not from the University of Texas. He's from one of the other much smaller and far less prestigious branches of the UT system which should always be referred to by their full names, in this case, UT-Dallas. It provides some useful perspective that this guy does not hail from a top ten business school (i.e., UT) but rather a second or even third-tier institution.
Gotta love the vi users. They really demand user-friendliness from their software! And those high-tech features -- you can scroll up and down! Microsoft's got a lot of catching up to do...
By the way, and I know this may sound shocking, Microsoft really would rather have users running on a real kernel than on DOS. It just makes their software look & run better.
It is rather tourist-centric to equate Disney and Orlando, and completely ludicrous to choose Orlando as the place to study the "tragedy of technology." Not that Orlando doesn't merit study. It's a disaster of a place in so many ways; chain restaurants and strip malls and traffic and subdivisions and sprawl in every direction and basically no capital-C culture to speak of. This has little to do with technology and a lot to do with money, the South, and politics.
C'est pas mal, ca... :)