Could someone please enlighten me as to what the advantages and disadvantages of the following languages are, in general:
- C#
- C++
- Visual Basic
Also:
I read somewhere that C++ was much better for game programming than VB, but why VB is easier to learn and use, so what are the advantages of C++

What language do you prefer?
NinjDS
Biche,
What version of CATIA are you using I didn't know it supported VBA
Sandeep A
C++ - Platform independant. You can write a C++ app for anything
VisualBasic - Easier to understand for new programmers
C++ is much better for game programming as it is platform independant for one, another reson is C++ is a true OO (Object Orientated) Programming language and VB isnt so much
VB is easier to learn and use and thats why it was invented. C++ is for the seriously hardcore out there ;-) hth
Barry
Gnagy84
People here sure talk down vb.net a lot here... ease of use isn't just for "new programmers" after all! I think a person's programming background greatly influences which .net language they prefer. I come from a Fortran and Basic background, so I favor vb. I think most people with a C background prefer C++ or C#. I think the differences are miniscule.
That being said, whenever technology branches I always seem to choose the branch that most jobs are NOT based on, so C# will probably become the wave of the future. Employers seem to make a big deal out of miniscule differences, treating people like vb and C# are different job skills and all.
Caspian100
In the same way, get the right tool for the job. Writing Line Of Business applications Nothing beats VB.NET there. Writing Mobile apps Java's your friend...
As for Games, C++ is *supposed* to be better at it, mainly because a lot of Games are written in C++. But, most games need to be very fast, so avoiding the overhead of a VM could help. But, Moore's law is making them obsolete, and I think that I'll see popular games being written in managed code before I die...
Geeee
I've always thought this as well. VB and C# are extremely similar -- much closer to each other than C# is to C++.
Personally, I prefer writing in C++. I like knowing what the machine is doing, and VB/C# don't provide that knowledge. And with the addition of C++/CLI, you still have the option of writing managed code if you wish. However, most of the programming I do these days is in VB.
ManjuVijay
for a long time, VB.Net was not a firstclass .Net citizen the way C# is. I believe even now C# gets features such as generics implemented and released before VB.Net.
Jason Kossowan
It's CATIA v5, the Windows based version, not the UNIX one of course. I use to create some macros for repeated tasks.
gavin_1724
Here's my take on them.
C# – It’s a relatively new language that’s essentially a cross between Java and C++. In fact, some have called it Java with the serial numbers scraped off. It’s closely associated with the .NET Framework and is the primary language for it, meaning that you’ll see new Framework features in it first and often better implemented as opposed to what you see in other languages. The syntax is conducive to good OOP and general programming practices although it is harder for a novice programmer to grasp. It lacks the cross-platform portability and low level capability of C++. It lacks the emotional baggage of VB/Basic and is considered a ‘more professional’ (aka cooler) language to code in from a programmer’s perspective.
C++ – It’s been around for a while and is used extensively inside and outside the Microsoft ‘eco-system’. It’s a powerful language that’s capable of working at a very low level. Only writing in assembly language will put you closer to the hardware. Because of that power, it’s considerably more risky to use and often requires more thought and planning to develop stable applications with it. Because of this low level power, it’s popular for writing commercial applications, including games. The language syntax is difficult for most novices to grasp easily. Some people consider it more ‘professional’ than other languages and this can translate into better paying jobs.
VB – It’s the descendant and heir to the original MS Basic that got Microsoft started back in the 70’s. As such, it inherits a lot of baggage, good and bad, deserved and undeserved, both in terms of programmer attitudes and language attributes. The syntax is easy and most novices pick it up the basics quickly although mastering more complex programming concepts, like OOP, is about the same as with other languages. Working within the .NET Framework has put it on a level playing field with other languages where before it lagged somewhat. It’s popular for business applications due to the speed of development and the lower skill level required to write a serviceable application, even if it's poorly coded.
Luis Simões
I was using C# for about 1 year since I graduated,I think C# is language good for rapid-development.
I prefer C++ because I can get know how memory and cpu runs in C++ codes, and I think that is the basic knowledge for a senior developer.
I just ask about VB in my interview but I did't use it any more,so I did't pass.
supagu
Oh, on the VB side. I would say VB is at MS Office product line. Especially for my company, I program everything in Excel. No need to recomplie, no need to install program in Admin account (this is extremely good for my case, just upload new Excel file on share drive, all uses can simply run it using standard user account), and it is familiar for non-IT users. Also most non-IT guys are able to run my program on Excel by themselves. The best part about Excel is that you can import data from other sources easily, by using DB connection, DB file, CSV file, and other common files.
Anyway, I believe that's going to change. C# is basically the new VB from MS. Eventually MS Office will have C# editor.
HoOpOe
Ishtiaque Hussain
C# and Java are software dependent, you need to install the virtual machine.
C++ is hardware dependent, you need to recomplie for different CPU.
VB should be software devependent.
I prefer C#. It has close performance to C++. And it has garbage collection for new programmers and manual memory managment for experienced programmers. Also IMO C# is easier to program than VB, C++, and Java. The syntax are very simular to C++ and Java, which is really easy IMO. But it has reference parameter (not pointer) which Java doesn't have. Plus, garbage collection C++ doesn't have, which makes memory allocation/deallocation less scray. Also because the performance is pretty close to C++, more and more poeple developing games using C#.
gafferuk
C# is good and alot better than C++, but harder to learn
Overall I like C++ the best, I have made some games with it and it works good with Direct X.
Gene R S
My 2 cents...
I hate the .NET framework.
C++ is the best way to go in either direction. Whether it be for business, a hobby, or game development. People will argue that you can accomplish the same thing in C# as in C++ with less than third of the code your C++ code. People also say C++ is a lot hard to understand/write. Well, there is a purpose for that. It is to keep script kiddies from writing harmful programs, and keep them away from programming. ;)
But thats just my opinion. I'm a C++ fanatic.