The SharePoint Development Tax
Typically when you are talking about SharePoint the conversation revolves around all of the great "out of the box" functionality you receive with the product. In no way do I intend to argue against that, SharePoint is a fantastic product that does many things very well.
SharePoint as a development platform... well, that's a whole different story! Jeffrey Palermo talks about it here, although his primary gripe seems to be that SharePoint has to run on a server OS, which would require using a development VM. I do all development in VMs regardless, so that isn't really a deal-breaker for me at all. Speaking of which, Andrew Connell has a great blog posting on using differencing disks with Microsoft Virtual PC.
Charles Chen argues the opposite in his blog posting, defending SharePoint as a development environment and taking Palermo to task on a point-by-point basis.
One thing I don't see mentioned by either is what I am going to refer to as the SharePoint Development Tax(tm). What is this tax? Is a break given to 95% of working families? Well, no. This tax comes in the form of time spent waiting for solutions to deploy, 12 hives to be copied, and app pools to be recycled. When working with SharePoint as a development environment, several times a day you will need to deploy solutions, which cause app pools to recycle, you may need to copy new assemblies to the GAC, again, requiring app pool recycles. So what's so bad about that? That happens all the time in ASP.NET development, why is it bad for SharePoint? Well. The issue is HOW LONG SharePoint takes to recycle. Sure, you could complain about my development environment, but I am running on a quad-core 2.2 GHz machine with 8 GB RAM, and I give my development VPC 3 GB RAM. How long does it take? On average, a solution deployment takes 45-60 seconds. An app pool recycle takes almost 2 minutes. I probably go through about 10-20 app pool recycles a day, eating up 20-40 minutes of time, not to mention lost productivity due to falling "out of the zone". In Joel Spolsky's famed blog posting 12 Steps to Better Code there are several mentions of how a 15 second break in concentration causes a 15 minute lapse in productivity.
Perhaps I should quit complaining though... The SharePoint Development Tax has given me lots of extra time to play guitar while watching spinning circle animations!