MSDN – “. . . all without writing a single line of code.” – level 100

Scott Stewart laments what he saw at his local MSDN event, and I have to say that I experienced the same thing at the Austin, TX MSDN event.  I, too, like writing code, and I tend not to use the designer to much.  Back in the days of FrontPage and Interdev, I didn’t use the designer.  I found that I had to tweak the designers code anyway, so it didn’t take me long to write the code myself. 


I think what Microsoft is trying to showcase is that ASP.NET 2.0 reduces a whole lot of plumbing, and while the designers help, they don’t actually write any code.  If the designers wrote code, it would be in the .cs class.  In v1.1 we have “Designer-generated code don’t touch”, but that doesn’t exist in 2.0 because of partial classes.  and pulling more functionality into the base classes.  The new GridView control supports sorting and paging through properties.  Now, the designer will write the markup for you, but it just sets the appropriate properties.  In the DataGrid, we have to write sorting and paging code (just a few lines), but the GridView abstracts that into the control so we don’t even have to do that.  I think the changes are better, and writing less code is better, but I know that I will always have to write code because there isn’t a way that a designer can write my business logic. 


Sure we’ll see some newbies that will hammer out something that works with the designer, and it may work fine for a small company, but as soon as the requirements get a little more complex, the need to actually type the code will be apparant.


Just by adding features to the language and the .Net Framework, Microsoft is meeting the needs of enterprise developers like us, Scott, but it seems to me that the MSDN events are really touting the hobbyist and RAD features that it adding on top of the features you and I use.


If I ever took a test on the RAD features in VS or the designers, I’d fail.  But I know exactly what code is generated by them because I write it every day. (Except for DataSet-DataAdapter stuff – I tend to use a DataReader to populate my custom objects).