Microsoft® Visual Basic 6.0 has provided rapid development of client-side applications with relatively minimal frustration. The company providing the only compiler and
IDE for the language decided to abandon it. What's a Windows™ developer to do?
Microsoft has abandoned its largest pool of programming customers. Millions of
VB developers are considering their technological choices:
- Stick with VB 6 with no further [support] or [bug] fixes
- Learn Visual Basic[.NET], which is practically learning something completely new
- Learn C#[.NET] since that's what Microsoft is suggesting
- Learn Java™ mostly for server development
- Learn something else
Since Microsoft's solution is to learn something completely new and there's no easy migration path there's no reason to not consider Microsoft alternatives. Java's good for server development, but generally considered not as good for rapid client development, so it's not a nice replacement for VB's niche. What's a good choice for VB's style of development?
Python comes to the rescue. If you've been a die-hard Microsoft developer for years, it's possible you've never heard of this language. It's a simple but powerful cross-platform scripted language with some object-oriented features. Its special features include a powerful list syntax (tuples, dictionaries, etc.) and string manipulation. It's whitespace requirements are strict, but it's not awkward for those who are used to writing properly indented code. It's also very forgiving. Leaving out a list bound, for example, implies the beginning or end of the list, without the need to check for length.
For creating a [user interface] there are a few options, unlike Microsoft's Win32 answer to everything. Python comes with a library known as Tk, but many developers, including myself, prefer wxPython which provides a way to program Python with the 10+ year old and robust wxWidgets library (previously known as wxWindows - Microsoft threatened legal action if the name wasn't changed). Among other features including a nice object model, wxPython/wxWidgets will use the native interface components on any supported platform, keeping a nice native feel for the user. Python together with this library provide the kind of rapid development VB programmers are used to.
There are other important reasons to consider Python. It's [open source] and its free. There's no cost to trying or learning it except for time. This also means no possibility of abandonment by a corporate sponsor. As long as someone in the community wants it, it'll survive. There's plenty of great online documentation and helpful users in the community. Take a look at Python and get all the best features of VB in a free, open source, cross-platform package.
There are, of course, other options:
- Gambas (open source, Linux/Unix only)
- PureBasic
- Runtime Revolution