2 Comments

  • As a two-year smalltalker recently switched to .NET I could ony confirm how much pain is it to program, after Smalltalk. You can add several items to an ArrayList with AddRange but you can't remove several items from it with RemoveRange. You don't have any Set collection but you have three slightly different Dictionaries. There is even a collection that isn't marked as implementing ICollection (while really implementing all its members) - StringDictionary. And there are collections that don't implement some methods of IList they formally "implement" (f.e. arrays don't implement Add but are IList).

    The whole namespace system.collections is just plain stupid or at least confusing.

  • Oh, I concur!



    Off the top of my head...

    - Remove silently returns if the member is not present, but does not bother to tell you (by return value) if the element was found

    - IList is not a "list" but an indexable collection

    - No linked list, lack of many "basic" collection types



    I actually wrote down a series of these, and sent them to various .NET team bloggers, don't know if they cared or maybe corrected any of the evils in the new generic collections.



Comments have been disabled for this content.