VB or C++: Which is Better for DirectX Games?

When choosing a language to program computer games (or any application, really), you need to consider all the advantages and disadvantages. In this article, Keith Sink compares Visual Basic and C++ when used to create DirectX video games.

Keith Sink is the author of DirectX 8 and Visual Basic Development (Sams, 2001, ISBN 0-672-32225-0).

From the author of

From the author of

Introduction

This article discusses the issues you need to consider when deciding between
Visual Basic (VB) and C++ to create DirectX games and multimedia applications.
The goal of the article is to help you understand when you should use one
combination over another, depending on the type of application you're
creating.

"What language should I use?" This is a question that has bumped
around the Net for some time. For many years people haven't really
considered VB as a game programming platform. Here are some of the primary
reasons:

VB doesn't have true inheritance, polymorphism, operator
overloading, and many other features that make C++ better for game
programming.

VB isn't taken seriously by many game programmers. Most consider it
a sub-par language because of its less-than-robust past.

In the past, VB was very slow compared with compiled C/C++ code.

For many people wanting to create video games, C++ was the only choice for
many years. But now game libraries and more powerful languages are available.
People new to the game programming arena have more choices, and VB is beginning
to be a force to be reckoned with. What has changed for VB to make that
possible?

DirectX is now almost completely compatible with VB. With the advent of
DirectX 8.1, more than 90% of the library works with VB 6. This is a tremendous
commitment from Microsoft to the VB community.

VB has taken a strong foothold in the mainstream programming market. This
hold on one of the largest monetary markets in the computer industry has
resulted in more games being written in VB. Fewer people are saying negative
things about VB and many more are accepting of its features.

With the creation of VB 6, the difference in the execution time of
compiled code has now become very small when compared to similar C++ code. As
more refinements are made, this difference will become negligible.