What if we gave you $100 to spend? [Krzysztof Cwalina]

What if we gave you $100 to spend? [Krzysztof Cwalina]

  • Comments 37

The BCL team is starting to plan our next release. Is there any base API that if you’d heard we were working on you’d say “I can’t wait to get the next version of the Framework”? Any basic data structures? Any Win32 functionality that we don’t currently expose in the Framework and you can’t live without? Any APIs that other frameworks have and you miss them in the .NET Framework?


Tell us how you would distribute hypothetical $100 to fund the features. For example, this is what I would do if my car manufacturer asked me this question:

  1. The ability to wirelessly upload music to the car’s stereo system ($60)
  2. More torque ($30)
  3. Beep when I lock the car ($5)
  4. Larger trunk ($5)
  • Add a StringComparison parameter to the Contains and Replace methods of the String class.


    I'm sure there are other useful suggestions for you on Ladybug that have been lurking there unlooked at for months.
  • Not sure if this comes under the heading of BCL but I'd split it between fixing the GDI+ "dancing characters" bug and fixing GDI+ drawing rectangles with missing corner pixels. It's a pain to have to P/Invoke down to straight GDI just to draw text.
  • Memory mapped files (80$)
    Basic functions to handle reading and writing big endian values for binary data sources generated from somewhere else (20$)

  • I would like to thank all who provided comments. Many of the comments validate planing work we have done, and many provide good feedback for us to adjust our plans. We will keep you posted (on this blog) about more details of the upcomming features as we start to design and implement them.

  • memory mapped streams ... $50

    more more more datastructures. a non-standard generics collection impl with virtual in case you're willing to give up the performance penalty would be nifty ... $50
  • $80 for better DateTime types, that are nullable.  
    $10 make the windows DateTimePicker control nullable.
    $10 make the DateTimePicker able to handle dates prior to 1/1/1753!!
  • I'm not a fan of nullable values (I much prefer the NullableObject pattern).  What would be excellent would be for DateTime.MinValue and DateTime.MaxValue to be recognised as-such and handled correctly on the UI and database binding edges.  I had to add that support to Wilson's O/R Mapper, and to my ASP.Net controls.  It wasn't hard, but it sure seems like redundant work that everyone would have to do. If the database providers and the UI elements all handled things consistantly, I wouldn't have had to waste the time.

    BTW, the whole nullable object pattern with DateTimes lets me ask for live people the simple query:

     SELECT Person.ID
     WHERE GetDate() BETWEEN Person.DateOfBirth AND Person.DateOfDeath

    all I have to do is insure that my business logic uses DateTime.MinValue for "unknown" birthdates and DateTime.MaxValue for "unknown" date-of-death.  This beats the heck out of nullable dates anytime!
  • $20 for standard XML namespaces and schemas like the other Keith suggested.

    $30 for more generics constraints.  I want to be able to write generic (int, float,double) math libraries.

    $10 big endian support in BitConverter and BinaryReader/Writer.

    $40 to provide a mechanism to automatically determine/document as many possible exceptions that can be thrown by a method. I'm not asking for "enforced" checked exceptions just help in determining what could be thrown by a method.  It helps to anticipate how you might recover or if you can recover.
  • $100 - A decent DDE module in the framework.
    (I do not use .net, but when I looked at it earlier I could not find a DDE library. I do not know how much had since changed. Excuse my lack of knowledge, but I hope my investment is still valid)
  • Well, I've already ranted about my topic <a href="http://spine.cx/article.php?sid=1030">on my personal blog</a>.  System.IO classes can't seem to access anything in a path longer than 260 characters, even with the old "\\?\" hack.  I've had this complaint about Windows Explorer for years, but now to actually take a step backward in my programming interface?  That is outrageous.

    $100 on making 32000 character paths accessible in .NET.
  • $90 for object obj = X.Evaluate("2 + 3 * 4 > 5");
    $10 for Win32 ScrollWindowEx
  • $100 just to remove sealed keyword from Graphics class and make its methods virtual (or replace Graphics with IGraphics)
  • 33$ generic arithmetic.
    33$ A non Direct X Math Library with Vectors and Matrixes.
    33$ support for generics in the soap serializer.
    1$ make generic constraints propagated so you don’t have to keep restating them.
  • I wonder if this falls under what some calls a generic operator overloading but it's going to help a lot if we can dynamically check during runtime if a type supports the "+", "-", "*", "/" and other operators on the primitive types (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=331902&SiteID=1).

    Thanks very much.
  • As a relatively new blogger, I am still learning what are good topics to blog. One of the metric I used...
Page 2 of 3 (37 items) 123