01-18-2012, 08:08 PM
(This post was last modified: 01-18-2012, 08:11 PM by AceInfinity.)
(01-18-2012, 06:03 PM)Gerira Gaijin Wrote: Which one is better to use? C# or Visual Basic? I know a bit about Visual Basic, did a couple of projects in it and it seems fairly easy. I also know how to code in PAWN, but I am wondering, is it worth to learn C#? What is the difference? Also, I noticed that there are barely any tutorials for C# here :/
I'll start with the benefits of each based on what I know from personal experience, and background information I have on both, and you can decide on your own...
Visual Basic - Programming language:
- Visual Basic is a lot easier to learn than C#, because it all revolves around keywords, and less braces to take care of, however it's also more popular so you can advance through VB.NET a lot faster than C#, even just around the forum you've noticed that I'm sure. VB.NET also gives you the most for it's intellisense, so if you forget something, chances are you'll get a lot more results as you type in comparison to C#, which doesn't seem to have as great of a database for intellisense recognition from my experience with it.
C# - Programming language:
- C# is a little bit harder to learn than VB.NET for a few reasons; it's not as popular (because it's a bit more difficult), and it's case sensitive. However, don't let that fool you from a few advantages. If you learn C# there's lots more freelance jobs for it than VB.NET, I'm not sure why, but that's just the way it is. Possibly because it just "looks" like a much more advanced language than VB.NET, however it's also got a bit more functionality than VB.NET in terms of what you can do. It's a tad bit more developed than VB.NET, and if you start with a language like C# to start your programming venture, advanced languages like C, and C++, and even Java for that matter, will become a lot easier to understand if you ever want to progress to a more difficult language like that, as the syntax is pretty much very comparative, especially for C, and C++, but they all have the same syntax/structure pretty identical to C#. If you try to move from a language like VB.NET though to one of those mentioned languages (C, C++, Java, for example) then you're likely going to have a harder time understanding it because VB.NET will place in your mind, some very bad habits for those languages. For example, being case sensitive, requiring more than one file (to be proper with headers and source files), and also the structure of how functions work, and the order in which things are read to the compiler.
If you're just starting out though then maybe learn the basics from a language like VB.NET, and as long as you make sure you're in good habits you should be fine, else, you're already familiar with basic syntax and you have a grasp on how functions work, and different types, then you may want to just move over to C# and start learning there, which is what I would recommend, because I can guarantee, that if you're a serious programmer, at some point down the road you're not going to stay with C#, you're going to advance to C, Java, or C++ most likely, as they are some pretty recognized languages for programming out in the world today.
I do know for a fact that there are more advantages in C# in the back-end though that not everyone would know about from a first glance. But why I recommend it is also because it forces you to practice better programming habits, whether you decide to or not because they are required. Other than that, C# and VB.NET are almost identical, with syntax, except for the braces, and the case sensitive factor. And another thing that beginning out on C# that you might notice over from VB.NET is that instead of using & to concat strings, it's +, but that's good because it's similar to C++ in the way that you can't use & to concat strings. There's various other methods to do so, such as streams, etc...