I've had some feedback about my growing appreciation of .Net development and Visual Studio. I must admit, it is true -- I am growing to really enjoy .Net development.
The Good
- .Net lets you catch a lot of errors at compile time
- The FCL is an amazing collection of utilities. Spend a lot less time considering alternatives and researching available software modules (CPAN.)
- The .Net debugging tools and package analysis tools are great when you're in "debugging" mode
- The Visual Studio IDE has a vast number of extremely useful third-party plug-ins that can really speed up development
- Generic .Net features such as "region" and XML Comments greatly increase organization and documentation efficiency within large implementations
The Bad
- .Net makes you wait for a compile before you can test most changes. This results in much slower development vs. dynamic languages, especially if the required compile gets Ugly (see below) and you have to reboot.
- .Net, under Windows, is tightly coupled with the OS. This results in a lot of confusion and non-.Net (OS specific) knowledge is required for many complex implementations
- The tools development companies that partner with Microsoft to produce VS.Net plug-ins ignore a lot of open-source/industry-standard solutions, opting instead to support Microsoft-centric technologies and approaches (SCM integration, for example)
- The ASP.Net web development environment contains many foriegn (to the classic web developer) concepts. This is the result of .Net's attempt to unify the programming model for Win32 and Web application development. While this decreases the learning curve for developers already familiar with one, it increases and complicates the learning curve for non-.Net developers. This because a problem when people unfamiliar with ASP.Net perform page and widget design (Human Factors Engineering team) from the perspective of form-post based applications without considering the various complexities of translating concepts to ASP.Net pages and user controls.
- Visual Studio tries to be all things for all people. It includes a database designer, an image editor, an XML editor, a CSS editor, a WYSIWYG XHTML editor and countless other edit modes and supported file formats. While this is useful, the overall quality of each mode suffers. For example, the XML editor does not provide a "pretty print" feature for XML files that are not human readable (indented) and the CSS editor has limited support for anything but CSS 1.1
The Ugly
- .Net on Windows involves a lot of file lock related reboots, DLL versioning nightmares and Visual Studio Crashes
- I am considerable more skilled with XHTML than the Visual Studio designer in 2003. VS.Net messes up my HTML constantly and I spend an inordinate amount of time fixing it. I have found ways to introduce "errors" into my XHTML so that the Visual Studio designer won't load them, but that results in further slow-downs because without the designer no auto-vivification of server-side controls occurs.
- My "development environment", Visual Studio 2003, SQL Server, IE and Visual Studio 6.0sp6 consumes about 1G of RAM while under heavy (debugging) use. This is an excessive amount of system resources!
No comments:
Post a Comment