However, OS X is very objectionable to me on other grounds. I used a Mac and was a strong advocate of them for years. Did a little development, hacked around a bunch with the things. Apple killing the clones, though, turned me off. I don't want to just be buying Apple products for the rest of my life -- I wanted an open marketplace, and that will never, ever happen again after that move. And there is no x86 OS X.
I'm talking about an alternative for a direct competitor, same hardware, to Windows -- BSD or Linux.
I agree X is a bit slower but on newer hardware
I know, but one of the things I *like* about Linux is that I can say "Bob, you know that Windows keeps requiring you to buy new hardware...if you use Linux, you can operate efficiently with much less".
UT & QIII are slightly faster than on XP
Yes, but I'm not talking about OpenGL or DGA modes. Linux isn't even remotely in the running for the game market yet, so that isn't so much a concern (though I'm quite pleased that this was done).
You don't have to run Gnome/KDE as you have noted
And I don't -- but all the new major distros ship with it, and besides, a new user *expects* Gnome/KDE-like functionality from their computer. There's nothing that has both the functionality of Windows *and* kicks it in the nuts (or even equals it) in the performance department as desktop environments go, which is a little disappointing.
try applying the low latency patches...as will the 2.6 kernel once it's released
I've tried both 2.5 and at the moment I'm using 2.4 with O(1) and IIRC lowlat installed, plus HZ moved up to 1024.
C, C++, Ada, perl, I dunno, what are you looking for?
Why should a language be designed around maximizing speed?
Because when you design a language, you are setting performance absolutes. A program *cannot* run faster than whatever your language is limiting it to. No hacks or tricks later on can avoid this limitation.
Far less bad is missing functionality, or even imperfect APIs. You can introduce new APIs. You can add new libraries. If the language's native API is too raw for you, you can slap a layer of software on top of it (as much C++ code does with C APIs).
However, there is no way to "fix" bad performance at the language level.
That being said, there are some times that peformance just isn't a big deal. That's okay. The problem is that *everyone* has taken this approach -- there isn't just one or two rapid development languages. Modern, *fast* languages are almost nonexistent (the closest things were the ones I posted above...eiffel and ML).
And everyone says that Moore's law makes performance unnecessary. Fine, but people *upgrade* to a computer that's two or four times as fast. And it's pretty easy, once you throw out the goal of maximizing speed in your language, to lose a factor of two, then four, then ten.
How many apps that are running on your desktop at this minute are in Java? Ten? Five? For me and most others, it's zero. Because Java sucks down RAM and CPU time. It *works*, yes, but it's much slower than a C equivalent is. So there are lots of Java programs, but software that actually gets used is usually written in C or C++. Not because these languages are somehow magically better, but because they have far less overhead. Java has its place, but it's not competitive as a horizontal-market application language.
There are other design goals than speed which are much higher in priority to me.
But those can always be added later. You're setting a bound on the *fastest* an application can run when you design your language. Any tradeoffs you make then impact a horde of developers and users.
Premature optimization is the root of all evil.
This saying, which certainly true, doesn't apply in this case. It's intended to refer to application development. It doesn't say "optimization is bad", it says "optimization without testing -- premature optimization -- is bad". Java has been well tested, and it has a handful of nasty bottlenecks that are well known. You're saying that "optimization is the root of all evil.", which I don't agree with at all.
Beautiful and slow is better than ugly or broken and fast.
In theory, yes.
However, we're talking about a language here, not an application.
C is not broken, though it could be said that it's ugly. Yet most horizontal-market apps are written in C or C++, despite this ugliness. Users *value* performance.
Java's threading support sucks -- it depends on pthreads
[double take] What? That doesn't make sense -- no it doesn't.
Your first alternative is Erlang Umm...Erlang is possibly the slowest major language out there. It's far slower than Java. Look at the The Great Computer Language Shootout.
If they're checking stuff with JS, it's easy to make JS lie about what's happening, and if they're looking to see if image requests come through...well, it's easy to request but not display a pop-up.
I haven't used CORBA, but the two distributed systems PhDs I've worked with gag every time I mention it. I figure that there has to be something wrong there. Plus, this thing has to do parameter marshalling for even local calls?:-(
We do not write drivers
After reading the FAQ, I'm afraid I still don't understand what is hardware accelerated here. If I want to render a translucent, rotated window, is this done in software?
we'd need to carry along tons of code we do not need...xlib
I wonder whether it's reasonable for only 24 bit color to be used. Half of xlib is palette/color space management.
There's only been one X server since XFree86 4.0 came out. He's using a G400, which is one of the better-supported cards on Linux period.
I mean that switching desktops has visible redraw (when I have a bunch of desktops of rxvt and dillo with sawfish, edge flipping is instantaneous on my much slower machine), and that opening a new KDE program takes some time...about 5 seconds for konsole.
And the menus on Open Office...try clicking on a menu and then moving to another menu. It *takes* a while for the next one to come up. It's far slower than, say, the Win32 or gtk widget set.
On the up side, this means that it's much more likely that the ugly Hammer will be stillborn and we'll get a new 64-bit architecture *without* all this IA32 backwards compatibility crap.
Don't be a schmuck about it. These guys are being honest -- Palladium is a move to try to get deals with media companies and help increase MS control over the industry. It's not the doomsday scenerio that Slashdot is portraying it as. There are too many devices that have to be secured for it to work, too many potential holes. Palladium isn't going to be the invincible DRM thingie that Slashdot likes to see it as.
Besides, as long as music comes out of speakers, it can be recorded. Oh, maybe you don't get bit-for-bit quality, but most people are tossing around lossily compressed files anyway. People lived with audio tapes for years that have *far* worse quality than what an approach like this can yield.
Someday, someone is going to manage to link to a virus-infected Word document in a Slashdot article and create mayhem unless Slashdot puts up a ban on links to.doc files in articles.
We are aware of actually how much money it takes to create a cd
This is more than a little misleading. You know how much it takes to burn a CD. You are ignoring the costs of production, marketing (we all hate it, but it's necessary to compete against others that market), and the fact that music is *not* fungible. When you want a CD, you don't want just any CD. You want a particular CD by a particular artist. IMHO, being "ripped off" happens when the other person misleads you about what you're getting. You *know* that you're paying a premium for a particular CD because you can only get it from one place. You aren't being "ripped off".
We know that the artists are getting ripped off, too
Sure, but you using it as a justification to pirate their music is laughable. You aren't going to do anything to drive the associated organizations out of business, you aren't sending a check to the author...you just want "free" music. Admit it.
We know that we aren't actually taking somethign physical...There is no cost to the company.
That is simply stupid. The entire concept of property is completely artifical anyway (remember the deals struck with the American Indians by settlers over land rights, which frequently the natives didn't comprehend?). To say that "intellectual property" or a potential customer has no value or legitimacy is just dumb.
And if it's worth *downloading*, why isn't it worth *paying* for?
Napster the network, the service, that is. I'm connected to 11 Napster networks at this moment, thanks to the excellent Linux lopster client.
Yes, Napster *Inc*'s Napster servers no longer exist. A large number of independent servers have sprung up, however, mostly overseas where the RIAA can't get at them (particularly, for some reason, Italy). The content available is not as comprehensive as it was in Napster's heyday, but if you're looking for a piece of music, it's likely still available.
The "new upgrade" feeling, the rush of excitement when putting the thing together is much better this way. Upgrading every two years means that you notice a bit more snappiness, a bit less paging. No big deal.
But, I still remember upgrading from a Mac Plus to a Power Mac 6100/60. From a monochrome 512x384 8.5 inch or so screen with a wave-synth sound system, 800k floppies, an 68000 chip, no numeric keypad to a system with *16 bit* color, a *14 inch* monitor, a (you may want to sit down for this one) *CD-ROM drive*, a totally different chip architecture, an effectively non-multitasking OS to a cooperatively multitasking one...
Boy, do I agree. Perhaps not a P-133 -- a bit too extreme.
However, give the developers a slow machine, and give them tons of toys for it. Multiple monitors. Input devices, multiple sound cards. They'll produce support for these extra features, and their code will be efficient.
If you do not do the following, please use -MM. It autogenerates dependencies so that when you change a header, affected object files are autorecompiled. It makes everyone's life better.
C++ is still hideously slow to compile with g++.
ccache should be a standard developer tool. Tremendously helpful. Speeds up builds after "make clean"s by a huge amount.
Even Mac users don't really care much about the OS X eye candy, from what I've seen. Eye candy is neat for about a month, and then you just ignore it, unless it slows you down (in which case you turn it off).
The reason you get so many Mac people lauding the UI is because they're fed up with MS's stuff, they like the quality of the software that Apple puts out, and the biggest and most obvious difference between OS X and Windows is the eye candy-filled UI.
Eye candy is good for selling/demoing a machine. It really doesn't matter for long-term use, though. Not many Enlightenment users always use E, and at least not most of the effects (like the water). They just keep it around to show it off, then flip it off and go back to work.
The only thing keeping me from getting a new machine is that I want a CPU that puts out less than 30 watts, peak. That's about my noise-and-heat limit. Current CPUs range from 60 to 80 watts. The PIII was the last significant drop in power usage -- ever since the K6-2 for AMD and the PIII for Intel, power usage has pretty steadily been climing.
If Transmeta's next gen processor gets reasonable performance, I may get it.
Keep in mind that this is a *desktop* I'm talking about, not even a laptop. I'm just sick and tired of all the vacuum-cleaner fans and the hot cases (and the failing hard drives produced by said hot cases) that my friends suffer.
It was the P3, and while they were certainly trying as hard as they possibly could to get the then-hot "Internet-enabled" buzzword in somehow (which *every* tech company was also doing), it wasn't as stupid as you're making it sound.
Intel developed and gave out a bunch of video codecs. These things were pretty size-efficient, and designed for streaming video. They ate a lot of CPU time, and you needed a new processor with SSE to use them. The obvious application for them (given the time) was streaming video over the Internet. With the size improvements, you could get better video faster than with, say, streamed MPEG 1.
So when they're talking about faster video on demand and things like that, they were hardly lying. Oh, it's parodied a lot now, but they there was truth there.
That's not entirely true, though it is becoming more so. I expect the computer gaming market will continue to drop in market share (though probably not in overall size). However, there will be no "death of the computer game".
There are some things that can be done in games on the computer that can't on the console.
1) Experimentation. It's cheaper to launch a computer title than a console title, so you get a lot more interesting new ideas on the computer than the console, though admittedly these usually work their way to the console before long. 2) More flexible standard input devices. Every console has a gamepad, Very few consoles have a mouse, much less a keyboard. There are a signficant number of games that are much better with a mouse. Halo did an impressive job, but it's still nowhere near having a mouse. FPSes are better with a mouse. Same for strategy games and tactical strategy games. I dearly love zangband and ToME, but neither would play well without a keyboard. 3) Games where customizability is key. The quake phenomenon (incredibly popular because of mass modding...well, and mass piracy, which in turn increased the value of multiplayer gaming) simply could not have happened on the console. The heavily saturated market for customizable games has somewhat killed this, though. There were tons of Quake 1 modders and players, but far less so for any one game when Quake 3 came out. Also, older gamers (college age and up) seem to not be so interested in blowing tons of time building a mod. People are willing to pay more, but they want their time to be more enjoyable as well -- you have less free time, you value it more highly. 4) Tweakers and cheaters. Sometimes, it's a lot of fun to give yourself a thousand lives and mow down enemies, or modify the executable to let yourself recharge health twice as fast. Consoles don't usually give you this flexibility. 5) Piracy. It's quite easy to pirate most PC games -- and the cost of a game is significant to, say, a 15 year old. Pirating for the Game Cube is, AFAIK, not feasible, and a PITA for the PS2 and the X-Box. 6) Cutting edge types. Except at release, consoles are generally well behind the computer world in technical resources. Consoles have less RAM, less CPU power, and only at release more GPU power. You can get current new PC games that look much nicer than their PS2 or GC or X-Box equivalents. 7) Resolution. This is a *biggie*. The current TV output standard, which just about every console game is subject to, sucks. I mean, it *really* sucks. You have a lousy resolution, you have interlacing, and you have a crummy color space. You have very blurry pixels. Computer output looks *far* better, and some games simply work much better with a 1024x768 or better resolution than NTSC resolution. You can make readable text that fills up much less of the screen, and you can rely on the player seeing much finer detail. 8) Market. Another big, though oft-overlooked one. Any time you have correlation between your potential market and some characteristic of those people, you can take advantage of it. People who spend a significant amount of time on their computer tend to be better educated, and tend to be older, than the bulk of the market playing console games. There's much more room for things like simulations in your market. 9) Network access. A modern PC is pretty much guaranteed to have some sort of Internet access. On the console, there are attempts to move to an online system, but they haven't worked so well so far. We'll see. 10) Available base functionality. A computer will have a hard drive available. With the exception of the X-Box, developers are limited to memory cards (which may or may not be in the system at any given time). This places some restrictions on how much data the game can generate. Same goes for RAM usage.
You're right about the hardware, and in a sane world, you'd also be right about the software.
But MS keeps changing file formats with new versions of Office. *That* is what keeps the upgrades coming. No one cares about whatever feature was most recently added...compaies just are not willing to present an unprofessional image of not being able to read a document and having to send it back to a (non-techie) client, saying "Please resend this in Office 97 or RTF format".
As for upgrading versions of Windows, I never understood it. It's just dumb. Get patches, but there was little point in moving from NT4 to 2k or 2k to XP. It slows down your machine, and very little software (even today) requires 2k (except for DirectX stuff), much less XP.
I have a friend that uses KDE 3 on an 800Mhz Athlon, and the delay on *that* is enough to bother me.
Finally, I use Open Office on my (faster P2/266), and it's sluggish. Very sluggish. Especially if you switch desktops and have ten or so windows open on the new desktop. And the menus in OO are *awfully* slow.
The hardware you're talking about is, IMHO, quite feasible for use, but not with the software you're talking about. I'd be using black box or sawfish and rox filer. And if I had to use Open Office much and AbiWord didn't cover things...I think I'd buy a faster computer.
He does still have one excellent point -- No UNIX environment that I know of (definitely no lightweight one) has real, Win2k-level alpha-blending support.
Sure, we've had the pseudo-blended stuff that grabs the root window and alpha-blends it since way before Windows did. But Win2k long ago got real blending (you can see other windows behind the current one), and looking at an XP desktop runnin WinAMP (which alpha-blends into the background when it's not the foreground window), Linux has lost pole position in the flashy-sparklies department. Enlightenment used to put Linux up there, but E17 seems to never be coming out, E16 is old, and no one else wants to do eye candy. Dammit, it was awfully useful to impress potential Linux users...
Furthermore, both GNOME and KDE are fucking bloated and slow. GTK2 has improved a bit, but it's still *far* slower than the blisteringly fast GTK1. Qt has always been slow. My solution is to simply not use either -- gkrellm + sawfish + xbindkeys + a couple of scripts makes for an awfully customizable, flexible environment. But most people don't have that option available when they're moving to Linux. To them, Linux *is* "slower" than Windows from a workstation perspective.
* I'll never willingly give up the remote nature of X, but X is somewhat slower (and has *much* higher latency, thanks to the required context switches during a draw operation) than Windows does. * Linux may be a tough cookie, but X is quite killable. The other day, I wrote a program that accidently got into a loop and started opening windows like mad. It made the X environment completely unusable and prevented me from using a keyboard/mouse. Fortunately, there was a Windows box nearby and I could log into my machine and kill the offending process remotely, but for certain X tasks, from the point of view of a workstation end user, Linux is significantly more fragile than Windows.
I *finally* decided that I'm going to upgrade my PII/266 machine (which I use far more than anyone else I know uses their machine) next time an x86 processor that doesn't suck down 60 watts comes out.
Yet the only real reason I'm thinking about it is to get software DVD decoding and be able to use a peppier mozilla (websites increasingly have poor support for more efficient browsers like dillo).
Errr, how about OS X?
:-)
Hehe...okay, good point. I goofed.
However, OS X is very objectionable to me on other grounds. I used a Mac and was a strong advocate of them for years. Did a little development, hacked around a bunch with the things. Apple killing the clones, though, turned me off. I don't want to just be buying Apple products for the rest of my life -- I wanted an open marketplace, and that will never, ever happen again after that move. And there is no x86 OS X.
I'm talking about an alternative for a direct competitor, same hardware, to Windows -- BSD or Linux.
I agree X is a bit slower but on newer hardware
I know, but one of the things I *like* about Linux is that I can say "Bob, you know that Windows keeps requiring you to buy new hardware...if you use Linux, you can operate efficiently with much less".
UT & QIII are slightly faster than on XP
Yes, but I'm not talking about OpenGL or DGA modes. Linux isn't even remotely in the running for the game market yet, so that isn't so much a concern (though I'm quite pleased that this was done).
You don't have to run Gnome/KDE as you have noted
And I don't -- but all the new major distros ship with it, and besides, a new user *expects* Gnome/KDE-like functionality from their computer. There's nothing that has both the functionality of Windows *and* kicks it in the nuts (or even equals it) in the performance department as desktop environments go, which is a little disappointing.
try applying the low latency patches...as will the 2.6 kernel once it's released
I've tried both 2.5 and at the moment I'm using 2.4 with O(1) and IIRC lowlat installed, plus HZ moved up to 1024.
Good threading support compared to what?
C, C++, Ada, perl, I dunno, what are you looking for?
Why should a language be designed around maximizing speed?
Because when you design a language, you are setting performance absolutes. A program *cannot* run faster than whatever your language is limiting it to. No hacks or tricks later on can avoid this limitation.
Far less bad is missing functionality, or even imperfect APIs. You can introduce new APIs. You can add new libraries. If the language's native API is too raw for you, you can slap a layer of software on top of it (as much C++ code does with C APIs).
However, there is no way to "fix" bad performance at the language level.
That being said, there are some times that peformance just isn't a big deal. That's okay. The problem is that *everyone* has taken this approach -- there isn't just one or two rapid development languages. Modern, *fast* languages are almost nonexistent (the closest things were the ones I posted above...eiffel and ML).
And everyone says that Moore's law makes performance unnecessary. Fine, but people *upgrade* to a computer that's two or four times as fast. And it's pretty easy, once you throw out the goal of maximizing speed in your language, to lose a factor of two, then four, then ten.
How many apps that are running on your desktop at this minute are in Java? Ten? Five? For me and most others, it's zero. Because Java sucks down RAM and CPU time. It *works*, yes, but it's much slower than a C equivalent is. So there are lots of Java programs, but software that actually gets used is usually written in C or C++. Not because these languages are somehow magically better, but because they have far less overhead. Java has its place, but it's not competitive as a horizontal-market application language.
There are other design goals than speed which are much higher in priority to me.
But those can always be added later. You're setting a bound on the *fastest* an application can run when you design your language. Any tradeoffs you make then impact a horde of developers and users.
Premature optimization is the root of all evil.
This saying, which certainly true, doesn't apply in this case. It's intended to refer to application development. It doesn't say "optimization is bad", it says "optimization without testing -- premature optimization -- is bad". Java has been well tested, and it has a handful of nasty bottlenecks that are well known. You're saying that "optimization is the root of all evil.", which I don't agree with at all.
Beautiful and slow is better than ugly or broken and fast.
In theory, yes.
However, we're talking about a language here, not an application.
C is not broken, though it could be said that it's ugly. Yet most horizontal-market apps are written in C or C++, despite this ugliness. Users *value* performance.
Java's threading support sucks -- it depends on pthreads
[double take] What? That doesn't make sense -- no it doesn't.
Your first alternative is Erlang
Umm...Erlang is possibly the slowest major language out there. It's far slower than Java. Look at the The Great Computer Language Shootout.
Huh? Access Denied?
I'm using dillo, and nothing comes up.
If they're checking stuff with JS, it's easy to make JS lie about what's happening, and if they're looking to see if image requests come through...well, it's easy to request but not display a pop-up.
Linux on a 286...won't even BOOT
That's not true. There's a backport of Linux to the 286 (I believe the big technical issue was no MMU...).
Yes, Fresco uses CORBA and it is a good thing.
:-(
I haven't used CORBA, but the two distributed systems PhDs I've worked with gag every time I mention it. I figure that there has to be something wrong there. Plus, this thing has to do parameter marshalling for even local calls?
We do not write drivers
After reading the FAQ, I'm afraid I still don't understand what is hardware accelerated here. If I want to render a translucent, rotated window, is this done in software?
we'd need to carry along tons of code we do not need...xlib
I wonder whether it's reasonable for only 24 bit color to be used. Half of xlib is palette/color space management.
There's only been one X server since XFree86 4.0 came out. He's using a G400, which is one of the better-supported cards on Linux period.
I mean that switching desktops has visible redraw (when I have a bunch of desktops of rxvt and dillo with sawfish, edge flipping is instantaneous on my much slower machine), and that opening a new KDE program takes some time...about 5 seconds for konsole.
And the menus on Open Office...try clicking on a menu and then moving to another menu. It *takes* a while for the next one to come up. It's far slower than, say, the Win32 or gtk widget set.
AMD is right...they should diversify into catering like my company.
I'd like 50,000 Athlon microprocessors...oh, and a carrot cake, please. With the little sprinkles.
On the up side, this means that it's much more likely that the ugly Hammer will be stillborn and we'll get a new 64-bit architecture *without* all this IA32 backwards compatibility crap.
Don't be a schmuck about it. These guys are being honest -- Palladium is a move to try to get deals with media companies and help increase MS control over the industry. It's not the doomsday scenerio that Slashdot is portraying it as. There are too many devices that have to be secured for it to work, too many potential holes. Palladium isn't going to be the invincible DRM thingie that Slashdot likes to see it as.
.doc files in articles.
Besides, as long as music comes out of speakers, it can be recorded. Oh, maybe you don't get bit-for-bit quality, but most people are tossing around lossily compressed files anyway. People lived with audio tapes for years that have *far* worse quality than what an approach like this can yield.
Someday, someone is going to manage to link to a virus-infected Word document in a Slashdot article and create mayhem unless Slashdot puts up a ban on links to
We are aware of actually how much money it takes to create a cd
This is more than a little misleading. You know how much it takes to burn a CD. You are ignoring the costs of production, marketing (we all hate it, but it's necessary to compete against others that market), and the fact that music is *not* fungible. When you want a CD, you don't want just any CD. You want a particular CD by a particular artist. IMHO, being "ripped off" happens when the other person misleads you about what you're getting. You *know* that you're paying a premium for a particular CD because you can only get it from one place. You aren't being "ripped off".
We know that the artists are getting ripped off, too
Sure, but you using it as a justification to pirate their music is laughable. You aren't going to do anything to drive the associated organizations out of business, you aren't sending a check to the author...you just want "free" music. Admit it.
We know that we aren't actually taking somethign physical...There is no cost to the company.
That is simply stupid. The entire concept of property is completely artifical anyway (remember the deals struck with the American Indians by settlers over land rights, which frequently the natives didn't comprehend?). To say that "intellectual property" or a potential customer has no value or legitimacy is just dumb.
And if it's worth *downloading*, why isn't it worth *paying* for?
We respect musicians
You can send them a check now. Have you?
Napster the network, the service, that is. I'm connected to 11 Napster networks at this moment, thanks to the excellent Linux lopster client.
Yes, Napster *Inc*'s Napster servers no longer exist. A large number of independent servers have sprung up, however, mostly overseas where the RIAA can't get at them (particularly, for some reason, Italy). The content available is not as comprehensive as it was in Napster's heyday, but if you're looking for a piece of music, it's likely still available.
Oh, yes. I almost forgot.
The "new upgrade" feeling, the rush of excitement when putting the thing together is much better this way. Upgrading every two years means that you notice a bit more snappiness, a bit less paging. No big deal.
But, I still remember upgrading from a Mac Plus to a Power Mac 6100/60. From a monochrome 512x384 8.5 inch or so screen with a wave-synth sound system, 800k floppies, an 68000 chip, no numeric keypad to a system with *16 bit* color, a *14 inch* monitor, a (you may want to sit down for this one) *CD-ROM drive*, a totally different chip architecture, an effectively non-multitasking OS to a cooperatively multitasking one...
Wow. Quite an experience.
Boy, do I agree. Perhaps not a P-133 -- a bit too extreme.
However, give the developers a slow machine, and give them tons of toys for it. Multiple monitors. Input devices, multiple sound cards. They'll produce support for these extra features, and their code will be efficient.
If you do not do the following, please use -MM. It autogenerates dependencies so that when you change a header, affected object files are autorecompiled. It makes everyone's life better.
C++ is still hideously slow to compile with g++.
ccache should be a standard developer tool. Tremendously helpful. Speeds up builds after "make clean"s by a huge amount.
Ah, the title got you reading, didn't it?
Even Mac users don't really care much about the OS X eye candy, from what I've seen. Eye candy is neat for about a month, and then you just ignore it, unless it slows you down (in which case you turn it off).
The reason you get so many Mac people lauding the UI is because they're fed up with MS's stuff, they like the quality of the software that Apple puts out, and the biggest and most obvious difference between OS X and Windows is the eye candy-filled UI.
Eye candy is good for selling/demoing a machine. It really doesn't matter for long-term use, though. Not many Enlightenment users always use E, and at least not most of the effects (like the water). They just keep it around to show it off, then flip it off and go back to work.
The only thing keeping me from getting a new machine is that I want a CPU that puts out less than 30 watts, peak. That's about my noise-and-heat limit. Current CPUs range from 60 to 80 watts. The PIII was the last significant drop in power usage -- ever since the K6-2 for AMD and the PIII for Intel, power usage has pretty steadily been climing.
If Transmeta's next gen processor gets reasonable performance, I may get it.
Keep in mind that this is a *desktop* I'm talking about, not even a laptop. I'm just sick and tired of all the vacuum-cleaner fans and the hot cases (and the failing hard drives produced by said hot cases) that my friends suffer.
Laptop users hate the power usage even more.
It was the P3, and while they were certainly trying as hard as they possibly could to get the then-hot "Internet-enabled" buzzword in somehow (which *every* tech company was also doing), it wasn't as stupid as you're making it sound.
Intel developed and gave out a bunch of video codecs. These things were pretty size-efficient, and designed for streaming video. They ate a lot of CPU time, and you needed a new processor with SSE to use them. The obvious application for them (given the time) was streaming video over the Internet. With the size improvements, you could get better video faster than with, say, streamed MPEG 1.
So when they're talking about faster video on demand and things like that, they were hardly lying. Oh, it's parodied a lot now, but they there was truth there.
That's not entirely true, though it is becoming more so. I expect the computer gaming market will continue to drop in market share (though probably not in overall size). However, there will be no "death of the computer game".
There are some things that can be done in games on the computer that can't on the console.
1) Experimentation. It's cheaper to launch a computer title than a console title, so you get a lot more interesting new ideas on the computer than the console, though admittedly these usually work their way to the console before long.
2) More flexible standard input devices. Every console has a gamepad, Very few consoles have a mouse, much less a keyboard. There are a signficant number of games that are much better with a mouse. Halo did an impressive job, but it's still nowhere near having a mouse. FPSes are better with a mouse. Same for strategy games and tactical strategy games. I dearly love zangband and ToME, but neither would play well without a keyboard.
3) Games where customizability is key. The quake phenomenon (incredibly popular because of mass modding...well, and mass piracy, which in turn increased the value of multiplayer gaming) simply could not have happened on the console. The heavily saturated market for customizable games has somewhat killed this, though. There were tons of Quake 1 modders and players, but far less so for any one game when Quake 3 came out. Also, older gamers (college age and up) seem to not be so interested in blowing tons of time building a mod. People are willing to pay more, but they want their time to be more enjoyable as well -- you have less free time, you value it more highly.
4) Tweakers and cheaters. Sometimes, it's a lot of fun to give yourself a thousand lives and mow down enemies, or modify the executable to let yourself recharge health twice as fast. Consoles don't usually give you this flexibility.
5) Piracy. It's quite easy to pirate most PC games -- and the cost of a game is significant to, say, a 15 year old. Pirating for the Game Cube is, AFAIK, not feasible, and a PITA for the PS2 and the X-Box.
6) Cutting edge types. Except at release, consoles are generally well behind the computer world in technical resources. Consoles have less RAM, less CPU power, and only at release more GPU power. You can get current new PC games that look much nicer than their PS2 or GC or X-Box equivalents.
7) Resolution. This is a *biggie*. The current TV output standard, which just about every console game is subject to, sucks. I mean, it *really* sucks. You have a lousy resolution, you have interlacing, and you have a crummy color space. You have very blurry pixels. Computer output looks *far* better, and some games simply work much better with a 1024x768 or better resolution than NTSC resolution. You can make readable text that fills up much less of the screen, and you can rely on the player seeing much finer detail.
8) Market. Another big, though oft-overlooked one. Any time you have correlation between your potential market and some characteristic of those people, you can take advantage of it. People who spend a significant amount of time on their computer tend to be better educated, and tend to be older, than the bulk of the market playing console games. There's much more room for things like simulations in your market.
9) Network access. A modern PC is pretty much guaranteed to have some sort of Internet access. On the console, there are attempts to move to an online system, but they haven't worked so well so far. We'll see.
10) Available base functionality. A computer will have a hard drive available. With the exception of the X-Box, developers are limited to memory cards (which may or may not be in the system at any given time). This places some restrictions on how much data the game can generate. Same goes for RAM usage.
NT 3.51 was unstable? By what metric?
Umm...no.
You're right about the hardware, and in a sane world, you'd also be right about the software.
But MS keeps changing file formats with new versions of Office. *That* is what keeps the upgrades coming. No one cares about whatever feature was most recently added...compaies just are not willing to present an unprofessional image of not being able to read a document and having to send it back to a (non-techie) client, saying "Please resend this in Office 97 or RTF format".
As for upgrading versions of Windows, I never understood it. It's just dumb. Get patches, but there was little point in moving from NT4 to 2k or 2k to XP. It slows down your machine, and very little software (even today) requires 2k (except for DirectX stuff), much less XP.
I'm going to call you out on this.
I have a friend that uses KDE 3 on an 800Mhz Athlon, and the delay on *that* is enough to bother me.
Finally, I use Open Office on my (faster P2/266), and it's sluggish. Very sluggish. Especially if you switch desktops and have ten or so windows open on the new desktop. And the menus in OO are *awfully* slow.
The hardware you're talking about is, IMHO, quite feasible for use, but not with the software you're talking about. I'd be using black box or sawfish and rox filer. And if I had to use Open Office much and AbiWord didn't cover things...I think I'd buy a faster computer.
He does still have one excellent point -- No UNIX environment that I know of (definitely no lightweight one) has real, Win2k-level alpha-blending support.
Sure, we've had the pseudo-blended stuff that grabs the root window and alpha-blends it since way before Windows did. But Win2k long ago got real blending (you can see other windows behind the current one), and looking at an XP desktop runnin WinAMP (which alpha-blends into the background when it's not the foreground window), Linux has lost pole position in the flashy-sparklies department. Enlightenment used to put Linux up there, but E17 seems to never be coming out, E16 is old, and no one else wants to do eye candy. Dammit, it was awfully useful to impress potential Linux users...
Furthermore, both GNOME and KDE are fucking bloated and slow. GTK2 has improved a bit, but it's still *far* slower than the blisteringly fast GTK1. Qt has always been slow. My solution is to simply not use either -- gkrellm + sawfish + xbindkeys + a couple of scripts makes for an awfully customizable, flexible environment. But most people don't have that option available when they're moving to Linux. To them, Linux *is* "slower" than Windows from a workstation perspective.
* I'll never willingly give up the remote nature of X, but X is somewhat slower (and has *much* higher latency, thanks to the required context switches during a draw operation) than Windows does.
* Linux may be a tough cookie, but X is quite killable. The other day, I wrote a program that accidently got into a loop and started opening windows like mad. It made the X environment completely unusable and prevented me from using a keyboard/mouse. Fortunately, there was a Windows box nearby and I could log into my machine and kill the offending process remotely, but for certain X tasks, from the point of view of a workstation end user, Linux is significantly more fragile than Windows.
The logical conclusion to this is, of course, to elimiate the offending factor -- Windows.
I *finally* decided that I'm going to upgrade my PII/266 machine (which I use far more than anyone else I know uses their machine) next time an x86 processor that doesn't suck down 60 watts comes out.
Yet the only real reason I'm thinking about it is to get software DVD decoding and be able to use a peppier mozilla (websites increasingly have poor support for more efficient browsers like dillo).
It wouldn't surprise me that much if there were custom systems (terminals in banks, low-load servers) that are running MS-DOS or NT 3.51.
Hard drives lasted a lot longer back in those days...