Interested in .NET? Don’t miss SitePoint’s .NET Feature Guide — it’s an excellent resource!
Whether you’re a .NET newbie, or a seasoned hand at this technology, you’ve probably spent a little time over at DotNetJunkies.com, where they "put the dot in .NET". The site is Mecca to many on the .NET trail, comprehensively supporting the developer as they expand their skills in the .NET arena.
One of the founders of this cult-status site is Doug Seven, who’s been building applications with the .NET Framework since the summer of 2000. But, not content with the challenges of running the site, Doug’s co-authored five books related to the .NET Framework: Programming Data-Driven Web Applications with ASP.NET (Sams), ASP.NET: Tips, Tutorials & Code (Sams), Professional ADO.NET (Wrox), Developing Custom Controls for ASP.NET (Sams), and ASP.NET Security (Wrox).
He also consults on the technology to clients ranging from Microsoft to MIT, and has worked with C#, Visual Basic .NET, Web applications, mobile device applications, XML Web Services, Windows Forms development, and console and service applications.
We took a few moments of Doug’s time to find out what makes this .NET guru tick…
Doug, hello and welcome to SitePoint. Please, tell us a little about yourself, and your programming background? What got you into Web development? And what about your goatee in your ASP.NETPro picture…?
Wow…that’s a lot for a first question! I’ll see what I can do.
I’m the son of a computer programmer. My father got his first job as a programmer the same week that I was born. As a result, I grew up with computers around me and dabbled with them a bit. I wrote my first application, a Choose-Your-Own-Adventure game in BASIC on a TRS-80 when I was 10 years old. I have since moved on to more elaborate applications (I think).
As a late teenager and early 20-something I thought computers were for geeks and scientists and decided that I’d rather be a rock star. I started a band (called sexwithsarah: circa 1992-1999 — see www.mp3.com/sexwithsarah) and pursued the good life. Of course, true to my roots the music was primarily electronic and I used a Macintosh Quadra 650 to sequence it all. It was around 1995 that a band-mate showed me how to develop Websites in HTML. After that I couldn’t be stopped. I was developing Websites for anyone who wanted one at no charge.
That grew into ASP and Visual Basic. I went to work for Microsoft as the Technical Lead of the tier one developer support group. That is where I met my business partner, Donny Mack. After working at MSFT for about a year, I left to be a Web Developer at GoftCertificates.com. The second week I was there I went to the Professional Developer’s Conference in Orlando, FL and learned about the .NET Framework. Which leads us to the next question…(oh, and the goatee? It enables all of my super powers — shaving it off is like Kryptonite to Superman).
What was your inspiration to start DotNetJunkies.com?
DotNetJunkies.com was sort of an accident. Donny and I had decided to start our own consulting company, named CodeJunkies.NET. We were doing basic ASP consulting. After we learned about the .NET Framework we decided to write about what we learned and put it up on a Website. Originally it was called ASPNextGen.com. Basically it was a hobby that grew out of hand.
By the time the .NET Framework Beta 2 came out we’d changed to DotNetJunkies.com and had attracted over 1,000 members. Now we have over 20,000 members, who generate 2 million page views each month. We have a new build of the Website coming out soon, with a whole bunch of new features.
A lot of people are unclear what exactly .NET is, both consumers and developers alike. How do you answer the question "What is .NET?"
Simply put, .NET is a marketing term Microsoft uses for just about everything. An easier question to answer is, "What is the .NET Framework?" The .NET Framework is a new computing platform Microsoft developed to make application development easier, make the applications you develop richer, enable your applications to run on multiple devices, and enable you to develop in any development language you prefer.
Microsoft also uses the term ".NET" to refer to server technology and a general marketing initiative.
You’ve been developing with .NET for quite some time now, from before the public beta phase. How did you get involved? Did you approach Microsoft or did they approach you?
As we were building up the articles on the Website, Donny and I were each emailed separately by the two guys that invented ASP.NET, Mark Anders and Scott Guthrie. At the time we had the only Website that wasn’t run by Microsoft, and that used ASP.NET (called ASP+ at the time). We were actually running ASPNextGen.com on the pre-beta 1 bits (as beta 1 had not been released at that time). Anders and Guthrie had emailed us to say how much they appreciated what we were doing. Since then we’ve had continuous interaction with them, Rob Howard and many others on the .NET Frameworks team.
How much influence do developers like yourself, who are involved from an early stage but outside the Microsoft camp, have on the future development of a strategy like .NET?
Microsoft has been very great about having the developer community involved in the ongoing development of the .NET Framework. As Website owners and authors we were given interim builds of the .NET Framework on a bi-weekly basis and our feedback was used to make changes and enhancements to the .NET Framework. They continue to involve us in the future enhancements of the .NET Framework, although we’re sworn to secrecy!
What are your three favourite features of .NET ‘The Framework’? Is there anything you would like to see added or changed?
I think my three favourite features would have to be the language flexibility, the inheritance capabilities, and the simplicity of use.
Having a single platform where you can develop in anyone of 25 languages, with more on the way, and where every language has the same performance and capabilities is great. I don’t know how else to say it. Additionally, the ability to inherit capabilities from one class, into another, and the ability to inherit across language boundaries is something I use a lot. All in all the simplicity is my favourite feature. Granted, at first it can seem a bit daunting and scary, but one you shift your thinking to the .NET way, it becomes very intuitive and natural.
It’s hard to say what I would like to see added, since I get a little insight and influent as to what’s coming.
In the enterprise arena, what would you see as the most compelling reasons for a corporation to make the switch from VB6 to .Net? And, how would you advise that switch was made?
The compelling reasons for a corporation to switch are the performance gains and the return on investment (ROI).
.NET applications can perform at a much greater level than previous platforms. There have been numerous tests in different configurations and using different applications to compare against. In most cases, not all, the .NET Framework proves to process transactions at a rate of 1.5 to 4 times faster. The ROI comes in the quickness of development. Once developers become proficient in the .NET Framework they are able to develop applications much faster. There is so much less plumbing code and basic code to be written, and it is so easy to reuse code, that applications can be developed very quickly. As a test, I once developed a simple, but fully functional ecommerce application (for a pro-bono client) in less than 24 development hours.
What’s your Weapon of Choice: VB.Net or C# — and why?
I actually spend about 50% of my time in each. One of my primary clients requires Visual Basic .NET, while all of DotNetJunkies code is in C#. Any time I do a presentation (which is an awful lot) I try to ensure that the sample code is available in both Visual Basic .NET and C#.
I really like the syntax of C#, even though I come from Visual Basic background. I was actually happily going down the VB.NET path when we got hire to do a job for Microsoft and MIT and found out at the last minute that they wanted it in C#. After using C# for a few months, I was hooked.
.NET and the Web
ASP.NET is generating a lot of interest. You are a Moderator at www.asp.net, which now has over 130,000 registered members, so what do you see as ASP.NET’s strengths in the Web arena?
Well, the Web Arena is really the only place ASP.NET has strength — it certainly doesn’t have strength in the Desktop Application arena ;)
ASP.NET is a strong contender when you look at all the platforms out there. I never feel comfortable saying it is the best because "the best" has a lot to do with what you as a developer are comfortable with and proficient in. If you are not comfortable or proficient with ASP.NET — for example it just doesn’t make sense to you, then it is not the best for you.
In terms of its performance, ease of deployment, versioning capabilities, recovery handling, etc. I feel it is the best Web application platform there is.
In your opinion, for an Enterprise already using Java, PHP or JSP, are there any compelling reasons to switch to a .NET now or in the future?
The performance, language, deployment, and ROI benefits of the .NET Framework should compel any large business to build new applications with the .NET Framework. It’s hard to justify rebuilding an existing application, because the benefits will not justify an entire rebuild. The benefits do justify new application development, and I heavily encourage businesses to consider the .NET Framework for new application development.
.NET V. PHP and Open Source
As SitePoint has a large PHP community, we regularly have heated debates about .NET vs PHP. First of all, have you ever developed with PHP, and did you enjoy the experience?
I have never developed in PHP. It’s something I have been meaning to try, just to have it under my belt and be able to provide comparison examples and arguments. It’s definitely on my To-Do list.
Would you try to convince everyone to move to developing Web applications/sites with .NET instead of PHP, or are you more of a ‘use the right tool for the job’ type of chap?
I am more of a "use what’s right for you" type of person. I do not recommend switching from PHP to ASP.NET to Cold Fusion for different projects. I think you are doing yourself a favour by become an excellent developer in one platform, like PHP or .NET, rather than being a mediocre developer in multiple platforms.
What exactly is so special about .NET, what can it do for me that PHP and other languages can’t?
One of the things is that .NET enables you to develop Web, desktop, service or console applications in any language you want. Since the Common Language Runtime (CLR) is a ratified standard (ratified by the ECMA on 12/13/01) anyone can develop a compiler for any language. You can develop in C#, Visual Basic .NET, PERL.NET, COBOL.NET, etc. There are a long list of other benefits form server controls, user controls, structured exception handling, automatic process recycling, content caching, etc.
The .NET Framework really takes the best of what’s out in the Web application arena and puts it all in one very flexible set of class libraries and runtime engine. Because of how the CLR works, I can develop applications on a Windows machine and compile it, and then distribute that application to any platform running the .NET Framework and it will work. I no longer need to write separate code and have separate executables for each platform. For example, I can develop a Web application on a Windows XP Pro machine, and deploy it to a Windows 2000 Server or a Linux machine running the Mono Project or a FreeBSD machine running Rotor.
With large sites starting to use PHP, including Yahoo! and Google, do you know if there are any plans for PHP to be integrated with the .NET Framework?
I have no knowledge of such things, but that doesn’t mean that it isn’t already happening.
What is the point of .NET’s cross-platform nature if Microsoft refuses to develop anything for other platforms?
Other people can develop .NET implementations on other platforms, such as the Mono Project. Additionally, Rotor is a compressed archive of source code to a working implementation of the ECMA CLI and ECMA C# langge specification and it was developed (and continues to be developed) by Microsoft. Rotor includes support for Mac OSX.
Do you think the MONO project will succeed or become another ChilliSoft ASP? If they do succeed to produce a truly cross-platform version of .NET that is outside the Microsoft sphere of influence what impact do you think that will have on MS’s future strategy?
The challenge with anything like the Mono Project is the marketing and support. The business world is run by business people. In order for a technology to prosper, the business people have to know about it. That requires marketing. Once the business people know about a technology, among their immediate concerns is what type of support they will get from the producer of the technology. In order for the Mono Project to be successful, Ximian, or someone else, will have to provide reliable and proven support for it. If there is no reliable support, the technology is too risky for real-world business use.
.NET 1.1 beta and Everett are now is different stages on testing. What is your initial impressions of them? Is there any major advancements in either over their older versions?
I am embarrassed to say this, but I haven’t had time to play with it. I have the disks and have been meaning to install it, but I have been to busy. I just ordered a new machine, so I think when I am setting it up I will install v1.1 and dive into it head first. I’ll have to get back to you.
There is a list of changes available at: http://www.gotdotnet.com/team/upgrade/v1.1/v1.0tov1.1changes.zip, though.
SitePoint thanks Doug for his time!
This article is part of SitePoint’s .NET Feature Guide — an excellent resource for aspiring and experienced .NET developers. Don’t miss it!