Aug 9 2007 :: by Alex
I've been asked several times, what programming language do we use in our development. Here it is:
Yep, that's right. We still code in Visual Basic 6. We do have modules made with C++, but still we use a lot of VB6. And here is why:
- VB6 is the only .NET-like rapid development tool, that produces small native Win32 executables (that run fine on Vista, by the way, of course, with some hacks applied)
- VB6 is so COM-friendly
- VB6 is widely supported by the community and the Internet is full of articles, manuals, hints and tricks
- VB6 is rapid, allows to concentrate on the end-user's needs instead of memory management, marshalling and stuff
With VB6 I do miss the "true OOP" features like inheritance, or polymorphism. In fact, ages ago I was a "hardcore" C++ developer, who despised VB6. But now I'm not going back to C++/MFC. Because I'm really spoilt by rapid .NET development. I wish there was a "C# 6", but there isn't, so we stick to VB6. It is almost dead, it will be totally unsupported after 2008, but... it works!
You may ask, why not use .NET to build end-user tools?
- I believe that our customers need small and fast native executables, that do not require a 25 megs download from Microsoft, and run on older versions of Windows
- .NET apps are way hard to protect from reverse engineering
- I don't like the mess with different .NET-framework versions (1.1, 2.0, 3.0 and now even 3.5) that might confuse our customer
- Basically, .NET is good for developers, .NET is OK for enterprise web-applications, web-services, some complicated distributed database-driven enterprise apps etc. etc., but not for end-user utilities.
I guess when the VB6 is really truly dead, we will think of moving to Delphi, maybe. And again, I wish there was a native compiler for C#... Sigh...
UPDATE: thanks for commenting, mates! We do think of migrating to Delphi. But as far as I know, it has no support for Unicode. Correct me if I'm wrong.