Home
Archives
About us...
Advertising
Contacts
Site Map
 

ruby in steel

 

#2 - July 2005
Huw and Bethan the dog wrestle with a tricky programming problem....
Spot the editor....

Index to this month's issue
How to leave feedback

“Either he’s dead or my watch has stopped.”
Groucho Marx

“It's not pining, it's passed on. This parrot is no more. It's ceased to be. It's expired. It's gone to meet its maker. This is a late parrot. It's a stiff. Bereft of life it rests in peace. It would be pushing up the daisies if you hadn't nailed it to the perch. It's rung down the curtain and joined the choir invisible. It's an ex-parrot.”
Monty Python’s Flying Circus

“The report of my death was an exaggeration”
Mark Twain

 

I have to confess that I rather like VB .NET. Indeed, I’ll go further. This is the first version of the Visual Basic language that I am reasonably happy with. Using earlier versions was a struggle. VB .NET, on the other hand, feels like a language that has been designed rather than just grown in the telling. It is well structured, object orientated, has an excellent class library and a superb development environment. So why are so many people moaning about it…?

It all comes down to the question: what is it for?

In the early days, it was easy to answer that question. VB was practically synonymous with ‘rapid application development’. There were some types of application (particularly those in which the user interface was paramount) which would take ages to code in C++ but which could be got up and running in a matter of minutes using VB. Nowadays, drag-and-drop visual design tools are nothing special. Borland’s Delphi has had a superb integrated design-and-coding environment for over ten years. Microsoft’s Visual Studio for .NET provides a similar toolset for the C# language. There are other visual design tools for languages ranging from Smalltalk to Java.

Which brings us back to the question: what is VB .NET for?

Or, to put it another way: why should anyone choose VB .NET over some other language? If you’d asked me that a couple of months ago, I would have been ready with a glib answer something along the lines of: “VB .NET has the benefit of familiarity for existing VB developers and it provides an easy migration path for existing VB projects.”

Shows I much I know!

It was only when I began browsing the Microsoft VB newsgroups recently that I realised that such an ‘answer’ is no answer at all. There are certainly some happy bunnies who, like me, think VB .NET is just one heck of a lot nicer than VB6. But there are also a good number of other folk who feel let down by Microsoft. These are people who have standardised on VB over many years and have a huge amount of VB code which they have been unable to migrate to VB .NET. This is due to the fact that VB .NET is, quite simply, a different language from VB6 and the conversion tools supplied by Microsoft don’t cut the mustard.

Compare this with the situation that faces programmers of Borland’s Delphi. The Win32 version of Delphi uses a class library called the VCL (Visual Component Library). Naturally, this library is not compatible with .NET. So what did Borland do? Tell their customers, “Sorry, you’ll just have to recode your old programs from scratch?” Not at all. What they did was they wrote a new version of the VCL which lives on top of .NET. I’ve tried converting some fairly substantial Delphi Win32 projects and, while they don’t all convert seamlessly (API and pointer operations generally require extra attention), I’ve been able to load many old programs without having to do huge amounts of rewriting. Indeed, in projects which lack API calls, I can often load, compile and run them straight from disk - with no recoding at all!

This puts me in a quandary….

On the one hand, I’ve heard the complaints of long-term VB users who feel that their loyalty to VB over the years has been ill repaid by Microsoft’s lack of continued support for the Win32 platform and lack of a Delphi-like migration path for old projects. I heard the complaints and I sympathise with them.

On the other hand, given the choice between coding a project from scratch in either VB6 or in VB .NET, I wouldn’t hesitate for a moment in choosing the latter. VB .NET is, in my opinion, far superior to VB6.

But then again, if someone gave me the choice of coding in C# or in VB .NET, which one would I choose? Without a moment’s hesitation I’d go for C#. And there is the nub of the problem. If the raison d’être of VB .NET is to satisfy existing VB users, what is its purpose if it isn’t satisfying them…?

This month we look at both sides of the argument. In The Strange Death of Visual Basic, Dermot Hogan considers the problems faced by VB6 users. In our exclusive interview with Jay Roxe, the VB Product Manager gives a rather more positive perspective on the issue.

Good reading!

Huw Collingbourne
(Editor)


If you wish to comment on anything in Bitwise, you may write a letter to the editor.
See our Letters Page for comments on last month's Bitwise.


In this month's bitwise...
The Strange Death of Visual Basic : is Microsoft killing its favourite language?
Interview with VB Product Manager, Jay Roxe : the MS view of the future of VB
VB Past, Present and Future : What now for VB6?
Borland Interview : Video interview with David Intersimone, Delphi, Java, C++, VB and more
VB6 Serial Communications #2 : API programming
Delphi Screen capture - part two: selecting and grabbing a rectangular area
Delphi 2005 and ECO II - part two: Bob Swart creates pages in EcoSpace
C# Adventures in Coding #2 : creating class hierarchies and custom Collections
Smalltalk Beginner's Guide - part two - creating classes
Review: Camtasia Studio 3 - latest version of the famous screen recording software
Book Review: Spring Into PHP 5 - by Steven Holzner
Book Review: Teach Yourself PHP In 10 Minutes - by Chris Newman
Bytegeist - Quantum Software and The Mythical Man Month
Rants and Raves - Doctor Who, Firefly, Farscape and the power of Internet campaigns
Letters To The Editor - Delphi For VB Programmers? OOP is Snake Oil?

 

 

 

 


Home | Archives | Contacts

Copyright © 2006 Dark Neon Ltd. :: not to be reproduced without permission