Upgrading from VB to VB.NET or C#, that is the question…

 

From: Christophe Pichaud
Sent: jeudi 17 août 2006 17:00
To: Hans van den Akker; Jacqueline van der Holst; Andrew Bohn; Dave Giard; Dominic Buschi; Community – .NET; Community – Visual Basic .NET; Community – C#
Subject: RE: Future of VB.NET

 

 

> Tech detail: This is fairly simple by enabling Com interop.

 

<sorry>

NO NO NO and definitively NO….

COM interop is available for working with COM, Iunknown and Idispatch supported interfaces

COM Interop is not made for OLE high level objects.

VB controls, known as OCX controls are not simple COM components nor Windows Controls. Those are OLE2 objects. These objects are very complex and accessible with Type library embedded into the OCX. .NET controls and WinForms are built upon WINDOWS CONTROLS (HWND) and Windows Message, not OLE2 stuff…

</sorry>

../..  EXTRACT FROM Inside OLE2 (MS Press)

Each technology has specific interfaces that apply to it, and some of the higher-level protocols such as OLE Documents and OLE Controls even involve groupings of the interfaces from other technologies. Because of these relationships, the technologies in this list build on one another, as illustrated in Figure 1-7 on the following page.

Figure 1-7 : OLE technologies build on one another, with COM as the foundation. An arrow indicates dependency; a circle indicates a possible use but not a requirement.

Figure 24-1. : The structure of an in-process OLE control.

 

 

Christophe Pichaud | Senior Consultant
MCSD, MCSD.NET
Avanade France  | Paris Development Center
10 Av. de l’Arche, 92 419 Courbevoie
( Mobile: +33 6 88 04 27 27
www.avanade.com

Avanade /systems.solutions.success/from Accenture & Microsoft

 


From: Hans van den Akker
Sent: jeudi 17 août 2006 16:34
To: Jacqueline van der Holst; Andrew Bohn; Dave Giard; Christophe Pichaud; Dominic Buschi; Community – .NET; Community – Visual Basic .NET; Community – C#
Subject: RE: Future of VB.NET

 

Worth to mention that:

 

Microsoft uses source code dated from the 1980’s in its Windows XP release. In my option, this is no shame, since reuse of good stuff ( ;-) ) is good.  

 

Is it an option to consider all/most of the VB solutions as reusable software components within future VB or C#.NET projects?  This is considered to be an evolutionary approach of software development.

Tech detail: This is fairly simple by enabling Com interop.

 

Hans

 

Hans van den Akker | Senior Programmer (Solution Developer)
Avanade @ ALMERE
______________________________________
Camerastraat 17, 1322 BB Almere
( Mobile: +31 6 46 314 382
Website: 
www.avanade.com
___________________________
Avanade /systems.solutions.success/from Accenture & Microsoft

 

 

 

From: Jacqueline van der Holst
Sent: donderdag 17 augustus 2006 15:08
To: Andrew Bohn; Dave Giard; Christophe Pichaud; Dominic Buschi; Community – .NET; Community – Visual Basic .NET; Community – C#
Subject: RE: Future of VB.NET

 

I know what you mean, but it is going to be important, whether you program in VB.NET or C#, to teach the programmers the concept of OO. It cannot be that you say to your programmers one day: now you are programming in .NET. You can only use the consept of OO when you understand the basics.

 

I was on a project one day where they told the programmers to work in .NET instead of VB6.0. No attention was paid to the principles of OO. These programmers never adopted the OO way of programming and the code was very difficult to debug and maintain within .NET.

 

So, I do not think your problem is, what language to use, but if your going to change to .NET, what effort it is going to take and how to do it.  Programming in VB.NET instead of VB6.0 is till a major difference. So I do not think it matters whether you choose C# or VB.NET.

 

Jacqueline van der Holst

 


Van: Andrew Bohn
Verzonden: wo 16-8-2006 18:20
Aan: Dave Giard; Christophe Pichaud; Dominic Buschi; Community – .NET; Community – Visual Basic .NET; Community – C#
Onderwerp: RE: Future of VB.NET

"far easier than teaching them OO concepts and .Net"

 

Couldn’t agree more.  At the risk of starting a holy war (hey, I didn’t start this)  I have seen many customers make the decision to go VB.Net because their VB6 workforce will "ramp up more easily".  The output I have seen from these teams, almost across the board, is that their workforce never full ramps up – they write VB6/COM code in VB.Net.

 

Switching the syntax (small thing) *forces* the developers to grasp the "new" paradigm (big thing), and focus on the leveraging the framework rather than relying on the Microsoft.VisualBasic namespace to make the new things old again.

 


From: Dave Giard
Sent: Wed 8/16/2006 10:42 AM
To: Christophe Pichaud; Dominic Buschi; Community – .NET; Community – Visual Basic .NET; Community – C#
Subject: RE: Future of VB.NET

Although customers often insist that the language choice is one of their key architectural decisions, I see it as a very minor choice.

 

The choice to use .Net (rather than stay with VB or move to Java or some other framework / platform) is a bigger choice by an order of magnitude. 

 

As Christopher points out, the upgrade from VB 6 to VB.Net is significant.  By comparison, the differences between C# and VB.Net are trivial.  Switching skill sets from one to the other is far easier than teaching .Net to VB6 developers.

 

In other words, if your customer is determined to go with VB.Net, I wouldn’t dissuade them.  But if they are at all concerned about the language being deprecated, explain that retraining their work force will be easy (far easier than teaching them OO concepts and .Net).

 

For me, the tiebreaker is that I see more new code written in C#, so it is easier to get samples off the web in this language.

David Giard  | Solution Developer
MCSD, MCSE, MCDBA
Avanade® Inc Central Region 
161 North Clark Street, Chicago, IL 60601
Mobile: 734-239-3490
www.avanade.com


From: Christophe Pichaud
Sent: Wednesday, August 16, 2006 8:13 AM
To: Dominic Buschi; Community – .NET; Community – Visual Basic .NET; Community – C#
Subject: RE: Future of VB.NET

 

The customer has so many interest in staying with the VB.NET

But you ? It is your interest to keep a large amount of VB-syntax source code ? Can you fill a team with some VB.NET coders that will be happy to make VB.

 

Explain your customer that between VB and VB.NET, there is few common things. May be the product name (2 letters) but when we look at the internals, just explain your customer that VB is built on COM and the OLE technology.

Explain your customer that .NET was formely named COM+ 3.0 before it was nammed .NET and explain him that the way to keep syntax look-like do not means a context when applications are running. Migration project may not be the best way to make a massive .NET approach.

Do it the way you want, but VB to VB.NET is a waste of time:

         all the OCX (VB controls) will be lost

         most of the migrated source code will be understandable by the .NET runtime, unless the source ocd is perfectly written

         If the source code is properly written, they would not do VB.

 

 

 

Christophe Pichaud | Senior Consultant
MCSD, MCSD.NET
Avanade France  | Paris Development Center
10 Av. de l’Arche, 92 419 Courbevoie
( Mobile: +33 6 88 04 27 27
www.avanade.com

Avanade /systems.solutions.success/from Accenture & Microsoft

 


From: Dominic Buschi
Sent: mercredi 16 août 2006 13:49
To: Community – .NET; Community – Visual Basic .NET; Community – C#
Subject: Future of VB.NET

 

I have to address a customer’s concern about the future of VB.NET.

The customer has 50-60 VB apps and VB developers but is unsure if he should migrate to VB.NET or change to C#.

 

I’m recommending him to go with VB.NET as it’s widely adopted, Microsoft is certainly not going to drop it, it provides the same functionality as c#, the same performance and the same productivity (ok, the last point depends on who you ask)

And specific to the client: it’s easier to migrate the existing apps  to VB.NET than to C# and the learning curve for VB developers will be a bit less steep.

 

But I’ve been looking for indications of where VB.NET and C# are heading: Are they going to diverge (several blogs & articles are saying that C# will become more and more enterprise-focussed and VB.NET will try to make things easier by abstracting things away from the user) or remain feature identical?

 

What do you think? And do you reckon my recommendation is ok or a pile of ***?

 

Thanks,

Dom

 

Dominic Buschi | Associate Principal Consultant

Solution Development
Avanade Ltd |  London Development Centre

135 – 141 Wardour Street, London, W1F 0UT

Mobile: +44 79 6912 6278

www.avanade.com

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: