Both languages use read-only string types, which result in enormous overhead for string manipulation code written in what programmers consider the "natural" common way. One can argue that that overhead is acceptable, but it is there. To avoid it, you have write your Java code completely differently.
In C#, you just have to use a class called StringBuilder. It works just like you would expect a string class to operate, it's efficient, and converts itself to a string type when it's needed...
You *cannot* write a loop in C#, and claim that it will run faster than a comprable loop in C.
Sure I can. Write a loop that does a lot of memory allocations and deallocations, and C will come out the loser to any.Net language (and probably Java as well). To understand why, you'll have to do some research on the differences in memory allocation; cliffnotes: memory allocation in C/C++ is expensive. In.Net it isn't.
I won't bother addressing your other points, as it looks like everyone else has covered them thoroughly.
If I understand the.NET framework correctly, there is no way to support either multiple inheritance or templates--in which case C++ cannot be accurately modeled in.NET. Nor will Java be.NETtable after 1.5, which will introduce pale imitations of templates (but imitation enough to give the CLR a hissyfit).
The next version of.Net (2.0) is supposed to introduce native template support to IL. Not sure about multiple inheritance, but I doubt it.
The.NET CLR does not support multiple languages. It supports one language--C#. Its "multiple language support" comes from being able to compile down many functionally-identical languages with different syntaxes down to the same bytecodes.
If you want to get technical, the CLR supports IL (implementation language), which is interpreted by the virtual machine. The virtual machine has a set of instructions it understands, and the various.Net compilers compile to those set of instructions. This isn't very different from taking a C++ program and building an executable that consists of instructions for an x86 cpu. The machine (virtual or not) provides the facilities for performing the operations you want to do.
If you can represent what you want to do in IL, you can write a compiler for it. There's some guy out there who wrote an 386 asm->IL compiler (why? because he could I guess...) for example. Not that I think it's a terribly great idea, but it is neat.
But truly different languages are not representable in the CLR. Show me how to do a Scheme continuation in the CLR, please, or export a C++ template, or a LISP macro.
IL doesn't have special instructions designed to support those things, but they can be done; they just won't be necessarily be done fast or efficently; for instance, you could do C++ templates the way your average C++ compiler does them --> your compiled code has a unique object for each templated type required. And I can pretty much guarantee you that you could write a Scheme or LISP compiler -- it'd just be a pain in the ass to do (which I'd imagine any proper LISP compiler would be), and it wouldn't be wicked fast.
The only languages.NET supports are those which are subsets of C#. And once you realize that,.NET becomes much less interesting.
A more accurate statement would be that IL supports object oriented / functional languages very well, and other things not so well.
Most commonly used programming languages are OOP or functional in nature. I haven't used a non object oriented language since I got out of college. Perl, C, C++, Java, Basic, Fortran, Pascal, Python, Cobol, Smalltalk, various shell languages, etc. are all either functional or object oriented languages.
I'd argue that implementing optimal support in a form that most languages translate well to (as opposed to a form that rarely used languages translate well to) was a good design decision.
The power of this allows you to write code to get what you want done, instead of spending a lot of time writing code to get a round peg to fit in a square hole. There are many other peripheral benefits that.Net brings to the table, and I personally think this isn't one of the big ones -- I think it's more of a "cool" factor than anything else -- but dismissing it outright because the design doesn't perfectly suite some obscure language that is generally used by AI researchers is kind of silly in my opinion.
Any app that uses the.Net runtime will come with the runtime on disk, in much the same way that most DX games come with DirectX on cd, or how most applications come with a version of MFC.
For decades I have been folowing solar cell technology, absolutely salivating at the promises that efficiency rating would soon rise above 15%.
You need to look in the right places. There are spacecraft with currently flying with 26% efficiency cells. But you won't find 'em at your local radio shack...
You can't be "convicted" of being a monopolist. Having a monopoly isn't illegal. When you have a monopoly, certain business practices that would be legal without a monopoly become illegal. Microsoft was convicted of violating anti-trust laws.
Microsoft spent a lot of money to buy all of the technology they originally liscensed to build IE back in the mid-late 90's so that they could distribute IE for free (having to pay a liscense fee for each browser, then distributing it for free, would have been considered predatory practices or somesuch).
They would much rather work around the patent and strip all patented functionality out of IE (they've demonstrated this desire in the past anyway).
The patent doesn't cover the installation of plugins, it covers a browser that automatically starts plugins based on content downloaded from a source external to the document.
I thought I was the only oddball that does that... (I'm a righty)
Switched back in college because I hurt my right wrist. After about 2 days I had "adapted" to the new position. I still switch the mouse to the right side when I play FPS or RTS games though...
It's actually kind of funny how people see the mouse on the left side and assume I'm left handed...
WinME is based off of Win98. It is reasonably safe to assume that 98 is unaffected as well. The vulnerability effects DCOM, which wasn't installed/enabled by default on Win9x. Additionally, the implementations of DCOM are completely different between Win9x and NT based OSes.
That being said, nobody would want to write an exploit for Win98 anway.. the machine probably wouldn't stay up long enough to do any damage...
That whole 2003 DRM issue, trying to use the law to force everyone to buy 2003 products...
What crack are you smoking? DRM is a specific feature in the new Office suite. Said feature is not required to run Office or view non DRM documents. Said feature is OFF by default -- the user has to turn it on for the document they're editing/creating. Said feature also requires a separate server setup to manage the keys and the permissions on files. Said feature is only available on Enterprise editions of Office 2k3 (read: the most expensive one).
Microsoft is not using the "law" to force people to upgrade to 2k3 products.
Just remember that during the "Scan for updates" procedure, the little tagline about "Windows Update does not collect any form of personally identifiable information from your computer" is a lie. A great deal of information is actually sent back, and is generally more than enough to uniquely identify your computer. Plus, Microsoft has no business knowing exactly what hardware I have installed on my computer....so I take it you'd rather wait the 3 hours it'd take to send down all of the data required to determine what needs updating?
They used to send the data to your computer, but stopped after that datafile grew to a couple of megs. While you may have a huge pipe available, the performance has to be reasonable to someone on a 14.4k connection (the min spec recommended for xp). They changed it to getting the data from your computer, determining what updates were needed, then sending that result back to your computer...
Just because your computer sends data to windows update doens't mean they store (collect) it.
Microsoft has no business knowing exactly what hardware I have installed on my computer.
WindowsUpdate checks for updated drivers. How else do you propose they generate such a list? Call the psychic hotline?
the description said what was fixed, and what files were replaced to fix it, and what those replacement files were, exactly, then you would at least be able to determine if the patch "took" or not.
Yes, because we should be afraid of taking a piece of software that's only supposed to display a markup language out onto the net.
With IE in lockdown mode, that's all it does -- no active x controls, no java, no javascript, no cookies, no nothing... everything except HTML and images is turned off.
Honestly now. It's not like the web client needs any real permissions to the machine.
It doesn't. Run it as a user other than admin and disable the lockdown stuff (easy to do) and you're "ok" from a security perspective.
It shouldn't have overflows and weaknesses in it. Any weaknesses in it shouldn't compromise the whole system.
If you've ever seen a browser crash, it has a bug in it. Overflows/weaknesses are just forms of bugs, and are as likely to exist as any other.
I want to browse on my server. If I just ran into a line in a configuration file I don't understand, I'm going to fire up Google and look it up. Explain to me why that shouldn't be done from the console of the server. Gods, I need to browse from the console, copy/paste has saved my life on more than one occaision.
If that's all your doing, then why do you need to anything more than HTML & image support? Check the little "don't show me this warning again" box, and move on...
I didn't find it too amusing.:p Neither did any of my coworkers... I've had several friends from college go through a similar experience over the last 12 months, and they all report similar experiences. One of them was actually paid for unused accrued vacation time though...
I can't complain too much though, as the job I have now is better on so many different levels it is rediculous...
I used to be like that. Believe me, you will get more. Eventually the guys who spam you now will sell their list of addresses to otherspammers, who will sell it to other spammers, and so on... and then you get to be in the hell that I am, where I get 200 spams a day...
The people that I know of hired straight out of college started out between 40,000 to 52,000 in the St. Louis metro area. I personally started at 49k. Some of those people stayed at the same salary, while some people got some pretty big raises. So after a couple of years the salary range was something like 42k-59k, with myself at 54k.
I don't think the average salary they reported was too far off based on what I've seen.
Many corporations in the US give 12 to 18 months severence pay.
No, they don't -- those days have long since ended.
The last company I worked for had a severance package of 0.5 weeks per year served (rounded down to the nearest year). It went up to 1.5 wks/year over 10 years served, capped at 6 months of pay.
And from what I've heard from other people, that company wasn't the exception to the rule.
Actually, microsoft's monopoly is protected by US trademarks, copyrights and patents - textbook examples of government granted monopolies...
In what way? If you could freely copy Microsoft products, use their product names in something you create, and implement ideas they've thought of, you'd still be using something spawned by Microsoft or duping people into using something they think was spawned by Microsoft.
Oh really? How many politicans have indicated that they support the "right to innovate" - which is a reference (in support of microsoft) to the recent anti-trust battles between microsoft and the US department of justice?
Show me the law that says nobody may compete with Microsoft and you might have a point.
Just because a few politicians support a particular position doesn't mean that somehow Microsoft gets whatever it wants.
The outcome of the anti-trust trial was influenced heavily by the political parties behind it. Or rather, that Republicans think that anti-trust law is bunk, and Democrats think that every large company violates it.
Which article did you read?
I was responding to the person who thinks that a monopoly imposed by government is the same as a monopoly attained through market forces.
There was a *warning* message stating that you were running something other than MS-DOS, and that MS-DOS was the only thing MS would support. The warning message did not prevent Windows from running or installing.
Windows 3.0 ran just fine on DR-DOS. Windows 3.1 didn't, until Novell changed some internal bits/structures in DR-DOS to match MS-DOS (they released a fixed version 6 weeks after 3.1 came out).
Microsoft's monopoly is not protected by any governmental body. You can use whatever alternatives you want, even though there aren't a lot of choices out there.
The monopoly being talked about here is a government enforced monopoly. The government will dictate "you must use product x, no matter what." You aren't allowed to use anything else other than what the government monopoly provides, even if an alternative is available.
How would you even know when you last ran a.Net app? A.Net app runs, looks, and responds like any other Win32 app when you run it. (as opposed to a Java app which does not run, look, or respond like a Win32 app when you run it).
Both languages use read-only string types, which result in enormous overhead for string manipulation code written in what programmers consider the "natural" common way. One can argue that that overhead is acceptable, but it is there. To avoid it, you have write your Java code completely differently.
In C#, you just have to use a class called StringBuilder. It works just like you would expect a string class to operate, it's efficient, and converts itself to a string type when it's needed...
You *cannot* write a loop in C#, and claim that it will run faster than a comprable loop in C.
.Net language (and probably Java as well). To understand why, you'll have to do some research on the differences in memory allocation; cliffnotes: memory allocation in C/C++ is expensive. In .Net it isn't.
Sure I can. Write a loop that does a lot of memory allocations and deallocations, and C will come out the loser to any
I won't bother addressing your other points, as it looks like everyone else has covered them thoroughly.
If I understand the .NET framework correctly, there is no way to support either multiple inheritance or templates--in which case C++ cannot be accurately modeled in .NET. Nor will Java be .NETtable after 1.5, which will introduce pale imitations of templates (but imitation enough to give the CLR a hissyfit).
.Net (2.0) is supposed to introduce native template support to IL. Not sure about multiple inheritance, but I doubt it.
.NET CLR does not support multiple languages. It supports one language--C#. Its "multiple language support" comes from being able to compile down many functionally-identical languages with different syntaxes down to the same bytecodes.
.Net compilers compile to those set of instructions. This isn't very different from taking a C++ program and building an executable that consists of instructions for an x86 cpu. The machine (virtual or not) provides the facilities for performing the operations you want to do.
.NET supports are those which are subsets of C#. And once you realize that, .NET becomes much less interesting.
.Net brings to the table, and I personally think this isn't one of the big ones -- I think it's more of a "cool" factor than anything else -- but dismissing it outright because the design doesn't perfectly suite some obscure language that is generally used by AI researchers is kind of silly in my opinion.
The next version of
The
If you want to get technical, the CLR supports IL (implementation language), which is interpreted by the virtual machine. The virtual machine has a set of instructions it understands, and the various
If you can represent what you want to do in IL, you can write a compiler for it. There's some guy out there who wrote an 386 asm->IL compiler (why? because he could I guess...) for example. Not that I think it's a terribly great idea, but it is neat.
But truly different languages are not representable in the CLR. Show me how to do a Scheme continuation in the CLR, please, or export a C++ template, or a LISP macro.
IL doesn't have special instructions designed to support those things, but they can be done; they just won't be necessarily be done fast or efficently; for instance, you could do C++ templates the way your average C++ compiler does them --> your compiled code has a unique object for each templated type required. And I can pretty much guarantee you that you could write a Scheme or LISP compiler -- it'd just be a pain in the ass to do (which I'd imagine any proper LISP compiler would be), and it wouldn't be wicked fast.
The only languages
A more accurate statement would be that IL supports object oriented / functional languages very well, and other things not so well.
Most commonly used programming languages are OOP or functional in nature. I haven't used a non object oriented language since I got out of college. Perl, C, C++, Java, Basic, Fortran, Pascal, Python, Cobol, Smalltalk, various shell languages, etc. are all either functional or object oriented languages.
I'd argue that implementing optimal support in a form that most languages translate well to (as opposed to a form that rarely used languages translate well to) was a good design decision.
The power of this allows you to write code to get what you want done, instead of spending a lot of time writing code to get a round peg to fit in a square hole. There are many other peripheral benefits that
No joke. I don't think I've seen so much whining about a patch since I played EQ ...
Any app that uses the .Net runtime will come with the runtime on disk, in much the same way that most DX games come with DirectX on cd, or how most applications come with a version of MFC.
For decades I have been folowing solar cell technology, absolutely salivating at the promises that efficiency rating would soon rise above 15%.
You need to look in the right places. There are spacecraft with currently flying with 26% efficiency cells. But you won't find 'em at your local radio shack...
You can't be "convicted" of being a monopolist. Having a monopoly isn't illegal. When you have a monopoly, certain business practices that would be legal without a monopoly become illegal. Microsoft was convicted of violating anti-trust laws.
Microsoft spent a lot of money to buy all of the technology they originally liscensed to build IE back in the mid-late 90's so that they could distribute IE for free (having to pay a liscense fee for each browser, then distributing it for free, would have been considered predatory practices or somesuch).
They would much rather work around the patent and strip all patented functionality out of IE (they've demonstrated this desire in the past anyway).
The patent doesn't cover the installation of plugins, it covers a browser that automatically starts plugins based on content downloaded from a source external to the document.
I thought I was the only oddball that does that ... (I'm a righty)
...
Switched back in college because I hurt my right wrist. After about 2 days I had "adapted" to the new position. I still switch the mouse to the right side when I play FPS or RTS games though
It's actually kind of funny how people see the mouse on the left side and assume I'm left handed...
WinME is based off of Win98. It is reasonably safe to assume that 98 is unaffected as well. The vulnerability effects DCOM, which wasn't installed/enabled by default on Win9x. Additionally, the implementations of DCOM are completely different between Win9x and NT based OSes.
.. the machine probably wouldn't stay up long enough to do any damage...
That being said, nobody would want to write an exploit for Win98 anway
That whole 2003 DRM issue, trying to use the law to force everyone to buy 2003 products...
What crack are you smoking? DRM is a specific feature in the new Office suite. Said feature is not required to run Office or view non DRM documents. Said feature is OFF by default -- the user has to turn it on for the document they're editing/creating. Said feature also requires a separate server setup to manage the keys and the permissions on files. Said feature is only available on Enterprise editions of Office 2k3 (read: the most expensive one).
Microsoft is not using the "law" to force people to upgrade to 2k3 products.
Windows XP Processional does not allow you to disable this. The 'response' for RPC failing to start is to restart the computer.
That's the default recovery procedure configured when that service crashes. You can change the behavior if you're so inclined.
Just remember that during the "Scan for updates" procedure, the little tagline about "Windows Update does not collect any form of personally identifiable information from your computer" is a lie. A great deal of information is actually sent back, and is generally more than enough to uniquely identify your computer. Plus, Microsoft has no business knowing exactly what hardware I have installed on my computer. ...so I take it you'd rather wait the 3 hours it'd take to send down all of the data required to determine what needs updating?
They used to send the data to your computer, but stopped after that datafile grew to a couple of megs. While you may have a huge pipe available, the performance has to be reasonable to someone on a 14.4k connection (the min spec recommended for xp). They changed it to getting the data from your computer, determining what updates were needed, then sending that result back to your computer...
Just because your computer sends data to windows update doens't mean they store (collect) it.
Microsoft has no business knowing exactly what hardware I have installed on my computer.
WindowsUpdate checks for updated drivers. How else do you propose they generate such a list? Call the psychic hotline?
the description said what was fixed, and what files were replaced to fix it, and what those replacement files were, exactly, then you would at least be able to determine if the patch "took" or not.
They do. RTFA.
. It's essentially impossible to unpatch if necessary.
Search for Removal Information
Yes, because we should be afraid of taking a piece of software that's only supposed to display a markup language out onto the net.
... everything except HTML and images is turned off.
With IE in lockdown mode, that's all it does -- no active x controls, no java, no javascript, no cookies, no nothing
Honestly now. It's not like the web client needs any real permissions to the machine.
It doesn't. Run it as a user other than admin and disable the lockdown stuff (easy to do) and you're "ok" from a security perspective.
It shouldn't have overflows and weaknesses in it. Any weaknesses in it shouldn't compromise the whole system.
If you've ever seen a browser crash, it has a bug in it. Overflows/weaknesses are just forms of bugs, and are as likely to exist as any other.
I want to browse on my server. If I just ran into a line in a configuration file I don't understand, I'm going to fire up Google and look it up. Explain to me why that shouldn't be done from the console of the server. Gods, I need to browse from the console, copy/paste has saved my life on more than one occaision.
If that's all your doing, then why do you need to anything more than HTML & image support? Check the little "don't show me this warning again" box, and move on...
I didn't find it too amusing. :p Neither did any of my coworkers... I've had several friends from college go through a similar experience over the last 12 months, and they all report similar experiences. One of them was actually paid for unused accrued vacation time though...
:)
I can't complain too much though, as the job I have now is better on so many different levels it is rediculous...
But it still ticks me off.
I used to be like that. Believe me, you will get more. Eventually the guys who spam you now will sell their list of addresses to otherspammers, who will sell it to other spammers, and so on ... and then you get to be in the hell that I am, where I get 200 spams a day...
The people that I know of hired straight out of college started out between 40,000 to 52,000 in the St. Louis metro area. I personally started at 49k. Some of those people stayed at the same salary, while some people got some pretty big raises. So after a couple of years the salary range was something like 42k-59k, with myself at 54k.
I don't think the average salary they reported was too far off based on what I've seen.
Many corporations in the US give 12 to 18 months severence pay.
No, they don't -- those days have long since ended.
The last company I worked for had a severance package of 0.5 weeks per year served (rounded down to the nearest year). It went up to 1.5 wks/year over 10 years served, capped at 6 months of pay.
And from what I've heard from other people, that company wasn't the exception to the rule.
Actually, microsoft's monopoly is protected by US trademarks, copyrights and patents - textbook examples of government granted monopolies...
In what way? If you could freely copy Microsoft products, use their product names in something you create, and implement ideas they've thought of, you'd still be using something spawned by Microsoft or duping people into using something they think was spawned by Microsoft.
Oh really? How many politicans have indicated that they support the "right to innovate" - which is a reference (in support of microsoft) to the recent anti-trust battles between microsoft and the US department of justice?
Show me the law that says nobody may compete with Microsoft and you might have a point.
Just because a few politicians support a particular position doesn't mean that somehow Microsoft gets whatever it wants.
The outcome of the anti-trust trial was influenced heavily by the political parties behind it. Or rather, that Republicans think that anti-trust law is bunk, and Democrats think that every large company violates it.
Which article did you read?
I was responding to the person who thinks that a monopoly imposed by government is the same as a monopoly attained through market forces.
There was a *warning* message stating that you were running something other than MS-DOS, and that MS-DOS was the only thing MS would support. The warning message did not prevent Windows from running or installing.
Windows 3.0 ran just fine on DR-DOS. Windows 3.1 didn't, until Novell changed some internal bits/structures in DR-DOS to match MS-DOS (they released a fixed version 6 weeks after 3.1 came out).
The is a large distinctual difference:
Microsoft's monopoly is not protected by any governmental body. You can use whatever alternatives you want, even though there aren't a lot of choices out there.
The monopoly being talked about here is a government enforced monopoly. The government will dictate "you must use product x, no matter what." You aren't allowed to use anything else other than what the government monopoly provides, even if an alternative is available.
How would you even know when you last ran a .Net app? A .Net app runs, looks, and responds like any other Win32 app when you run it. (as opposed to a Java app which does not run, look, or respond like a Win32 app when you run it).