Slashdot Mirror


What's New With Data Structures In C#

prostoalex writes "Scott Mitchell published his rather extensive examination of data structures in C# 2.0 (parts 1, 2, 3, 4, 5 and 6 add up to more than a hundred printed pages)."

38 comments

  1. Not From Roland Piquepaille by Saeed+al-Sahaf · · Score: 0, Offtopic

    Hey Timothy: This story is from 4GuysFromRolla.com, not Roland Piquepaille. Need more coffee this morning?

    --
    "Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
  2. Yeah, good luck with that! by Anonymous Coward · · Score: 0
    rather extensive examination of data structures in C# 2.0 (parts 1, 2, 3, 4, 5 and 6 add up to more than a hundred printed pages).

    You can't get people to read the whole summary before yapping mindlessly about "M$". You expect them to read a hundred pages in six chunks?!?

    And why isn't this under "Developers"?

    1. Re:Yeah, good luck with that! by Frizzle+Fry · · Score: 1
      And why isn't this under "Developers"?

      It's there:
      http://slashdot.org/index.pl?section=developers
      --
      I'd rather be lucky than good.
    2. Re:Yeah, good luck with that! by Anonymous Coward · · Score: 0

      Oh, but it is...

    3. Re:Yeah, good luck with that! by bradkittenbrink · · Score: 0, Offtopic

      Yet when you click on the read more link, it takes you here instead of here where it should be. An article about data structure design is clearly of interest to no one but programmers. Even if it were cross listed in the other topics, the primary topic for this article should be developers.

    4. Re:Yeah, good luck with that! by Anonymous Coward · · Score: 0

      How the fuck is this offtopic? The guy is making an important point about the article and also the fact that the editors should do their job properly.

  3. No Fibonacci Heap? by at2000 · · Score: 2, Insightful

    Does Microsoft think that we should implement Fibonacci Heap ourselves, but not AVL-tree?

    1. Re:No Fibonacci Heap? by Elwood+P+Dowd · · Score: 3, Interesting

      It's just a body count issue. If Microsoft had twice the time or twice the number of people, C# 2.0 would have had twice the number of new features. Lots of good stuff got jettisoned. Everywhere you look on blogs.msdn.com, folks are talking about what they woulda/coulda/shoulda done with more time.

      --

      There are no trails. There are no trees out here.
    2. Re:No Fibonacci Heap? by rreyelts · · Score: 4, Insightful

      I'm hardly a Microsoft defender, but a fibonacci heap is anything but a common data structure. You'd most likely use one as a priority queue where extract-mins and decrease-keys are extremely common, but even then, lots of people still avoid them.

      On the other hand, AVL trees get used all over the place (red-black trees being a typical backing data structure for an ordered map).

    3. Re:No Fibonacci Heap? by Anonymous Coward · · Score: 1, Funny

      Too bad they don't have money to hire more people, then.

      Maybe they should have spent more time designing and coding instead of blogging. :-)

  4. Yawn! by Anonymous Coward · · Score: 0

    It's called Chez Scheme, get it and you wont need vendor supplied data structures. hhahahahaha.

  5. Kind of introductionary level by Frans+Faase · · Score: 4, Insightful

    Having read pages 1 and 6, I do not read anything beyond the introductionary level. It does not even seem to be rather C# specific for that matter. This is all stuff that people with a University degree in computer science should know by heart. The fact many of the readers rank it with a 9, says more about the readers than the quality of the page. People who do not understand the difference between a set and a list, should not even be allowed to be involved in any part of the development cycle of an arbitrary information system or computer application.

    1. Re:Kind of introductionary level by Anonymous Coward · · Score: 0

      It was kind of Meh.

      It might make a good low cost textbook for a class though. Oh and it had decent diagrams, I mean alot of it does seem to be fairly language independent, but that isn't a bad thing, and honestly if it causes someone I am to work with to have an idea what a BST is, well then I'd rate it a 10.

    2. Re:Kind of introductionary level by thebatlab · · Score: 1, Insightful

      Is that really a problem? Not everyone has a university degree. And this is available online so you can look at it whenever you want.

      "People who do not understand the difference between a set and a list, should not even be allowed to be involved in any part of the development cycle of an arbitrary information system or computer application."

      Gotta start somewhere.

      What about the kids just headed to university who want a quick start? What about people just interested in these like project managers who aren't that technical?

    3. Re:Kind of introductionary level by Anonymous Coward · · Score: 0

      I have to agree with Frans. It was pretty basic,which is not a bad thing, but the terms Set and Array (or list) are absoloutly not interchangeable (for a programmer). And if you *are* a programmer you know how important nomenclature is. There is a reason we have all these terms and if you don't know them you shouldn't be writing ....bah nevermind noone is going to read this far anyway lalala connect the dots!

    4. Re:Kind of introductionary level by thebatlab · · Score: 0, Offtopic

      Troll? Are you kidding me? I don't care if I get modded down but jeez, at least have somewhat of a credible case when you do it.

    5. Re:Kind of introductionary level by smittyoneeach · · Score: 1

      Preach it, brother. This is actually useful, and a public service, particularly if you follow the article links. Thanks, Mr. Softy!

      --
      Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
    6. Re:Kind of introductionary level by Anonymous Coward · · Score: 0

      man you aren't kidding. I thought it was a pretty good comment but you took it up the poop schute on that one. Posting anonymously for obvious reasons

    7. Re:Kind of introductionary level by Anonymous Coward · · Score: 0

      looks like some collage kid didn't want a yardie taking his Job.

    8. Re:Kind of introductionary level by woah · · Score: 1

      Yeah, but that's the whole point, the article is about C#. I can do all these data structures in C(++), but I've no idea how they are done in .NET/C#. Same goes a lot of other people with CS degrees. Most universites teach C++ or Java their primary language.

    9. Re:Kind of introductionary level by Anonymous Coward · · Score: 0

      If you have a brain you already know how to apply C++ or Java concepts to C#. You don't need to be told how.

      Otherwise you're just dumb. Or, you're just posting on Slashdot with no idea what you're talking about.

  6. Never trust a Gorean to design your data structure by Paul+Crowley · · Score: 1

    From TFA:

    "Too, there are unique challenges with representing and operating upon infinite sets, because an infinite set's contents cannot be completely stored in a data structure or enumerated."

    Compare eg Houseplants of Gor.

    (And yes, it's not terrifically advanced, and disappointingly free of C#-specific enlightenment...)

  7. A tutorial on stacks, queues and trees? by Anonymous Coward · · Score: 0

    This is almost below computer science 101 level. How would anyone in posession of a compiler not know how to implement these basic data structures?

  8. maddening by philgross · · Score: 5, Interesting


    In the time it took this guy to write the article, perhaps he could have added these data structures to C#/.NET's laughably impoverished System.Collections class. The big thing in the new, upcoming version 2.0 is that they're introducing, wait for it, linked lists.

    Still no sign of anything resembling a set/multiset, or a tree structure, let alone something like a heap. The documentation is equally sad, making no mention of big-O complexity. The comparison with Java, both in content and documentation, is depressing.

    I like C# as a language, but the CS illiteracy of the libraries is annoying and inconvenient. The lack of a concept of a tree means that there's no automatic way to show an XML DOM tree with a TreeControl. They both have independently-developed, incompatible, although largely equivalent, tree representations.

    Also, note that the SortedList class does not implement the IList interface, and none of the shipped System.Collections classes implement their own CollectionBase.

    1. Re:maddening by IainCartwright · · Score: 2, Informative

      My class browser shows:

      LinkedList
      Queue
      SortedList
      Stack
      TreeDictio nary

      in Systems.Collections.Generic - not extensive perhaps - but a little more than your post implies.

    2. Re:maddening by Lord+Omlette · · Score: 1
      In the time it took this guy to write the article, perhaps he could have added these data structures to C#/.NET's laughably impoverished System.Collections class. The big thing in the new, upcoming version 2.0 is that they're introducing, wait for it, linked lists.
      Word. In the meantime, we're stuck w/ NCollection.
      --
      [o]_O
    3. Re:maddening by spongman · · Score: 2, Informative

      unfortunately, NCollection is vaporware. another good source for C#v2 collections is Wintellect's Power Collections which seems to provide a good deal of what's missing.

    4. Re:maddening by Lord+Omlette · · Score: 1

      I wasn't aware of PC, thanks!

      --
      [o]_O
  9. So far by Zebra_X · · Score: 4, Informative

    most peeps have missed the point of the articles: Common data structures added in C#/.NET 2.0.

    The current framework (1.0 and 1.1) don't come with any standard data structures apart from ArrayList and Collections. 2.0 is the first version of the framework to "feature" these common structures. These articles are a good guide to the new additions. They also show generics in action. Which is also a new addition.
    Finally, there are some *practical* examples of how to use the structures in day to day scenarios.

    Certainly, no ground breaking theory here; then again that wasn't the point.

  10. Over a hundred pages? by Anonymous Coward · · Score: 1, Funny

    I wonder who'll be the first to RTFA before posting.

  11. Re:I guess by Anonymous Coward · · Score: 0

    FART?

  12. You must've never programmed in a MS shop by Anonymous Coward · · Score: 0

    You must've never programmed in a MS shop

  13. Huh? by ThePyro · · Score: 1
    Still no sign of anything resembling a set/multiset, or a tree structure, let alone something like a heap. The documentation is equally sad, making no mention of big-O complexity.

    Maybe I was reading the wrong set of articles, but I could have sworn that he specificially mentioned multiple tree structures, sets, and graphs as new data structures that were being added in .NET 2.0. And there was plenty of mention of big-O in the discussion of the performance of various data structures.

  14. Parameterized properties? by thecampbeln · · Score: 1

    Kinda off topic, but does anyone know if there are going to be parameterized properties in C# 2.0 (besides the default property, of course)? I didn't see anything overtly mentioned in this article about them (maybe I missed something). This lacking feature is the single most annoying thing (for me anyway) of C#.

    --
    "1984" was ment to be a warning, not a guidebook. You hear that Kim Jong-il!? BushCo?!