April 3rd, 2012, 12:23 AM
I think C# is my Language of Choice
For about the last 6 months, I have really dived into programming. Before that, I had a VERY BRIEF understanding of Visual Basic. I worked on VB6 for a while, and then VB.NET. Soon after, I came across C#, which I had heard to be much more powerful and sophisticated than BASIC languages. I found this to be very true. I learned a lot about C# through video tutorials, and my programming enthusiasm faded out for a few weeks, but then I started working with PHP, learning all of the basics. Then I learned the basics of ColdFusion, and finally got a very good understanding of the Java language (which my C# experience made it much easier to learn Java). I then tried to learn some basics of C++, and realized that it was very tedious. I learned a little Python, but have fully returned to C#, and I am pretty sure it is my favorite. I like the style of programming in C#.
Anyways, I am really trying to get to the next step of knowing some C#. I am reading heavily out of the "C# 4.0 In a Nutshell" book from O'Reily and it is teaching me quite a bit. I am sure I will be here to ask some questions soon when I hit a roadblock or need a problem solved.
April 3rd, 2012, 07:02 PM
Right now the only edge c# has over visual basic is iterator blocks, and even that's disappearing with the next release of visual studio, probably before the end of the year. VB.Net also has xml literals, which c# lacks. In nearly every other way the languages are just two sides of the same coin, and they both compile down to the same IL code in the end using the same .Net framework apis.
But you could do worse than c# (php comes to mind). If you want a good book, I recommend C# in Depth by Jon Skeet.
April 3rd, 2012, 07:53 PM
Just curious about what is wrong with PHP?
Originally Posted by f'lar
(Besides it is more targeted to web-programming compared to .NET that can be used for application as well)
April 4th, 2012, 10:33 AM
I prefer C# as my chosen language as well.
But f'lar is correct in saying that C# is not "better" than VB.NET. They are equivalent.
To me, VB.NET just brings back the bad memories of VB from the mid 90's that I despised, but that is a mental block that *I* have, not a true fault of the language. Especially for new developers, VB.NET might be easier to learn.
At least in the Charlotte region, C# is the preferred PROFESSIONAL language, meaning that you will see .NET C# listed way more than you will VB.NET. We used C# exclusively both at my previous job as well as my currrent employer.
But... if you can code in one, you should be able to code in the other... just may have to Google syntax differences. Properties and methods are all the same for the various classes. There are web sites that will convert C# code into VB.NET code, although I've not seen any that does the reverse.
April 6th, 2012, 08:06 PM
@Mr Fujin - I actually don't mind php as a language, but as a platform (including api, docs, support, direction, etc), it's a real mess.
April 11th, 2012, 08:05 AM
Hello Fellow users,
I'm a polygot programmer, as such I'm fluent in both vb.net and c#.net
As f'lar has pointed out, there really are not much difference between the languages. They are part of the .NET ecosystem.
Ultimately all .NET languages target the same MSIL and all boil down to the same CLR byte code.
Yes, its OK to have a preference.
Having said all this, C# does have some benefits in the sense that it is part of the "C style family". Which means when it comes to learning other languages you will already have a head start.
Anyway once you have learned a few languages, its all pretty trivial. You should focus on the "Art of Programming" more than simply the language.
April 11th, 2012, 08:23 AM
Having used C# for quite a while, and VB.NET for the last year, I contend this is not quite true. It's not as bad as most people think (because VB6 tainted opinions), but honestly if you're choosing between the two for learning purposes choose C#.
Originally Posted by Ronster
VB.NET has Xml Literals, but C# has iterators, a truer inheritance model, better reflection, a different definition for null, and better IDE support (better regions, better snippet support).
I know this is a small list, and most of the differences can negated with proper design (or minor refactors). When maintaining code, or working plugging into a dll or api, a redesign isn't always possible, and these factors can cause additional issues.
April 11th, 2012, 09:05 AM
Hey, I'm with you 100%. I used K&R C professionally for probably 15 years. I learned C++ late in that period (via night classes) but never used it professionally. I loathed C++.
Originally Posted by MBirchmeier
C# takes all the object oriented stuff of C++ but makes it more natural. When I first looked at C# 6 years ago, I was immediately comfortable with it.
I had to do a small VB.NET project at my last company... pure torture.
I was using the "equivalent" statement primarily that they both boil down to the same MSIL. And because some people seem to truly think VB.NET is closer to VB6 than C#.NET.
But if I have any control over it... no more VB.NET for me.
April 11th, 2012, 09:31 PM
VB.Net will have iterators in the next release. You can play with them now with an msdn subscription. I'd argue it has better ide support in many ways, and it's the same inheritance model (they're the same types in bcl, using the same inheritance tree) and equivalent reflection support.
April 12th, 2012, 07:59 AM
Glad to hear they'll be having iterators that's probably half of my issue with VB.NET.
Originally Posted by f'lar
The inheritance and reflection issues really seem to come in when using interfaces. Since in VB you can have the interface properties be different from the actual property reflection gets thrown off.
Additionally on an interface if you're returning 'shape' one must return a 'shape' you can't return a class that extends 'shape' like you can in C#.
I think C# is my Language of Choice
C# is the preferred and best language.
for new users, VB.NET is more useful and easy to run as they are equivalent
I also like C# language the most.