I suspect the difference in security between Windows and *nix is real, and I suspect there are two major reasons, neither of which have anything to do with usability or user-friendliness.
First, Windows originated from a single-user single-system perspective that didn't take security seriously because it didn't need to. In contrast, Unix had security built in from the beginning because it was intended from the beginning to be multi-user. Even if the original security in Unix was less that what we expect today, tacking security on after the fact is still much more difficult that starting from any reasonable basis and updating it.
Second, Windows is a proprietary OS owned by a corporation that didn't take security seriously until recently, assuming you think they take it seriously now. Unix and Linux, on the other hand, with public source available, was more likely to be updated with security fixes over the years.
When the original internet was designed, federal laws placed all research funded by the government, including DoD, into the public domain. This let universities and businesses use and develop the internet source code free of charge. It was mainly the universities that popularized the new technology.
Since then the laws have been changed to give intellectual property rights to the company that develops a new technology, even when funded by the government. This could be a roadblock to rolling out any new internet, since the public will not have access to the technologies, and business may have a hard time convincing potential customers to give up their perfectly good installed systems for a new one.
Moreover, the DoD limited the speed with which the original internet was adopted by restricting it to non-commercial uses only. Adoption accelerated after Congress passed a law transfering the project to the NSF and explicitly allowed commercial use.
So without intervention by congress, this new internet may never amount to more than another research project at DARPA.
The bigger problem, of course, is the fact that the latin alphabet and english language cease to exist.
Not a bad assumption. Here's what English looked like a thousand years ago:
Ond on ðone ylcan dæg Crist gereorde fif usenda wera of fif hlafum ond of twam fixum, eac wifum ond cildum, ara wæs ungerim, ond ara hlafgebroca wæs to lafe twelf binna fulle.
The Founding Fathers originally intended the states to be, more or less, independant.
This is a little too simplistic. The consititution was written because the founding fathers believed the states were a little too independent. Just how far the states' independence was being limited was subject to serious disagreement.
At one extreme, people like Alexander Hamilton thought they were creating a strong federal government with ultimate authority over the states.
At the other extreme, people like Thomas Jefferson thought the states' independence trumped the authority of the new federal government.
George Washington and John Adams seemed reluctant to support any position which didn't have strong support from the states, but still believed in the ultimate authority of the federal government.
James Madison was a fence straddler while the constitution was being written, but later fell decidedly into Jefferson's camp.
In any case, from day one, slavery and later segregation have been a major component of the states' rights debate.
The original example of mapping -- onto ++ isn't very realistic. In real life, programmers will maintain the semantics of the operation in some at least semi-common-sensical way. If they didn't, they'd be fired, or shot, or something.
A better example might be redefining assignment of references ("x=y", where x and y are references to an object) to mean constructing a new object instead ("x=y.copy()"). Then my code doesn't work because I modified y's fields in x, thinking they were the same thing when they weren't.
If you make too much use of overloading operations, you end up always having to wonder whether things really mean what you think they mean.
I bet they'd be willing to pay a lot more.
First, Windows originated from a single-user single-system perspective that didn't take security seriously because it didn't need to. In contrast, Unix had security built in from the beginning because it was intended from the beginning to be multi-user. Even if the original security in Unix was less that what we expect today, tacking security on after the fact is still much more difficult that starting from any reasonable basis and updating it.
Second, Windows is a proprietary OS owned by a corporation that didn't take security seriously until recently, assuming you think they take it seriously now. Unix and Linux, on the other hand, with public source available, was more likely to be updated with security fixes over the years.
Since then the laws have been changed to give intellectual property rights to the company that develops a new technology, even when funded by the government. This could be a roadblock to rolling out any new internet, since the public will not have access to the technologies, and business may have a hard time convincing potential customers to give up their perfectly good installed systems for a new one.
Moreover, the DoD limited the speed with which the original internet was adopted by restricting it to non-commercial uses only. Adoption accelerated after Congress passed a law transfering the project to the NSF and explicitly allowed commercial use.
So without intervention by congress, this new internet may never amount to more than another research project at DARPA.
Not a bad assumption. Here's what English looked like a thousand years ago:
What'll it look like a thousand years from now?This is a little too simplistic. The consititution was written because the founding fathers believed the states were a little too independent. Just how far the states' independence was being limited was subject to serious disagreement.
At one extreme, people like Alexander Hamilton thought they were creating a strong federal government with ultimate authority over the states.
At the other extreme, people like Thomas Jefferson thought the states' independence trumped the authority of the new federal government.
George Washington and John Adams seemed reluctant to support any position which didn't have strong support from the states, but still believed in the ultimate authority of the federal government.
James Madison was a fence straddler while the constitution was being written, but later fell decidedly into Jefferson's camp.
In any case, from day one, slavery and later segregation have been a major component of the states' rights debate.
The original example of mapping -- onto ++ isn't very realistic. In real life, programmers will maintain the semantics of the operation in some at least semi-common-sensical way. If they didn't, they'd be fired, or shot, or something. A better example might be redefining assignment of references ("x=y", where x and y are references to an object) to mean constructing a new object instead ("x=y.copy()"). Then my code doesn't work because I modified y's fields in x, thinking they were the same thing when they weren't. If you make too much use of overloading operations, you end up always having to wonder whether things really mean what you think they mean.