The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

A shift from VB 6 to .NET (/or Delphi)...

A shift from Visual Basic 6 to VB.NET is not easy, it is a leap into something totally different. No matter what expertise you had with VB 6, you need to start with scratch for .NET. I have seen some ISV's so comfortable with thier old code in VB 6 that they no longer need to .NET for a long time. And for some ISV's and companies shifting to .NET is so painful that they have decided to totally shift to Borland Delphi for its more powerful set of tools and highly manageable as compared to the "hell" of code management of VB 6.

Is it really worth shifting to Delphi? Please let me know its advantages over .NET. One thing I see right away is the low Delphi user base as compared to VB, but still Borland had been know for powerful tools for developers.
R Send private email
Tuesday, October 11, 2005
From doing three conversion projects myself over the last 15 years. It would be far easier to go from VB6 to VB.NET from language standpoint. If you are going  to use .NET in Delphi for me the choice is overwhelmly for VB.NET. Particulary now with VS 2005 coming out with edit and continue.

Regardless of what course you choose, you need to being abstracting the VB6 specific call (graphics, printer object, etc) behind objects and interface. Then run your application through your testing procedure.

Then start the conversion by implementing the low level objects, this will typically will be the hardest step as it relys on whatever framework or api the new environment has.

Although my company's software has not ported over to VB.NET yet, I maintain a conversion project to identify issues with going from VB6 to VB.NET. In 2002 when we refactored our software in order for us to make customized UIs easier I made sure that we put in changes that would make going to VB.NET easier.

I personally ported a Rocky Mountain Basic from a HP Workstation to a DOS PC environment. From DOS to VB 3.0 and Windows 3.X, then from VB 3.0 to a object oriented design in VB 6.0 using Win32. The reason for the change in design so we can add things like reports, file import/export, and other feature quicker.
Rob Conley Send private email
Tuesday, October 11, 2005
You may also want to post this question on

Though they are biased towards Delphi, they can tell you what would be involved in the process. 

I'm a Delphi programmer so I too am biased towards Delphi, but I do not use .NET as yet.
Donald Adams
Tuesday, October 11, 2005
I think yes. But considering this in a broad manner.

Delphi is a language AND a IDE and a plataform (VCL). You can get (as today Delphi for Win32/.NET, C# .NET, C/C++ for Win32, and thanks to CrossKilyk a path to Linux (the other is using Mono).

So, you get the ability to support the most broad and important plataform as today: Windows Win32, with MODERN and DEVELOPED support/framework, and support for .NET and a little of linux.

You can, in a realistic way, use the same codebase to support both Win32/.NET/Linux with no much changes (using the VCL).

Delphi is great for build database-centric applications and utilities and almost anything is worth to build, PLUS you not necesarily get out the game, you can easily use .NET assemblys in other languages (including in Win32 applications, and not using the slow p-Invoke!), and if you need code/debug in VB.NET/C/C++/C# you can too.

The thirdy-party ecospace of Delphi is the best of the best, you can check for example:

(Note, almost all the thirdy-party suppliers support .NET and is a tradition get the source code for the libraries, years before open source get in fashion ;) )

Apart from the language, the main thing in Delphi is the use of the VCL. Thank to this, we can move easily across versions and plataforms. The VCL is a mature solution, and is more "solid" in the sense if you skip a couple of version because a new version of Delphi is not ok for you, is a safe bet be ok on this. Borland is not MS so not destroy years of code so fast like their.

You can check the roadmap of Delphi here:

Also the new stuff comming in .NET 2/3 are comming too for Delphi, like LINQ.

However, the bad points :

- Delphi is a strong typed language, this is the most "problematic" thing when somebody come from a untyped language like classic VB. However, this apply for .NET too
- Is not so mainstream like VB.NET or C# or C++ or Java. If your bussines is build applications and want the best of the best for the windows/.net plataform, then Delphi is a great choice. However, if you are a consultant or simply want a job, I advice you learn some of the more mainstreams languages.... And if not, learn that too. Learn is never bad ;)
- Some people think that Delphi is not so "current" like the .NET C#/VB side, because some things come a bit latter to us. However, the wait is normally ok and the result is normally best. And a lot of the supposed "new" things of .NET are old things for Delphi, and the contrary can be true... Delphi have their own plus things (VCL, ECO, RAD Database, etc...) and their own weaks. Is necesary research this before to commit to it. And this apply to any other langauge/plataform too
- If you code using ONLY the plain .NET framework and not use the VCL, then Delphi is not that great, the only diferentiator is the syntax.
- You become part of a minority. If that minority is a minority of best solution-producers or a group of bastard is something you need to manage yourself, because not be in "fashion" with the whola-hup of J2EE or .NET have this kind of effects ;) (Despite the fact Delphi does .NET and connect rigth to J2EE, but a lot of people despise that, quickly... be aware!)
- Exist a small selection of books for Delphi. Main reason is new books is for new things. Delphi is a mature solution and for sure the things work ok for Delphi 1 are ok today. So, in each new version the learning is incremental and not a total rewind...
Mario Alejandro M. Send private email
Tuesday, October 11, 2005
The biggest advantage for Delphi would be Win32, IMO.
If you decide to go for .net, I would stay with Mickeysoft, since they are the first to implement new .net features in their environments.

Borland has had a quality problem lately with D8/D2005, although those issues seem to have been fixed now.
Anyway, the switch to the new IDE (happened with D8) caused a lot of people to jump ship.
They promised to change all this in the next version (Dexter), which is due beginning of December this year.

So currently, for new .net apps, I can't see any advantage at all in using D2005.

The big question is, what platform do you want to develop for. I guess everybody who develops for endusers has this problem right now ;) Don't really understand why MS insisted on that big runtime bulloni, instead of writing a nice OO wrapper around win32/64... Oh well..

I personally HATE Winforms applications. If I wanted something slow, I'd use Java.

Delphi for Win32 gives you the same ease of use as .net AND that great Win32 user experience...
Fritz Huber Send private email
Tuesday, October 11, 2005
I'll throw a wrnch in here - you might consider RealBasic.  Very very similar to VB6, cross platform development.  No .Net, which is both a plus and a minus.
Aaron F Stanton Send private email
Tuesday, October 11, 2005
No, take the hit and go to C#.  It's almost VB.NET, it's got that 'C++'ish reputation going for it.

Delphi (though I love Pascal dearly) has been relegated to a tiny niche market by Microsoft's hiring away Borland's (Oh, sorry, InPrise) best talent.  The ones who are left have hiked the prices, and shortened the release schedules, to try to keep the company afloat.  Personally, if I'M going to have to pay $3,000 for a development product, it has to have some employment bragging rights attached.  Delphi has none.

Going all the way to C++ seems like overkill -- besides, you want that cool .NET reputation at some point.  Sure, Microsoft will probably redo it all for Longhorn/Vista, but that's life.  When they do, Borland/Inprise will just have to issue some more $3,000 upgrades, after the fact.

I'd like to recommend REALBasic, but the depth of documentation just isn't there yet.
Tuesday, October 11, 2005
Forget French; study German.  French is just a toy language adapted from Latin, and yet so different from Latin that some people call it "Fred Latin."  German is a lot more powerful, and is always a couple of steps ahead of French.  That's why more people are moving to German.
Kyralessa Send private email
Tuesday, October 11, 2005
Do you really want to move from a dead platform to a dieing one?
Tuesday, October 11, 2005
I'm a Delphi developer and I have to say I'm not sure I would advise someone to move to it from VB6.  VB.NET really probably is your best choice unless for some reason you absolutely can't work with the .NET runtime and need a native  app.

Having said that I think Delphi developers are happier now than they have been at any time during the 3 or 4 years I've been a member of the Delphi community.  Borland has mostly solved the problems in the crappy Delphi 2005 release and seems committed to refocusing on quality in the future.  There is some slick new technology in the expensive Delphi versions that is trickling down to the more reasonably priced Professional versions (viz. Eco).  And Borland has broken with their past of being tight-lipped about what's in development and released a Delphi roadmap:

Notably, the roadmap includes, finally, support for .net compact framework, VCL.NET support for upcoming Avalon (my understanding is that WinForms support by Microsoft will be deprecated and MS will not provide current WinForms apps with the same smooth upgrade path to Avalon that you'd get by using Delphi's VCL.NET) and support for native Win64 in 2007/2008.
Herbert Sitz Send private email
Tuesday, October 11, 2005
Microsoft has a free ebook on the topic of converting VB6 apps to VB.NET. It's worth a read if you are considering the move:
Colin Murphy
Tuesday, October 18, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz