API design values and decision matrix

My blog has moved. You can view this post at the following address: http://www.osherove.com/blog/2009/3/17/api-design-values-and-decision-matrix.html
Published Tuesday, March 17, 2009 10:56 AM by RoyOsherove

Comments

Tuesday, March 17, 2009 12:36 PM by Ted

# re: API design values and decision matrix

Making your api free of side effects is one of the best things you can do.  This means that you can use the API without constructing any special purpose objects (e.g., all methods are static within the API wrapper class).

Tuesday, March 17, 2009 12:41 PM by Jimmy Bogard

# re: API design values and decision matrix

#1 on the VB list is quite limiting in the C# space, if you're trying to do language-oriented programming/internal DSLs.  I had a request come up in an OSS project I'm on, and my answer was "wait for VB10".

Since VB10 has _real_ lambda support, why cripple your API now just to un-cripple it when VS2010 ships?  The Action delegates are a big deal for internal DSLs, I shouldn't be forced to make _every_ _single_ callback parameter return a value, especially if I'm designing grammar paths.

The VB team made a design mistake, which they are fixing in the next version.  I would suggest designing your Isolator API such that whatever "fixes" you put in for VB devs is easily obsolete-d in the future.

Tuesday, March 17, 2009 3:55 PM by Vagif Abilov

# re: API design values and decision matrix

I agree with Jim. Not only missing lambda is coming in VB10, most of developers that focus on their products (unless they also design API for other developers) don't care at all if the API they use has a counterpart in other languages.

Wednesday, March 18, 2009 2:23 PM by C# test.net » API Design Values

# C# test.net » API Design Values

Pingback from  C# test.net » API Design Values

# Development and Integrity Management by Eli Lopian » Why do we ignore your arguments?

Pingback from  Development and Integrity Management by Eli Lopian » Why do we ignore your arguments?