The broad audience of Windows phones? Broad indeed.
I know that was supposed to be sarcastic. And I know this is Slashdot. However it's true. Ever hear of Pocket PCs? (http://en.wikipedia.org/wiki/Pocketpc) They run an OS that used to be called Windows CE but has recently been rebranded Windows Mobile. Microsoft has been in this market for about a decade, whereas Apple and Google are getting into the market now. Just like in the desktop PC market, Microsoft makes the software and leaves the hardware to other companies (this appears to be Google's strategy too). Tons of smartphones out there run Windows Mobile. Such as the phone I've got, the HTC Mogul from Sprint. It comes with a very capable mobile version of Internet Explorer. (I have an unlimited data plan too.:))
Adobe wants their pound of flesh and neither Microsoft nor Apple is willing to give it to them.
It's not a bad bet on Adobe's part to think Apple or Microsoft will pay up eventually. Everyone knows that Flash will be a "killer app" for either Windows Mobile or the iPhone. (As long as the other party doesn't have it.)
Well, Microsoft has a Flash competitor called Silverlight. By all accounts it is pretty slick, and matches or exceeds Flash in every area. Plus Microsoft owns it. So I don't think Microsoft will have any trouble putting Silverlight into their handhelds. Then they can tout to websites that switching to Silverlight will allow them to reach a broader audience.
Windows Update doesn't use an ActiveX control anymore, starting in Vista / Server 2008. The UI is now through a control panel applet. This makes it completely browser-independent.
I agree that string handling is weak in the standard C library. For the most part, memory management is not combined with string operations. But those can be written easily. Sure, the standard C library can include the functions you mention, but are you sure that's enough? Everyone's going to want to do something different. For example, there's a growing needs for Unicode, in various encodings (e.g. UCS-2, UTF-8). The standard library will never be good enough for everyone, especially when needs change so fast.
BTW, while the occasional malloc() is not disastrous, certain code that does intensive string operations would be slowed down considerably if the only string operations required memory allocations. There is a definite need for performing string operations into a given pre-allocated buffer.
I have a couple of nits regarding your specific suggestions.
>> char *stracpy(char *src) This is strdup(), already in the standard library.
>> strbuf_t strbufalloc(char *src [, size_t size_hint]) C doesn't have optional arguments. Maybe you are thinking of C++?
>> strbuf *strbufcat(strbuf_t string1, strbuf_t string2...) >> The value of string2 may be either a strbuf_t or char **. How does the function determine which type of arg string2 is? C doesn't have function overloading. Again I ask, are you thinking of C++?
On the other hand, in a set {0, 0, 0, 0, 10}, the average is 2, and four out of five are below average! I guess that when the parent poster said that on average, half of the class will be below average... he was right on average (i.e. for an average set of data).;)
This is Slashdot, and no one has picked up on this mathematical mistake yet? The article states "erroneously established pi as the ratio 'five-fourths to four' or 3.2"... um, 5/4 : 4 = 5/16. What the article should have said is "the ratio 'four to five-fourths'". (Kind of a convoluted wording anyway; why not just "the ratio sixteen to five"?)
Microsoft has not given out stock options for the last 7 years, roughly. Since the stock has been basically flat since Y2K, Microsoft realized that stock options are worthless. Instead, they now give out stock awards.
Well, featurewise, NTFS already has just about every filesystem feature known to man. That includes symbol links (added in Vista). So I wouldn't expect radical improvements featurewise. About the only things worthwhile to continue working on are reliability (there are some challenges with ATA drives, because they don't guarantee write-through) and performance.
Technically any OS is an interim release, assuming there was one before it and there will be another after it. But I know what you're saying; you're talking about the size/scope. No, Vista is not an interim release. It's a major release. MS does like to basically alternate between major releases, where they introduce a lot of new capabilities and therefore hardware requirements, and minor releases, where they more or less polish what they already had and try not to piss off people still reeling from hardware requirements of the last major release. Windows 2000 was major; XP was minor; Vista is major; Win7 will be minor; and Win8 will be major. Appropriately enough, you can tell this just from the OS version number. 2000 = 5.0 (major), XP = 5.1 (minor), Vista = 6.0 (major), Win7 = 6.1 (minor), Win8 = 7.0 (major), and so on.
Uhh, Windows 7 is just a codename, the version number always refers to the version of the NT kernel. Vista was 6.0, 2003 was 5.2, XP was 5.1, 2000 was 5.0. Apparently Windows "Seven" will be NT 6.2 signifying that it contains minor kernel changes.
Correction: Windows 7 will be NT 6.1. The version string for Win7 M1 is 6.1.6519.1.
You're right, it will be a relatively minor upgrade, compared to Vista. Vista took forever to release and requires considerably more resources than XP to run efficiently. MS has vowed not to repeat that pattern. Win7 will be to Vista as XP was to 2000. It will run well on hardware that runs Vista well, and offer various minor improvements and streamlining, but nothing earth-shattering.
I think one primary usage scenario that lots of people could benefit from, including yourself, is if you are travelling (airport, hotel) or over at a friend's house. Basically, impromptu browsing.
I agree with what you're saying, that the differences between SKUs is far more than just the differences between kernels. However, your own comparison wasn't totally fair. Windows Server 2003 is clearly newer and better than Windows XP. They are built from different codebases. Windows XP 64-bit Edition would have been a more apt comparison. Remember that Windows XP = NT 5.1; Windows XP 64-bit Edition = Windows Server 2003 = NT 5.2 (yes, identical kernel binaries); Windows Vista = Windows Server 2008 = NT 6.0 (again, identical kernel binaries).
Both... Vista and Windows Server 2008 share the same core like NT always has with the exception of XP/2003 Server.
You're right, XP did not have a corresponding server version based on the same kernel. However when Microsoft came out with Server 2003, they also came out with XP 64-bit. Not many consumers were ready for 64-bit at that time (and 64-bit drivers were scarce, getting a little better now with Vista.) XP 64-bit and Server 2003 share the same kernel.
Itanium is an example of a pure 64-bit environment where you'd have to emulate 32-bit. However that has pretty much been killed in the marketplace in favour of x86-64 (AMD64, whatever you want to call it). These processors run 64-bit natively and 32-bit natively too. If your OS is running on this processor, surely it makes sense to take advantage of this and run 32-bit code natively rather than emulate it??? Way better performance. 32-bit code will be around for a long time so it's important to support it somehow, and natively if possible seems best. As for 8 and 16 bit, there's very little of it still around so it seems to me that it's a good time to start weeding out support. 32-bit Vista will still run it, but 64-bit Vista will not. I appreciate that MS is using 64-bit Vista to start to weed out some of the very old legacy support, and that's why I use it rather than 32-bit.
Not with Windows??? Did you know that Vista (Enterprise and Ultimate, but not Home) comes with a full-disk encryption feature called BitLocker (http://en.wikipedia.org/wiki/Bitlocker)?
Really? So the public should be able to view your tax returns?
Fins and teeth are irrelevant on a shark. What you need to worry about are its lasers.
The situation would certainly improve for Live Search and Yahoo Search...
I'm sorry, but I will not believe this data until Netcraft confirms it.
That's what I'm really holding out for. Maybe this will be possible now, with these new paper-based transistors.
I know that was supposed to be sarcastic. And I know this is Slashdot. However it's true. Ever hear of Pocket PCs? (http://en.wikipedia.org/wiki/Pocketpc) They run an OS that used to be called Windows CE but has recently been rebranded Windows Mobile. Microsoft has been in this market for about a decade, whereas Apple and Google are getting into the market now. Just like in the desktop PC market, Microsoft makes the software and leaves the hardware to other companies (this appears to be Google's strategy too). Tons of smartphones out there run Windows Mobile. Such as the phone I've got, the HTC Mogul from Sprint. It comes with a very capable mobile version of Internet Explorer. (I have an unlimited data plan too. :))
It's not a bad bet on Adobe's part to think Apple or Microsoft will pay up eventually. Everyone knows that Flash will be a "killer app" for either Windows Mobile or the iPhone. (As long as the other party doesn't have it.)
Well, Microsoft has a Flash competitor called Silverlight. By all accounts it is pretty slick, and matches or exceeds Flash in every area. Plus Microsoft owns it. So I don't think Microsoft will have any trouble putting Silverlight into their handhelds. Then they can tout to websites that switching to Silverlight will allow them to reach a broader audience.
Windows Update doesn't use an ActiveX control anymore, starting in Vista / Server 2008. The UI is now through a control panel applet. This makes it completely browser-independent.
WinFS = Windows Future Storage... which you could have easily looked up in Wikipedia.
I agree that string handling is weak in the standard C library. For the most part, memory management is not combined with string operations. But those can be written easily. Sure, the standard C library can include the functions you mention, but are you sure that's enough? Everyone's going to want to do something different. For example, there's a growing needs for Unicode, in various encodings (e.g. UCS-2, UTF-8). The standard library will never be good enough for everyone, especially when needs change so fast.
BTW, while the occasional malloc() is not disastrous, certain code that does intensive string operations would be slowed down considerably if the only string operations required memory allocations. There is a definite need for performing string operations into a given pre-allocated buffer.
I have a couple of nits regarding your specific suggestions.
>> char *stracpy(char *src)
This is strdup(), already in the standard library.
>> strbuf_t strbufalloc(char *src [, size_t size_hint])
C doesn't have optional arguments. Maybe you are thinking of C++?
>> strbuf *strbufcat(strbuf_t string1, strbuf_t string2 ...)
>> The value of string2 may be either a strbuf_t or char **.
How does the function determine which type of arg string2 is? C doesn't have function overloading. Again I ask, are you thinking of C++?
On the other hand, in a set {0, 0, 0, 0, 10}, the average is 2, and four out of five are below average! I guess that when the parent poster said that on average, half of the class will be below average... he was right on average (i.e. for an average set of data). ;)
Actually, in computing in kibishitloads.
This is Slashdot, and no one has picked up on this mathematical mistake yet? The article states "erroneously established pi as the ratio 'five-fourths to four' or 3.2" ... um, 5/4 : 4 = 5/16. What the article should have said is "the ratio 'four to five-fourths'". (Kind of a convoluted wording anyway; why not just "the ratio sixteen to five"?)
Microsoft has not given out stock options for the last 7 years, roughly. Since the stock has been basically flat since Y2K, Microsoft realized that stock options are worthless. Instead, they now give out stock awards.
Er, that should have been *symbolic* links. I should really proofread before submitting.
Well, featurewise, NTFS already has just about every filesystem feature known to man. That includes symbol links (added in Vista). So I wouldn't expect radical improvements featurewise. About the only things worthwhile to continue working on are reliability (there are some challenges with ATA drives, because they don't guarantee write-through) and performance.
Technically any OS is an interim release, assuming there was one before it and there will be another after it. But I know what you're saying; you're talking about the size/scope. No, Vista is not an interim release. It's a major release. MS does like to basically alternate between major releases, where they introduce a lot of new capabilities and therefore hardware requirements, and minor releases, where they more or less polish what they already had and try not to piss off people still reeling from hardware requirements of the last major release. Windows 2000 was major; XP was minor; Vista is major; Win7 will be minor; and Win8 will be major. Appropriately enough, you can tell this just from the OS version number. 2000 = 5.0 (major), XP = 5.1 (minor), Vista = 6.0 (major), Win7 = 6.1 (minor), Win8 = 7.0 (major), and so on.
Correction: Windows 7 will be NT 6.1. The version string for Win7 M1 is 6.1.6519.1. You're right, it will be a relatively minor upgrade, compared to Vista. Vista took forever to release and requires considerably more resources than XP to run efficiently. MS has vowed not to repeat that pattern. Win7 will be to Vista as XP was to 2000. It will run well on hardware that runs Vista well, and offer various minor improvements and streamlining, but nothing earth-shattering.
What, you don't like the idea that somebody out there, somewhere, is eating the exact same steak?
I think one primary usage scenario that lots of people could benefit from, including yourself, is if you are travelling (airport, hotel) or over at a friend's house. Basically, impromptu browsing.
I agree with what you're saying, that the differences between SKUs is far more than just the differences between kernels. However, your own comparison wasn't totally fair. Windows Server 2003 is clearly newer and better than Windows XP. They are built from different codebases. Windows XP 64-bit Edition would have been a more apt comparison. Remember that Windows XP = NT 5.1; Windows XP 64-bit Edition = Windows Server 2003 = NT 5.2 (yes, identical kernel binaries); Windows Vista = Windows Server 2008 = NT 6.0 (again, identical kernel binaries).
You're right, XP did not have a corresponding server version based on the same kernel. However when Microsoft came out with Server 2003, they also came out with XP 64-bit. Not many consumers were ready for 64-bit at that time (and 64-bit drivers were scarce, getting a little better now with Vista.) XP 64-bit and Server 2003 share the same kernel.
Itanium is an example of a pure 64-bit environment where you'd have to emulate 32-bit. However that has pretty much been killed in the marketplace in favour of x86-64 (AMD64, whatever you want to call it). These processors run 64-bit natively and 32-bit natively too. If your OS is running on this processor, surely it makes sense to take advantage of this and run 32-bit code natively rather than emulate it??? Way better performance. 32-bit code will be around for a long time so it's important to support it somehow, and natively if possible seems best. As for 8 and 16 bit, there's very little of it still around so it seems to me that it's a good time to start weeding out support. 32-bit Vista will still run it, but 64-bit Vista will not. I appreciate that MS is using 64-bit Vista to start to weed out some of the very old legacy support, and that's why I use it rather than 32-bit.
Not with Windows??? Did you know that Vista (Enterprise and Ultimate, but not Home) comes with a full-disk encryption feature called BitLocker (http://en.wikipedia.org/wiki/Bitlocker)?
Why is Vista "simply not an option at all"? If you're getting a quad CPU with 8GB, Vista will run extremely well on that, probably faster than XP.