[OT]
I meant underdesigned.
Equals / operator==.
Both are nice and have well defined semantics.
The only problem is that the standard library doesn't adhere to the definitions. For example strings. Or arrays. The latter is really outrageous. They didn't meet deadlines to implement comparison, so they made .equals work like ==. By .NET 3.5 (which I couldn't use BTW) they thought that comparing arrays might have some use. How did they fix it? Obviously, not by making arrays follow the standards as that would break compatibility. They added an external function.
BTW, I don't know GTK at all and barely touched Java.[/OT]
SR_Ind said:Although this is off topic (unless someone moves this to a Mono/C# thread), let me answer.
I didn't get you, what is "undersigned" standard library?
I meant underdesigned.
What I experienced there was a mess of exceptions, inconsistencies and hacks. Frankly, I am happy to have forgotten most of them. But 1 horror will probably stay with me forever.SR_Ind said:To be direct to the point, .NET is one of the well designed libraries. I worked on the first project way back in 2001/2002 with the beta release. In those days there was nothing on the Internet. There was no complete documentation for the beta product. We did the project with whatever content there was in MSDN and .... intellisense of Visual Studio. In my opinion this is only possible when the library you are working with is a well structured, intuitive, with a sensible nomenclature.
To anybody coming from direct C background the library would seem weird. Similar complain was from Visual Basic programmers. It is due to lack of familiarity and experience with large scale object oriented development.
Talking of ad-hoc hacks, to my experience two libraries take the honour, GTK and Java.
Equals / operator==.
Both are nice and have well defined semantics.
The only problem is that the standard library doesn't adhere to the definitions. For example strings. Or arrays. The latter is really outrageous. They didn't meet deadlines to implement comparison, so they made .equals work like ==. By .NET 3.5 (which I couldn't use BTW) they thought that comparing arrays might have some use. How did they fix it? Obviously, not by making arrays follow the standards as that would break compatibility. They added an external function.
BTW, I don't know GTK at all and barely touched Java.[/OT]