Take for example the much touted Type System Unification. It is broken. According to Microsoft, "boxing and unboxing" bridges the gap between reference types and value types. But it doesn't. Reference types have the concept of identity and equality, while value types only have equality. Boxing and unboxing does not change this fundamental difference. Autoboxing in C# allows value types to go back and forth between being objects, but each time a value type becomes an object it acquires a new identity. This is very dangerous as it can lead to bugs that ar hard to track down. For more information, including sample code see www.geocities.com/csharpfaq/box.html
For another example see structs in C#. Structs look just like classes when they are declared and used. But they work very differently. Using structs can result in very unexpected results, as you can see in this example: www.geocities.com/csharpfaq/test1.html. For more information about structs in C# see: www.geocities.com/csharpfaq/structs.html
Java caught on among programmers because of two reasons: WORA and simplicity. Is C# WORA? Microsoft has been telling us for many years now that WORA will never work, so it is safe to assume C# will never support WORA. Is C# simple? To answer this last question, consider the fact that the C# statement x.y += a[b]; can contain upto 10 hidden function calls, including properties, indexers, operator overloading, user-defined implicity type conversion operators, etc. For more information visit www.geocities.com/csharpfaq/test2.html
C# has neither of the features that attracted programmers to Java: No WORA and no simplicity. This language is no threat to Java.
I think C# is getting a lot of undeserved praise. I find it astonishing that programming language experts and journals have only good things to say about this language.
I want to be the first to say that the emperor wears no clothers.
What is nice about C# is its Java underpinnings. Just about every feature they added on top of Java is flawed.
Take for example the much touted Type System Unification. It is broken. According to Microsoft, "boxing and unboxing" bridges the gap between reference types and value types. But it doesn't. Reference types have the concept of identity and equality, while value types only have equality. Boxing and unboxing does not change this fundamental difference. Autoboxing in C# allows value types to go back and forth between being objects, but each time a value type becomes an object it acquires a new identity. This is very dangerous as it can lead to bugs that ar hard to track down. For more information, including sample code see http://www.geocities.com/csharpfaq/box.html
Java caught on among programmers because of two reasons: WORA and simplicity. Is C# WORA? Microsoft has been telling us for many years now that WORA will never work. C# does not support WORA. Is C# simple? To answer this last question, consider the fact that the C# statement x.y += a[b]; can contain upto 10 hidden function calls, including properties, indexers, operator overloading, user-defined implicity type conversion operators, etc. For more information visit http://www.geocities.com/csharpfaq/test2.html
C# has neither of the features that attracted programmers to Java: No WORA and no simplicity. This language is no threat to Java.
For another example see structs in C#. Structs look just like classes when they are declared and used. But they work very differently. Using structs can result in very unexpected results, as you can see in this example: www.geocities.com/csharpfaq/test1.html. For more information about structs in C# see: www.geocities.com/csharpfaq/structs.html
Java caught on among programmers because of two reasons: WORA and simplicity. Is C# WORA? Microsoft has been telling us for many years now that WORA will never work, so it is safe to assume C# will never support WORA. Is C# simple? To answer this last question, consider the fact that the C# statement x.y += a[b]; can contain upto 10 hidden function calls, including properties, indexers, operator overloading, user-defined implicity type conversion operators, etc. For more information visit www.geocities.com/csharpfaq/test2.html
C# has neither of the features that attracted programmers to Java: No WORA and no simplicity. This language is no threat to Java.
I want to be the first to say that the emperor wears no clothers.
What is nice about C# is its Java underpinnings. Just about every feature they added on top of Java is flawed.
Take for example the much touted Type System Unification. It is broken. According to Microsoft, "boxing and unboxing" bridges the gap between reference types and value types. But it doesn't. Reference types have the concept of identity and equality, while value types only have equality. Boxing and unboxing does not change this fundamental difference. Autoboxing in C# allows value types to go back and forth between being objects, but each time a value type becomes an object it acquires a new identity. This is very dangerous as it can lead to bugs that ar hard to track down. For more information, including sample code see http://www.geocities.com/csharpfaq/box.html
For another example see structs in C#. Structs look just like classes when they are declared and used. But they work very differently. Using structs can result in very unexpected results, as you can see in this example: http://www.geocities.com/csharpfaq/test1.html. For more information about structs in C# see: http://www.geocities.com/csharpfaq/structs.html
Java caught on among programmers because of two reasons: WORA and simplicity. Is C# WORA? Microsoft has been telling us for many years now that WORA will never work. C# does not support WORA. Is C# simple? To answer this last question, consider the fact that the C# statement x.y += a[b]; can contain upto 10 hidden function calls, including properties, indexers, operator overloading, user-defined implicity type conversion operators, etc. For more information visit http://www.geocities.com/csharpfaq/test2.html
C# has neither of the features that attracted programmers to Java: No WORA and no simplicity. This language is no threat to Java.