If you were to ask a true expert this question you would get a response similar to: "There is no such thing as an easier language to learn". Well, this is true for most things in life. However, when it comes to VB and C++ there is no doubt that one of them is easier for the complete novice to grasp, and that happens to be, in my opinion at least, VB. The reason is simple, Visual Basic happens to communicate more in plain English with the user than C++. Take a look at this short program that displays a string on load in C++:
This does the same thing, but has been written in VB:
As you can see, it takes fewer lines in VB to achieve the same output. Having said that, the declaration of the libraries at the top of every C++ file gives the programmer more freedom in customizing their program and even allows them to use custom-made libraries. However, for the complete novice who might only be concerned with creating a simple program composed of command buttons and message boxes, there is no doubt that they will better off with VB, as a starting point at least.
Another point worth mentioning is VB's extremely powerful debugging facilities. Auto Complete Lists tend to pop up as soon as you start typing a command. For example, to add a message box in your program all you do is enter:
msgbox "Hello", vbCritical, "Title"
and VB tells you if there are any errors on that line, where they are and turns the font foreground to red if you do not correct the error. Even if you don't know the exact parameters of the msgbox command, VB will display you a chart as soon as you enter "msgbox ":
This is but only one example of the extreme user-friendliness of VB.
It's also good to see that Visual C++ 6 has also adopted this feature. However, the only problem is that even the popups aren't really written in plain English. Just try entering "s.find" ("s" being a variable declared as string) and you get:
Now I don't suppose someone who has ever worked with C++ will understand what that means.
On the other hand though, C++ has been made for the more advanced user and can be used to create universal applications with extremely robust qualities. C++ is the programming language for mathematical functions and procedures. Whilst VB boasts an easy learning curve and an even easier interface, C++ gives the programmer the flexibility in writing, sharing and publishing extremely complex applications.
The aim here isn't to show that one programming language is better than the other, but to show that VB might be a good starting point for anyone interested in programming. After all, that's how I progressed in this field. I started with Visual Basic, and I can remember that after I came back home from my first lesson, I had already written a very basic but complete program compiled into an EXE and accompanied by a very beautiful yet powerful setup program. Visual Basic will automate many things for you. This automation makes it easier for the novice, but less flexible for the advanced user.
Anyway, enough talk, this introduction is not meant to discriminate between the two brothers from Microsoft*. After all, tutorials for both are only a click away and you are going to learn them both, right? Right?
* Microsoft Visual Basic 6 and Microsoft Visual C++ 6 will be used for all the tutorials in this section.