Is Visual C# equal in power as Visual Basic .NET

Started by
4 comments, last by BKStoltman 19 years, 11 months ago
I am willing to learn C# if it is stronger for i plan to write a game perhaps in DirectX, I am familiar with VB not .NET yet. but soon. So is it worth learning C#, or with the coming of .NET are they equal finally. I don''t want to be limited in what i can do.
Advertisement
They both compile to MSIL-code, and they can both access the same class libraries, so they should be equally strong. You can take a library written in C#, and use it in a VB.NET-application, or the other way around.

If you know VB, I guess it''s easier to learn VB.NET. Is it worth learning C#? It''s always worth learning a new language, especially one like C#. If not for programming in it yourself, then for just the learning itself and for reading other people''s code.

---
tommy online: http://users.pandora.be/tommycarlier
In reply to your question - not only is VB.NET equal in power to C#, but they are both equal to nearly every programming language every created.

This is called Turing-completeness, and is a property of every real* programming language in existence.

Mark

*There are some "toy" languages used in mathematics for proofs which are not Turing-complete. This is because it makes the proofs easier.
I am having much trouble deciding whether to move from Visual Basic .NET 2002 to VB 2003 or C# 2003.
My reasons for moving are (although VB is catching up with <<, >>...), I want ++ --, operator overloading, and all of the System data type aliases. Or does VB 2003 already offer these? I could not really find a comprehensive features list.
Here are my questions:
Does VB .NET 2003 support all of the things I just said above?
Will VB .NET 2002 and C# 2003 work together on a project in the same IDE (because they are from different years) (because I want to be able to move gradually or not upgrade it all)?
I think VB .NET 2003 supports generics (or templates) but does C#?
CType(expr, type) is to DirectCast(expr, type) as (type) is to what in C#?
Are there any converters between them (since they are quite similar now)?
Are operations with unsigned data types as fast as with unsigned ones?
Does it really matter with big projects using multiple languages? I am only 14, perhaps it will not matter by the time I could enter the gaming industry (look at my resume).
First off, you''re 14; screw the industry. Just have fun coding.

But back on topic, I found that C# offers everything VB and VB.NET did, but wuth a much more flexible, and much more powerful language. I''m 100% in favor of C# over VB.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
Even though both compile to MSIL code, It would be interesting to see if the IL code is as efficient in vb as c#, as with any compiler it can only compile what you wrote, and you can write code to do the same things in many ways. Anybody have any thoughts on that?

As you are probably aware, vb.net has a lot of different coding techniques to comply with .net and as a result, a lot of the new code you have to write is practically the same syntax.
Basically what I''m trying to say is IMO vb isn''t vb anymore!
C# is a lot like C++ without a lot of the headache, to be truelly efficient you should know both C and C++, and that''s a big learning curve!. In C#, you can get into it pretty well straight away and refine as you go.
If you learn C# now, when you get good at it you could probably move to C++ if you need to later without half the hassle of moving from vb.
Being able to create and derive/inherit from classes ''easily'' in a true OOP enviroment is a big plus for any programming, especially graphics.
But, as Promit said "Just have fun coding"! what ever language you choose.
[sneeze]
Arrrrrrr - CSharp...
[/sneeze]

This topic is closed to new replies.

Advertisement