e.g. The reinstitution of the English literacy test as a way of discouraging immigrants from certain countries.
No, it's a way of discouraging immigrants who can't (or won't) learn how to speak the local language. Why is this a problem ?
I certainly hope you've got better evidence than *a requirement to speak the local language* (something completely independent of race) to demonstrate "racist immigration policies".
If you want a lot of information on the subject, go to my user page, find this same past I made a few months back and read some of the responses there. Links galore. Knock yourself out. Mind blowing.
I did some google searches for your previous posts, since I'm not a subscriber. Some choice quotes:
[...]it seems Australia is full of racist bastards. Basically, white people.
[...]I hate white people as a matter of principle [...]
So, basically, you're a textbook example of ignorant racist bigotry, yet you have the gall to accuse others of being similarly biased - and the best example you seem to be able to support yourself with is a requirement for competency in the local language. Truly a discriminatory condition indeed. Heaven forbid immigrants be capable of actually communicating with their prospective countrymen before being allowed in. Some other unjust requirements Australia has for immigration is decent health, a clean criminal record and the ability to support yourself (and family if relevant) somehow.
Why do I get the feeling you're one of these "controlled immigration == racist" crazies ?
Just look at the history of Australia's immigration policy and notice how it swing back the close-minded direction again in the mid 90's.
How has Australia's immigration policy changed for the worse in the last twenty years (please cite sources) ? If it has changed for the worse, how do you reconcile that and your following comment about immigration being a "POSITIVE economic force" with that last ~10 years being one of the best economic periods of Australia's history ? Surely if Australia's immigration policies had worsened, the economic impact would be negative ?
Ah. Now I see. There's Java kool-aid in the punch bool.
No, it was just a random high level language I used as an example. Although it is interesting to see you completely missed the point due to the chip on your shoulder about Java - not that I should be surprised about that from someone who uses "M$".
Actually, I said, "most features," and I meant most. Much like the vendors who need to sell version X + 1 of their best-seller, you are the one whose scope creeped to include "all the same features" as today's software.
Considering we're comparing "todays software" to "yesterday's software", the features of "todays software" are fairly intrinsic to the discussion.
M$ Word 5.1 for Macintosh had most of the features most folks use in a word processor, including much of what you listed. Percentage-wise, I'd wager around 80-85% of the most-used features were in that nice, clean package. For speed, stability, and security--proportional to functionality-- it's arguably the best version of Word ever released.
Yet, strangely, you'll probably find a whole host of users used to the latest versions of Word who would find it a limiting and frustrating piece of software.
And I never said otherwise.
But you do, with your implication that software hasn't improved, or that the improvements are nothing but bloat.
It's *nice* that Word 200X can do everything it does, and it's nice that new features are available for folks that need or want them. It's not as nice that many of those features come with hidden costs--ever-creeping system requirements, performance hits, security holes, etc.
Any remotely modern PC can run even the latest versions of Word. For those which can't, go back a version or two - if the functionality you want was there in those older versions, it's not going to matter, is it ?
The main thrust of your argument is that because *you* don't perceive sufficient functional improvements to modern software justifying the higher resource usage, then no-one else does. Implicit in this attitude is also that the only improvements in modern software have been in user-visible functionality, rather than also in the underlying architecture and methodologies.
That has *nothing* to do with the quality of the coding done to actually implement those improvements.
You have yet to provide anything more than poorly-justified assumptions to demonstrate the quality of coding has declined.
Here's the problem: your definition of "good software" is "requires few hardware resources". My definition of "good software" is something that solves the problem it was designed to, does so quickly (and that's time starting from identifying what the problem was, not from when the code first runs), is easy to use, is portable and is easily maintained.
Bull. And bull, respectively. Back then, the environment forced coders to hone their skills at creating solid datastructures and efficient algorithms. Those are the keys to great coding, regardless of the language, environment or application. They'd thrive today as they did then.
Eventually, I'm sure they would - once they'd grokked the idea that their time is better spent improving the way their software solves the problem it's meant to, rather than getting it to use 8MB instead of 10MB of RAM.
Similarly, coders of today, if faced with dramatically restricted hardware resources, would adapt.
And here's where we get to your Java-colored kool-aid tongue:..
I randomly picked Java as a language. It could just as easily have been C++, C#, VB, Perl, Python, Ruby or any of a dozen others.
"Better language" is a completely nonsensical concept. There is simply no such thing. Languages are just structures used to describe things in the abstract.
Right. So are you asserting that some languages are not better for "describing" some things ?
Higher level programming languages don't have bugs or security hol
It worked - at worst - just as well as its contemporaries.
Windows 95 didn't run well on low cost hardware for a couple of years after it was released.
A couple of *years* ? WTF are you on ? "Low cost hardware" in late 1997 would have been 133 - 166Mhz Pentiums with 16 - 32MB of RAM. Windows 95 flies on machines like that.
Almost everyone had 4MB of RAM and it ran like shit. People with money spent a ton to install 16MB or more and it ran well.
Windows 95 was *quite* usable in 8MB. 16MB was a high end configuration for a '95 box.
NT on 12MB of RAM? I don't think so.
That's why I said you needed 24 to make it usable.
Windows XP on a dual Pentium Pro?
Dual *Pentium*. Dual 200 Mhz Pentium MMX, to be precise. A dual Pentium Pro would be at least 50% faster, and probably getting close to being "snappy", depending on the hard disk and video card involved.
Usable? I'm guessing you have a tremendous amount of RAM installed (for the motherboard you have) and even then I doubt that many would agree with you that it's usable. Try loading an application or two (Photoship, Firefox, etc) and honestly say you don't find it sluggish... Jeez.
Certainly, it would have been a high end machine for the day (256MB RAM, although it didn't start with that), and it's definitely sluggish, but it's still usable. Nice work on picking two applications that are inherently CPU-intensive (Photoshop) and an absolute pig (Firefox) as well. Not much the OS can do about resource-hungry applications.
The point you seem to be missing here, is that the latest version of Windows runs usably - albeit sluggishly - on hardware that was around ~5 years before its release. Most people keep PCs for 3 - 5 years and don't stress that machines at all in their lifetimes. Thus, aiming for a ~5 year old PC as the baseline for usable performance is a perfectly reasonable thing to do.
Not to mention most people only get Windows with a new PC, and an average PC on sale has always been quite capable of running Windows at the time of its release.
I think your definition of usable differs from the majority.
I don't, because if it did, no-one would be using Windows.
Every time Microsoft has released a new OS, the usable hardware specs (by most people's perception) has been beyond the average hardware of the time.
Bullshit.
A high end machine in 1995 ? 100Mhz Pentium with 32MB. (Win95)
1996 ? 200Mhz Pentium Pro with 64MB (NT4)
1998 ? 350Mhz P2 with 128 - 256MB (Win98)
2000 ? Dual ~700Mhz P3, 256 - 512MB (Win2k)
2001 ? Dual ~1.2Ghz P3, 512 - 1G RAM. (WinXP)
Those are machines that were certainly high end at the time, but not beyond the reaches of the consumer - no more than an above average gaming PC today. All of them would run the Windows release of their day *fast*.
95 ran like crap on average hardware when it came out.
95 ran fine on the ~8MB 486s of 1995.
So did NT.
NT was an OS aimed at the professional workstation and server market. You can't judge its hardware requirements on average consumer-level hardware of the day (although even by that measure, it wasn't outrageous).
So did XP.
A cheap PC in 2001 was a ~900Mhz Celeron with 128MB, quite capable of running XP for basic tasks like web browsing, email and word processing. A more average PC was a ~933Mhz P3 with 256MB, more than adequate for any average user.
So will Vista!!!
Vista runs happily on PCs a year or so old _now_.
I'm not complaining about this - I actually think that Microsoft has a lot to do with pushing the limits of hardware and moving us forward. Their stuff was always so bloated and full-featured that you *needed* the best in order for it to be decent to use.
I'd be fascinated to know what you're comparing against to call Windows "bloate
Once again, just because modern software might have features *you* aren't interested in, doesn't mean no-one else wants them.
Similarly, just because your OS suddenly has the ability to share files, doesn't mean you've got good collaboration capabilities. Yelling out across the room to see if anyone else has a file open doesn't cut it, particularly when that room might be in another country.
My point was that given a limitation 64K of RAM, today's programmers would weep openly whereas yester-coders thrived.
And "yester-coders" would probably have trouble writing good code by todays standards. Giving code the smallest memory footprint possible is no longer a primary criteria.
But languages have nothing do with increasing features, reliability, or security, and improving UI.
Yes, they do. Better languages mean developers have to spend less time fixing (or even worrying about) bugs and language-related security holes (like unchecked buffers) and writing bare-metal optimised code, and have more time to spend on features, improving reliability and UI testing.
If a developer spends 50% less of their time tracking down language-related bugs & security problems, reinventing the wheel or coding in platform-specific special cases, that's 50% more time they could be spending on improving the *important* parts of their software - those that are actually relevant to solving the problem at hand.
Some HLL compilers do better than others, but no compiler can match an efficient assembler programmer for clean code.
I'd be willing to bet compilers create better machine code than 75% of the assembler programmers out there. Not to mention the speed of modern computers has made such bare-metal optimisations largely irrelevant. Why should I care if Bob produces assembler code that runs 20% faster than the machine code the JVM generated from Jim's Java code when that 20% faster translates to two seconds in real time and takes him ten times as long to write and debug ?
There are niche areas where that sort of optimisation is worth it - games programming, scientific computer, etc. But in general it's simply irrelevant. Improving runtime performance by 20% at the cost of an order of magnitude higher development time is simply silly for general-purpose software development. It's an inefficient allocation of resources when 90% of computer time spent idle, waiting for the user to do something.
I think it would be quite fun to fire them up and have a time.
Try it for a week or two without using _any_ modern computers for _any_ purpose the whole time, and see how you feel.
And I think you are placing credit with application programmers when you should place it with the folks who create the hardware, the *solid* OS's and the *solid* shared libraries that the application folks hack on.
Sorry, but no one party can take all the credit. Application developers deserve credit for writing good applications and hardware developers deserve credit for creating faster hardware. There is no reason why the recognition of either one must exclude the other.
It DID have a GUI, and in many cases it ran as well as Windows 95.
What Linux GUI are you thinking of that was even close to being as functional and featured as Windows in 1995 ?
Shit, you'd barely be able to find a Linux GUI that was a functional and featured as Windows 95 in 2000.
There were loads of rough edges on the distros, but that was due less to Linux and more to no substantive commercial support or any of the "advanced" apps we've ended up with over the years.
I think you'll find it had a lot more to do with Linux's user demographics, who simply didn't care about the "rough edges".
In a couple of years' time, you'd have KDE in it's infancy, which DID run on a 486 machine with 64Mb of RAM and you would see ApplixWare arrive for Linux.
A machine on which the original Windows 95 absolutely *flies*. Not to mention it's laughable to try and compare KDE betas to the Windows (or MacOS) GUI.
Was it faster and more capable than Windows 95? Yes.
No, it wasn't. Possibly more "capable" if you were a unix user after virtual desktops and a million obscure configuration options (and not interested in things like decent copy & paste, UI, file management or system integration), but no way in hell was it faster.
If you seriously think the typical desktop user would find the early beta (and even release) versions of KDE as "capable" as the Windows of the day, you're delusional.
Windows typically requires 2-4 times the resources over a comparable Linux installation to accomplish usable tasks.
This is such ridiculous hyperbole I can only assume you're trolling. Linux didn't even _have_ a decent GUI environment until GNOME and KDE started to mature ca. 2000 - 2001 and both of those have consistently required - at *best* - similar hardware resources to Windows to provide an equivalent environment.
Only with a LOT of patience as it swap-thrashes all to hell. Slackware, on the other hand...:-)
...Is equally useless in the context of anything that it makes sense to compare Windows to. I'm sure a 2.2 kernel and vi will run on a 4MB 386, but it's hardly something the typical Windows user is interested in doing.
Instead of comparing a present-day Linux distro on that hardware to Win95, compare a 1995 distro and see how it looks. I'll bet you not only have a GUI, it'll be faster than the GatesWare.
Clearly spoken by someone who didn't live through it...
[...] even the latest Linux kernel will run decently even on an old 386 with 8MB RAM, along with the latest versions of the GNU userland, X, a text editor like vim or emacs, and maybe even lynx.
It took a long time for Windows to be able to run well on low cost hardware.
Huh ? Windows has always worked well on older hardware. That's one of its strengths.
Windows 95 targeted a minimum of a 386 processor and 4MB RAM (and was (barely) usable on such). A high end 386 (DX33 or higher) with 6-8MB was sufficient for usable performance. So Windows 95 had a minimum hardware requirement of CPU that was ten years old.
NT4 (1996) had a minimum requirement of a 486 and 12MB. A top-end 486 or bottom end Pentium with 24 - 32 MB was usable. The 486 was released in 1989.
Windows 2000 required a Pentium with 64MB. A Pentium 1 with 128MB was usable. The Pentium was released in 1993.
Windows XP required a Pentium with 128MB. A high-end Pentium (that's Pentium 1) with 192MB is usable. I have XP installed here in a dual Pentium 200 dating from about 1996 and it's usable.
At which point in history have Windows's requirements ever been unreasonable ? It's highly unusual for a current version of Windows not to be usable on hardware up to about 5 years old, perhaps requiring a very modest RAM upgrade.
It's easy for admins to plan their downtimes unless they have windows update run automaticaly every day or sometinh - there is even a tool that lets admins collect patches and roll them out locally on a schedule (although it needs a dedicated machine and insane amounts of resources... the minimum is 512MB and it isn't happy in less than 1GB, so many admins understandably can't run it due to hardware/budget limitations).
Rubbish. It runs quite happily on a multipurpose machine. For small shops, the fileserver or one of the domain controllers would be a reasonable choice.
After Linux first showed signs of becoming popular, Microsoft quickly upgraded Windows NT into a passably professional server product (Windows XP).
NT4, back in 1996, was the first "passably professional server product" when it started displacing Netware in significant amounts. That would be ca. Red Hat Linux 2.0.
But if Bill Gates' big speech to the CES was about a home entertainment computer, I wonder if the company is going to actually think about making their server product more secure at all.
When properly managed, their server product is *at least* as secure as its contemporaries.
I had an Apple II+ back in the day (upgraded to 64K RAM) that ran M$ Flight Sim 2--in "hi-res" color and with polygonally-rendered scenery. Today's mininum hardware and software requirements for sims & games is obscene. Yes, the latest include heavy texture objects and magnitudes more polygons, but c'mon...64K total RAM to 512M video mem + multiple Gig of system RAM? I call "bloated coding".
? The graphics improvements *alone* are mind boggling. Just the amount of raw data being thrown out to the screen would be orders of magnitude greater (let alone the processing involved to generate it). Textures are *megabytes* in size (that's why you need 128M+ video cards). Screen resolution has gone from ~300x200 to ~1600x1200. Colour depth has gone from ~3 bits to 32 bits. This is before even getting into the much larger game "world", the higher "resolution" it runs at and all the additional activity that goes on you can't see, like other planes flying around, weather conditions, etc.
If you're going to call "bloat", games are probably the worst example you could choose:). They would be one of the few areas left in computing where "small and tight" code is more important than "robust and maintainable" code.
I don't play games that often, but to me, the differences between an old Apple ][ or DOS version of Flight Similator are one of the best examples of how much software has improved.
Productivity software? I had a Mac SE/30 with 1M of RAM and a 20M hdd--still do, somewhere. It ran M$ Word 5.1 and a layout/design program called "Ready, Set, Go!", which at the time rivaled Pagemaker & Quark. The executables for those pieces of software fit on one floppy each, and they did almost everything today's wordprocessing and layout programs do. I call "very, very bloated coding".
Almost everything ? Realtime spelling and grammar checking ? Realtime repagination & layout ? Help systems with complex human-language interpreters ? OLE ? Inline display (or other manipulation) of embedded or externally-linked objects, documents and data ? Trivially created and manipulated tables ? Multiuser collaboration ? Revision tracking ? Complex macro capabilities ? Good UI ?
How portable were they ? Were they written in high level languages or assembler ? How often were they patched ? How quickly after errors were reported were patches available ? How many languages did they come in ? How consistent was the UI ? How long could you use them without restarting them ? How did the system handle multitasking ?
Just because you mightn't use all the features of modern software, doesn't mean they're not there. Similarly, not all the improvements in modern software are visible (or even directly relevant) to the user.
Ask a few industry professionals if they'd prefer to be using modern software or twenty year old software to do their jobs. I doubt you'll find many who will opt for the latter. Also ask a few coders who have been in the game 20+ years and see if they'd prefer developing for and with twenty year old technology or modern computers and IDEs.
Better coding practices? Please, old-school coders programmed much tighter code, because there was no other option.
That doesn't mean it was better. How much user-input checking do think went on in software written in assembler to run on machines with RAM measured in kilobytes ? How much bounds checking do you think was going on ? How much portability and generality do you think there is in a piece of software written for a specific *machine* (not even platform) ?
Memory cost a freakin' fortune. I wager there aren't many coders today that could do what they did given the same resources.
And quite frankly, given how cheap hardware is today, I think it's much preferable developers spend their time concentrating on the best way their software can solve the problem(s) at hand, rather than whether or not they can afford the extra memory to store the dat
See, that is the thrust of my argument. I really don't think the software side has improved at anywhere near the rate of hardware.
Well, maybe you should fire up a PC with DOS 2.x, Windows 1.0 and Wordstar for a week or two and reconsider:).
I feel that most of the "improvements" we see are really just feature creep and flash. Very little substance.
Without any idea of what you deem "substance" it's impossible to reply. However, software today is doing a *lot* more than software was twenty years ago. Heck, just the improvements in maintainability and robustness from better coding practices and higher level languages probably "cost" an order of magnitude in performance.
99% of the time, the bottleneck in any system is the end user(s). Twenty years ago, that number would have been a lot lower.
Every now and then I power up an old Mac Plus, just to remind myself how far we've come. It's really quite amazing how much stuff I take for granted that is simply impossible on the old girl (and it's an absolute *beast* of a Plus - 4M RAM and a 100M SCSI drive).
No, some of the same people were involved but unfortuately they are very different things.
I'm assuming here that by "some" you mean "pretty much all of the important ones" and you're not trying to be deliberately misleading.
If MS had bought VMS then Windows NT would most likely be a much better thing - some decent documentaion like VMS was famous for would have been good for a start.
In what ways do you find the documentation in MSDN lacking ?
Why is it that the capabilities of the machine have increased by 4 (or more) orders of magnitude, yet the software still takes as long to load and doesn't really do more except look pretty? And, no I am not talking about the high end 3D games. I am talking about the average business programs.
Could it possibly be because the software has also improved by orders of magnitude as well ?
BeOS did/does video better than anything else around, and is more modern than windows or linux.
Yeah, so "modern" it was single user without a network-aware GUI, a half-arsed network stack, dismal hardware support and couldn't handle more than a gig of RAM. Cutting edge indeed.
BeOS was a nice little technology demo - I liked playing around with it as much as the next guy - but it failed dismally in the market. Mainly because it didn't do anything markedly better than the alternatives and most things a lot worse or not at all.
No, it's a way of discouraging immigrants who can't (or won't) learn how to speak the local language. Why is this a problem ?
I certainly hope you've got better evidence than *a requirement to speak the local language* (something completely independent of race) to demonstrate "racist immigration policies".
If you want a lot of information on the subject, go to my user page, find this same past I made a few months back and read some of the responses there. Links galore. Knock yourself out. Mind blowing.
I did some google searches for your previous posts, since I'm not a subscriber. Some choice quotes:
So, basically, you're a textbook example of ignorant racist bigotry, yet you have the gall to accuse others of being similarly biased - and the best example you seem to be able to support yourself with is a requirement for competency in the local language. Truly a discriminatory condition indeed. Heaven forbid immigrants be capable of actually communicating with their prospective countrymen before being allowed in. Some other unjust requirements Australia has for immigration is decent health, a clean criminal record and the ability to support yourself (and family if relevant) somehow.
Why do I get the feeling you're one of these "controlled immigration == racist" crazies ?
How has Australia's immigration policy changed for the worse in the last twenty years (please cite sources) ? If it has changed for the worse, how do you reconcile that and your following comment about immigration being a "POSITIVE economic force" with that last ~10 years being one of the best economic periods of Australia's history ? Surely if Australia's immigration policies had worsened, the economic impact would be negative ?
No, it was just a random high level language I used as an example. Although it is interesting to see you completely missed the point due to the chip on your shoulder about Java - not that I should be surprised about that from someone who uses "M$".
Actually, I said, "most features," and I meant most. Much like the vendors who need to sell version X + 1 of their best-seller, you are the one whose scope creeped to include "all the same features" as today's software.
Considering we're comparing "todays software" to "yesterday's software", the features of "todays software" are fairly intrinsic to the discussion.
M$ Word 5.1 for Macintosh had most of the features most folks use in a word processor, including much of what you listed. Percentage-wise, I'd wager around 80-85% of the most-used features were in that nice, clean package. For speed, stability, and security--proportional to functionality-- it's arguably the best version of Word ever released.
Yet, strangely, you'll probably find a whole host of users used to the latest versions of Word who would find it a limiting and frustrating piece of software.
And I never said otherwise.
But you do, with your implication that software hasn't improved, or that the improvements are nothing but bloat.
It's *nice* that Word 200X can do everything it does, and it's nice that new features are available for folks that need or want them. It's not as nice that many of those features come with hidden costs--ever-creeping system requirements, performance hits, security holes, etc.
Any remotely modern PC can run even the latest versions of Word. For those which can't, go back a version or two - if the functionality you want was there in those older versions, it's not going to matter, is it ?
The main thrust of your argument is that because *you* don't perceive sufficient functional improvements to modern software justifying the higher resource usage, then no-one else does. Implicit in this attitude is also that the only improvements in modern software have been in user-visible functionality, rather than also in the underlying architecture and methodologies.
That has *nothing* to do with the quality of the coding done to actually implement those improvements.
You have yet to provide anything more than poorly-justified assumptions to demonstrate the quality of coding has declined.
Here's the problem: your definition of "good software" is "requires few hardware resources". My definition of "good software" is something that solves the problem it was designed to, does so quickly (and that's time starting from identifying what the problem was, not from when the code first runs), is easy to use, is portable and is easily maintained.
Bull. And bull, respectively. Back then, the environment forced coders to hone their skills at creating solid datastructures and efficient algorithms. Those are the keys to great coding, regardless of the language, environment or application. They'd thrive today as they did then.
Eventually, I'm sure they would - once they'd grokked the idea that their time is better spent improving the way their software solves the problem it's meant to, rather than getting it to use 8MB instead of 10MB of RAM.
Similarly, coders of today, if faced with dramatically restricted hardware resources, would adapt.
And here's where we get to your Java-colored kool-aid tongue:..
I randomly picked Java as a language. It could just as easily have been C++, C#, VB, Perl, Python, Ruby or any of a dozen others.
"Better language" is a completely nonsensical concept. There is simply no such thing. Languages are just structures used to describe things in the abstract.
Right. So are you asserting that some languages are not better for "describing" some things ?
Higher level programming languages don't have bugs or security hol
It worked - at worst - just as well as its contemporaries.
Windows 95 didn't run well on low cost hardware for a couple of years after it was released.
A couple of *years* ? WTF are you on ? "Low cost hardware" in late 1997 would have been 133 - 166Mhz Pentiums with 16 - 32MB of RAM. Windows 95 flies on machines like that.
Almost everyone had 4MB of RAM and it ran like shit. People with money spent a ton to install 16MB or more and it ran well.
Windows 95 was *quite* usable in 8MB. 16MB was a high end configuration for a '95 box.
NT on 12MB of RAM? I don't think so.
That's why I said you needed 24 to make it usable.
Windows XP on a dual Pentium Pro?
Dual *Pentium*. Dual 200 Mhz Pentium MMX, to be precise. A dual Pentium Pro would be at least 50% faster, and probably getting close to being "snappy", depending on the hard disk and video card involved.
Usable? I'm guessing you have a tremendous amount of RAM installed (for the motherboard you have) and even then I doubt that many would agree with you that it's usable. Try loading an application or two (Photoship, Firefox, etc) and honestly say you don't find it sluggish... Jeez.
Certainly, it would have been a high end machine for the day (256MB RAM, although it didn't start with that), and it's definitely sluggish, but it's still usable. Nice work on picking two applications that are inherently CPU-intensive (Photoshop) and an absolute pig (Firefox) as well. Not much the OS can do about resource-hungry applications.
The point you seem to be missing here, is that the latest version of Windows runs usably - albeit sluggishly - on hardware that was around ~5 years before its release. Most people keep PCs for 3 - 5 years and don't stress that machines at all in their lifetimes. Thus, aiming for a ~5 year old PC as the baseline for usable performance is a perfectly reasonable thing to do.
Not to mention most people only get Windows with a new PC, and an average PC on sale has always been quite capable of running Windows at the time of its release.
I think your definition of usable differs from the majority.
I don't, because if it did, no-one would be using Windows.
Every time Microsoft has released a new OS, the usable hardware specs (by most people's perception) has been beyond the average hardware of the time.
Bullshit.
A high end machine in 1995 ? 100Mhz Pentium with 32MB. (Win95)
1996 ? 200Mhz Pentium Pro with 64MB (NT4)
1998 ? 350Mhz P2 with 128 - 256MB (Win98)
2000 ? Dual ~700Mhz P3, 256 - 512MB (Win2k)
2001 ? Dual ~1.2Ghz P3, 512 - 1G RAM. (WinXP)
Those are machines that were certainly high end at the time, but not beyond the reaches of the consumer - no more than an above average gaming PC today. All of them would run the Windows release of their day *fast*.
95 ran like crap on average hardware when it came out.
95 ran fine on the ~8MB 486s of 1995.
So did NT.
NT was an OS aimed at the professional workstation and server market. You can't judge its hardware requirements on average consumer-level hardware of the day (although even by that measure, it wasn't outrageous).
So did XP.
A cheap PC in 2001 was a ~900Mhz Celeron with 128MB, quite capable of running XP for basic tasks like web browsing, email and word processing. A more average PC was a ~933Mhz P3 with 256MB, more than adequate for any average user.
So will Vista!!!
Vista runs happily on PCs a year or so old _now_.
I'm not complaining about this - I actually think that Microsoft has a lot to do with pushing the limits of hardware and moving us forward. Their stuff was always so bloated and full-featured that you *needed* the best in order for it to be decent to use.
I'd be fascinated to know what you're comparing against to call Windows "bloate
Well, no, as you go on to note.
Once again, just because modern software might have features *you* aren't interested in, doesn't mean no-one else wants them.
Similarly, just because your OS suddenly has the ability to share files, doesn't mean you've got good collaboration capabilities. Yelling out across the room to see if anyone else has a file open doesn't cut it, particularly when that room might be in another country.
My point was that given a limitation 64K of RAM, today's programmers would weep openly whereas yester-coders thrived.
And "yester-coders" would probably have trouble writing good code by todays standards. Giving code the smallest memory footprint possible is no longer a primary criteria.
But languages have nothing do with increasing features, reliability, or security, and improving UI.
Yes, they do. Better languages mean developers have to spend less time fixing (or even worrying about) bugs and language-related security holes (like unchecked buffers) and writing bare-metal optimised code, and have more time to spend on features, improving reliability and UI testing.
If a developer spends 50% less of their time tracking down language-related bugs & security problems, reinventing the wheel or coding in platform-specific special cases, that's 50% more time they could be spending on improving the *important* parts of their software - those that are actually relevant to solving the problem at hand.
Some HLL compilers do better than others, but no compiler can match an efficient assembler programmer for clean code.
I'd be willing to bet compilers create better machine code than 75% of the assembler programmers out there. Not to mention the speed of modern computers has made such bare-metal optimisations largely irrelevant. Why should I care if Bob produces assembler code that runs 20% faster than the machine code the JVM generated from Jim's Java code when that 20% faster translates to two seconds in real time and takes him ten times as long to write and debug ?
There are niche areas where that sort of optimisation is worth it - games programming, scientific computer, etc. But in general it's simply irrelevant. Improving runtime performance by 20% at the cost of an order of magnitude higher development time is simply silly for general-purpose software development. It's an inefficient allocation of resources when 90% of computer time spent idle, waiting for the user to do something.
I think it would be quite fun to fire them up and have a time.
Try it for a week or two without using _any_ modern computers for _any_ purpose the whole time, and see how you feel.
And I think you are placing credit with application programmers when you should place it with the folks who create the hardware, the *solid* OS's and the *solid* shared libraries that the application folks hack on.
Sorry, but no one party can take all the credit. Application developers deserve credit for writing good applications and hardware developers deserve credit for creating faster hardware. There is no reason why the recognition of either one must exclude the other.
What Linux GUI are you thinking of that was even close to being as functional and featured as Windows in 1995 ?
Shit, you'd barely be able to find a Linux GUI that was a functional and featured as Windows 95 in 2000.
There were loads of rough edges on the distros, but that was due less to Linux and more to no substantive commercial support or any of the "advanced" apps we've ended up with over the years.
I think you'll find it had a lot more to do with Linux's user demographics, who simply didn't care about the "rough edges".
In a couple of years' time, you'd have KDE in it's infancy, which DID run on a 486 machine with 64Mb of RAM and you would see ApplixWare arrive for Linux.
A machine on which the original Windows 95 absolutely *flies*. Not to mention it's laughable to try and compare KDE betas to the Windows (or MacOS) GUI.
Was it faster and more capable than Windows 95? Yes.
No, it wasn't. Possibly more "capable" if you were a unix user after virtual desktops and a million obscure configuration options (and not interested in things like decent copy & paste, UI, file management or system integration), but no way in hell was it faster.
If you seriously think the typical desktop user would find the early beta (and even release) versions of KDE as "capable" as the Windows of the day, you're delusional.
Windows typically requires 2-4 times the resources over a comparable Linux installation to accomplish usable tasks.
This is such ridiculous hyperbole I can only assume you're trolling. Linux didn't even _have_ a decent GUI environment until GNOME and KDE started to mature ca. 2000 - 2001 and both of those have consistently required - at *best* - similar hardware resources to Windows to provide an equivalent environment.
Only with a LOT of patience as it swap-thrashes all to hell. Slackware, on the other hand... :-)
...Is equally useless in the context of anything that it makes sense to compare Windows to. I'm sure a 2.2 kernel and vi will run on a 4MB 386, but it's hardly something the typical Windows user is interested in doing.
That's hardly surprising, it didn't do anywhere near as much.
Clearly spoken by someone who didn't live through it...
Somehow I don't think you've actually tried this.
Huh ? Windows has always worked well on older hardware. That's one of its strengths.
Windows 95 targeted a minimum of a 386 processor and 4MB RAM (and was (barely) usable on such). A high end 386 (DX33 or higher) with 6-8MB was sufficient for usable performance. So Windows 95 had a minimum hardware requirement of CPU that was ten years old.
NT4 (1996) had a minimum requirement of a 486 and 12MB. A top-end 486 or bottom end Pentium with 24 - 32 MB was usable. The 486 was released in 1989.
Windows 2000 required a Pentium with 64MB. A Pentium 1 with 128MB was usable. The Pentium was released in 1993.
Windows XP required a Pentium with 128MB. A high-end Pentium (that's Pentium 1) with 192MB is usable. I have XP installed here in a dual Pentium 200 dating from about 1996 and it's usable.
At which point in history have Windows's requirements ever been unreasonable ? It's highly unusual for a current version of Windows not to be usable on hardware up to about 5 years old, perhaps requiring a very modest RAM upgrade.
How is the test "rigged" ?
Do some reading on the design and architecture of Windows. It most certainly *is* modular.
Not to mention you've got the whole thing arse-about-face. Modularity is *why* code fixes in one module can have repurcussions in many other modules.
If you're not an Administrator, you can't.
No, it does not.
Damn, I hope the next person who steals from me leaves $40,000 on the kitchen table when they leave !
1. Firefox is not sandboxed.
2. Firefox runs at the same privilege level as IE (in other words, the user's).
Rubbish. It runs quite happily on a multipurpose machine. For small shops, the fileserver or one of the domain controllers would be a reasonable choice.
NT4, back in 1996, was the first "passably professional server product" when it started displacing Netware in significant amounts. That would be ca. Red Hat Linux 2.0.
But if Bill Gates' big speech to the CES was about a home entertainment computer, I wonder if the company is going to actually think about making their server product more secure at all.
When properly managed, their server product is *at least* as secure as its contemporaries.
? The graphics improvements *alone* are mind boggling. Just the amount of raw data being thrown out to the screen would be orders of magnitude greater (let alone the processing involved to generate it). Textures are *megabytes* in size (that's why you need 128M+ video cards). Screen resolution has gone from ~300x200 to ~1600x1200. Colour depth has gone from ~3 bits to 32 bits. This is before even getting into the much larger game "world", the higher "resolution" it runs at and all the additional activity that goes on you can't see, like other planes flying around, weather conditions, etc.
If you're going to call "bloat", games are probably the worst example you could choose :). They would be one of the few areas left in computing where "small and tight" code is more important than "robust and maintainable" code.
I don't play games that often, but to me, the differences between an old Apple ][ or DOS version of Flight Similator are one of the best examples of how much software has improved.
Productivity software? I had a Mac SE/30 with 1M of RAM and a 20M hdd--still do, somewhere. It ran M$ Word 5.1 and a layout/design program called "Ready, Set, Go!", which at the time rivaled Pagemaker & Quark. The executables for those pieces of software fit on one floppy each, and they did almost everything today's wordprocessing and layout programs do. I call "very, very bloated coding".
Almost everything ? Realtime spelling and grammar checking ? Realtime repagination & layout ? Help systems with complex human-language interpreters ? OLE ? Inline display (or other manipulation) of embedded or externally-linked objects, documents and data ? Trivially created and manipulated tables ? Multiuser collaboration ? Revision tracking ? Complex macro capabilities ? Good UI ?
How portable were they ? Were they written in high level languages or assembler ? How often were they patched ? How quickly after errors were reported were patches available ? How many languages did they come in ? How consistent was the UI ? How long could you use them without restarting them ? How did the system handle multitasking ?
Just because you mightn't use all the features of modern software, doesn't mean they're not there. Similarly, not all the improvements in modern software are visible (or even directly relevant) to the user.
Ask a few industry professionals if they'd prefer to be using modern software or twenty year old software to do their jobs. I doubt you'll find many who will opt for the latter. Also ask a few coders who have been in the game 20+ years and see if they'd prefer developing for and with twenty year old technology or modern computers and IDEs.
Better coding practices? Please, old-school coders programmed much tighter code, because there was no other option.
That doesn't mean it was better. How much user-input checking do think went on in software written in assembler to run on machines with RAM measured in kilobytes ? How much bounds checking do you think was going on ? How much portability and generality do you think there is in a piece of software written for a specific *machine* (not even platform) ?
Memory cost a freakin' fortune. I wager there aren't many coders today that could do what they did given the same resources.
And quite frankly, given how cheap hardware is today, I think it's much preferable developers spend their time concentrating on the best way their software can solve the problem(s) at hand, rather than whether or not they can afford the extra memory to store the dat
Well, maybe you should fire up a PC with DOS 2.x, Windows 1.0 and Wordstar for a week or two and reconsider :).
I feel that most of the "improvements" we see are really just feature creep and flash. Very little substance.
Without any idea of what you deem "substance" it's impossible to reply. However, software today is doing a *lot* more than software was twenty years ago. Heck, just the improvements in maintainability and robustness from better coding practices and higher level languages probably "cost" an order of magnitude in performance.
99% of the time, the bottleneck in any system is the end user(s). Twenty years ago, that number would have been a lot lower.
Every now and then I power up an old Mac Plus, just to remind myself how far we've come. It's really quite amazing how much stuff I take for granted that is simply impossible on the old girl (and it's an absolute *beast* of a Plus - 4M RAM and a 100M SCSI drive).
I'm assuming here that by "some" you mean "pretty much all of the important ones" and you're not trying to be deliberately misleading.
If MS had bought VMS then Windows NT would most likely be a much better thing - some decent documentaion like VMS was famous for would have been good for a start.
In what ways do you find the documentation in MSDN lacking ?
Could it possibly be because the software has also improved by orders of magnitude as well ?
DOS "lurks in the heart" of Windows 2003 like a first generation steam engine "lurks in the heart" of an F1 car.
Yeah, so "modern" it was single user without a network-aware GUI, a half-arsed network stack, dismal hardware support and couldn't handle more than a gig of RAM. Cutting edge indeed.
BeOS was a nice little technology demo - I liked playing around with it as much as the next guy - but it failed dismally in the market. Mainly because it didn't do anything markedly better than the alternatives and most things a lot worse or not at all.
Oh, man, that's gotta hurt the Mac zealots even more than the switch to intel. Apple hiring *PC laptop designers* to build the next Powerbook.