Forgot your password?
typodupeerror

Comment C# is a flawed language (Score 1) 605

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.

Slashdot Top Deals

The hardest part of climbing the ladder of success is getting through the crowd at the bottom.

Working...