Writing less code

Who said "There's only really one metric to me for future software development, which is
-- do you write less code to get the same thing done?"  Maybe one of the folks on lesscode.org who

practice the art of using less code to get more done. We shun
complexity and challenge the status-quo when it impedes our ability to simplify
our development tools and processes. We appreciate Python, Ruby, LAMP, REST, KISS,  

Uhh, no.  It's the person often reviled  as a promoter of complexity and keeper of the status quo, our very own Chief Architect. [;)]

I mention this not only because the dilemma of simplicity is one of my favorite themes,
but because this came up in several conversations that I heard at PDC
about the new featues in C#.  The basic sentiments are stated pretty clearly by PDC blogger David Wheeler

But as with anything, the complexity that is added to this
language will require very careful management. ...I spend a lot of time
working with developers that are new to C#, new to Object Orientation
and new to .NET. I feel that Lambda expressions, extension methods,
anonymous types and LINQ (Language Independent Natural Query) will be
concepts that they will find it difficult to grasp at the first
attempt.
...
C# 3.0 is reaching a point where a developer with only a few months
experience will be unable to read what an "advanced developer" will be
writing for, say, data access.

I
definitely heard a number of people moaning about
Lambda expressions in particular, which apparently can cause horrible
LISP flashbacks to those with less than fond memories of the '80's AI
hype wave. What was most interesting to me, however, was that in the
panel discussion on LINQ Friday afternoon, someone
asked about all the additional features being added to C# to
support XML, SQL, object-relational mapping, etc. and worried that
these features would undermine its essential simplicity. Anders
Hejlsberg responded much as Bill Gates did in the quote at the
top:  Think about all the complexity and tedium that the new C#
features removes from your application code, and weigh that against the
additional complexity of C# itself.  Anders went through a long
list of things that application developers will need to know less about
in return for learning about LINQ, etc. 

So far, and I say this after having spent the evening reading
dozens of blog entries on LINQ, it looks like a considerable majority
of the people who have been exposed to LINQ agree that it will provide
an excellent return on the investment to learn the new features. 
Remember, however, that the whole point of announcing all this at PDC
was to
get feedback, so by all means let Anders and others know about specific
features will cause you more pain than gain. 

In my opinion, adding infrastructure code that was designed and
implemented by the best people in the business then  exhausitvely
tested for years, but lets you write less code in an application, is an excellent tradeoff.