So today I saw a funny series of Blog posts starting with Robert Scoble’s defense of his “Geekhood” after a post by someone named Cody who hates fake computer geeks.
What’s interesting about these posts are the examples that both use to define geekiness. Cody complains that Scoble doesn’t host his own Blog software. Scoble defends his geek credentials by mentioning past experience installing NT 3.5. Either way, those definitions don’t reflect the reality of the information age.
To put this in context, let’s think back 15 years or so to the Visual Basic story. Here was a tool that provided a high level of abstraction over Windows. Who were the geeks? The C++ programmers who blew off VB as a “toy language” or “glue language”, or the millions who adopted VB either as their first language or migrating from another language?
The answer is obvious – both were. The only difference was that the VB geeks were much more productive (for a wide class of applications).
The world has changed of course, and neither VB .NET nor C# provide the kind of abstraction levels that are needed going forward. We don’t have a tool that corresponds to the .NET framework the way VB related to the Windows API. Or put another way – VB was incredibly productive because it provided a level of abstraction to the underlying API for which C/C++ was the “first class” language. Today, VB .NET and C# are the “first class” languages for .NET – but we don’t yet have that new paradigm, that new level of abstraction, that will bring us to the next level (of geekiness, as it were).
Or do we?
At least in one area, I’m beginning to think that we do.
When I look at ASP .NET, I see lots of great components and features for building great web applications. At the same time, the prospect of building a site using it is – well, it’s about as exciting as Hello World was in C back in the 90’s. I’m working on a project now (not ready to talk about yet), that is web based, and building it from scratch wasn’t even a consideration.
For web applications, tools like WordPress and CMS systems like Plone, Drupel and DotNetNuke are compelling platforms on which to base new applications. Their open source nature and flexible architectures assures extensibility in much the way that VB’s support for custom controls allowed the language to do things that it’s developers never imagined.
This, by the way, should be something Microsoft pays close attention to – the vast majority of CMS systems today are LAMP systems – and this is what might cost them the web platform war (not the quality of the platform itself).
Anyway, I digress. Cody, Robert – you’re both geeks in my book.
And for the record, this particular Blog is on WordPress, that is in fact hosted on my own server – not because there is any geek value in doing so, but because my incremental cost to do so is zero (which is, coincidently, the cost of Robert’s hosting as well).
Hi Dan,
First of all I’d like to thank you for the large number of times your book helped me beat the C++ diehards over the head, fighting the “you can’t do that in VB” argument.
I have yet to find something that cannot be done in VB, and I have also yet to convert to .NET – I just feel right at home with VB6, and can do without having to ask people to install a 20MB+ runtime just to execute my little app.
Back to the topic, in my book a geek is someone who knows more about a subject than I do. Ergo, the world if full of geeks. There are very few people that can be considered übergeeks, and I honestly wouldn’t consider myself a geek, because I would first have to know with whom I was talking – maybe they want to call me a geek after hearing what I have to say, or seeing my actions.
[…] I talked about this to a good friend of mine Dan, and he just laughed and said, “Funny you should say that!” I suppose some of you readers will just smile! Well, I am smiling too now… […]
DotNetNuke attempts to provide the level of abstraction ( or geekiness – is that really a word? ) which takes us to the next level in constructing powerful and extensible ASP.NET applications. It provides a native open source CMS for the .NET platform – a formidable weapon in the web platform war versus LAMP. And the interesting thing is that DotNetNuke is written in VB.NET – the same language which revolutionized the Windows development environment – is this a coincidence? – I certainly don’t think so…
Yep, I’m aware of DotNetNuke (it’s mentioned in the original post), and I’m seriously considering it for my next project. Right now I’m in the earliest stages of researching it, but I think it’s a good fit. I’m just hoping the learning curve to do more advanced tasks (such as creating custom modules) isn’t too steep. I’ll post more on this once I’ve made some progress.
If you’re not going to develop a web application from scratch, say – as in your example – you just need a content management system, then choosing between .NET and LAMP is more a choice of which operating system you prefer to admin.
I’ve used .NET and LAMP extensively, and I use LAMP for pre-written apps (e.g. WordPress) and .NET whenever I’m writing a new site completely from scratch. The reason is that the development environment for .NET (Visual Studio) is far superior to any of the tools available for LAMP – I usually end up using a text editor, and then I get no decent debugging!
Previously LAMP was the main weapon of choice for blogging platforms and CMSs – but the gap is closing. There are great CMSs for .NET, and now there are a couple of great blogging platforms appearing (BlogEngine.NET, dasBlog and Subtext).
The future for .NET is bright. Especially as the developer tools section of MS seems to be the best run section!
– Gary Webber
http://www.badcreditremortgage.net/
Hi Dan,
I make 10 projects in VB 6.0 and 3 projects in VB.net. Initially iI don’t know about VB 6.0 features because I start from VB.Net. After completing 3 projects in VB.Net my Boss gave me some projects in VB 6.0 and said to convert the whole project in VB.Net. I was sophisticated and thought how to do this. Then one of my friend get an idea for how to convert the whole project in VB.Net.
Due to that help I prevented my job.