As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/
Options

Learning a .NET language

whuppinswhuppins Registered User regular
edited May 2008 in Help / Advice Forum
I got a free copy of Visual Studio .NET 2003 from my work and I intend to use it to develop some skills beyond the VBA work I've done for the last few years (10+ years, actually, but it was always a casual, diversionary thing -- I didn't get too deep and I'd still consider myself a novice programmer) -- both for my current position and to bolster my resume.

I know that asking a vague question tends to yield vague answers, but it's OK, I'd just like to hear some nerds argue about programming languages. If the only choices (yes, the only choices) are between Visual Basic, Visual C++, Visual C#, and something called Visual J#, which would be the best to get some experience with? What are the strengths and weaknesses? Which will have the best chance of still being relevant 10 years from now? Any comments are welcome, I just ask that you stick to those four choices -- if nothing else, then just for the sake of simplicity.

whuppins on

Posts

  • Options
    Jimmy KingJimmy King Registered User regular
    edited May 2008
    vb.net or vc#.net, imo. Of those two, I personally prefer vc#.net. They both have all the same libraries available and compile to the same code, and really, if you can develop in one you can develop in the other. It just a matter of syntax, and I prefer the c-like syntax of c# over the vb based syntax of vb.net That said, I tend to see more vb.net jobs posted locally than vc#.net. Imo, having worked more with vc# than vb.net shouldn't matter, but you never know what those crazy guys who end up as hiring managers are going to think.

    Jimmy King on
  • Options
    GanluanGanluan Registered User regular
    edited May 2008
    Do yourself a favor and ignore J#.

    I am a big fan of Visual C#. I am not a fan of VB syntax and it does not have some of the functionality C# does in 2008, but overall you can do pretty much the same things with both. For job purposes, C# is the most desired programming language right now, at least in my area.

    Really though, if you get a good understanding of the .NET platform itself, you'll be in good shape. The .NET languages all compile into the same intermediate language, so at the core of it going with either VB or C# will be good. They both abstract away a lot of memory management and pointer manipulation that can be very difficult for new programmers to pick up in C++.

    Ganluan on
  • Options
    whuppinswhuppins Registered User regular
    edited May 2008
    stryker116 wrote: »
    They both abstract away a lot of memory management and pointer manipulation that can be very difficult for new programmers to pick up in C++.

    Stuff like this, is it the kind of 'fundamentals' stuff that could hurt me in the long term if I'm used to having it done for me? Or is it not that important to know the ins and outs of things that C# tends to abstract away from C++?

    whuppins on
  • Options
    DaenrisDaenris Registered User regular
    edited May 2008
    I personally prefer C#. Now granted, I've never used J# at all, so can't comment on that, and I've never programmed C++ using the .NET framework, so I'm really just saying that C# is better than VB.NET.

    Also, I don't know how different it is, but you could download free versions of VS 2005 or 2008 Express editions instead of using 2003.... (though actually after looking the 2005 edition may be gone, it may be 2008 only now).

    Daenris on
  • Options
    GanluanGanluan Registered User regular
    edited May 2008
    whuppins wrote: »
    stryker116 wrote: »
    They both abstract away a lot of memory management and pointer manipulation that can be very difficult for new programmers to pick up in C++.

    Stuff like this, is it the kind of 'fundamentals' stuff that could hurt me in the long term if I'm used to having it done for me? Or is it not that important to know the ins and outs of things that C# tends to abstract away from C++?

    If you plan to become a professional software developer, it is definitely important to understand how memory management works along with some other things the CLR handles for you. However, when you're just starting out it's much easier to "ignore" them and watch how they work, and as your skill grows you can increase your overall understanding.

    Ganluan on
  • Options
    Steve BennettSteve Bennett Registered User regular
    edited May 2008
    I'd say go with C#. It's going to give you the most versatile skillset (it's almost identical to Java), and it's Microsoft's "flagship" .net language. That means that anything Microsoft does with .NET will have C# support (at least it should). An example was Silverlight, their new Flash killer, could only be developed with C# in the pre-release versions. Also, .net developer conferences like VSLive use all C# examples.

    If you go to university for software eng or comp sci, you'll almost certainly learn C or C++. You will also probably learn Assembly. There is merit to learning lower-level languages so you understand what's going on, but you can definately survive - professionally - without knowing them.

    Steve Bennett on
  • Options
    RandomEngyRandomEngy Registered User regular
    edited May 2008
    I agree, go with C#. And I would check out the free VS 2008 Express edition. It's drastically improved over 2003 and you might not need the additional features of the paid version quite yet.

    RandomEngy on
    Profile -> Signature Settings -> Hide signatures always. Then you don't have to read this worthless text anymore.
  • Options
    Nova_CNova_C I have the need The need for speedRegistered User regular
    edited May 2008
    Definitely C#. If you ever have to learn another language, C#'s syntax is more closely related to Java and C++ than VB, while C++ can be a cruel mistress and has a steep learning curve for a first language.

    I just started working C# on PocketPC devices and it's pretty nice.

    Nova_C on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited May 2008
    A millionth vote for C#, as far as I have read, VB.NET is pretty much only around for legacy purposes (ex: supporting the massive horde of veteran programmers who have been doing VB all their lives). C# is Microsoft's baby and its not going anywhere plus the C# syntax will translate well to many other languages.

    Jasconius on
  • Options
    VThornheartVThornheart Registered User regular
    edited May 2008
    You won't suffer by learning VB.NET or C# first these days. They literally only differ in syntax. Learn either one of those that you want first, and when the time comes to learn the other you'll pretty much only have to learn small differences (such as how code blocks start and end in VB.NET versus C#).

    Definitely don't go with J#, however. And I'd personally say that VC++ isn't worth it anymore unless you're going into a specific field where it's still used heavily. It's nice to learn what VC++ has to teach you, but it's not utterly necessary. And if you're just jumping into programming from the world of scripting languages, C# or VB.NET will be a nice transition (or a good place to call home).

    VThornheart on
    3DS Friend Code: 1950-8938-9095
  • Options
    RevolutionaryRevolutionary Registered User regular
    edited May 2008
    My votes in for C#.

    I think J# has been discontinued (it didn't get an 08 version like the other versions) so don't climb on this sinking ship.

    C++ is far too complicated for your level most likely.

    That leaves C# and VB - there are a lot of debates on this comparison. Microsoft seems to be pushing C# foward but both of the languages are similiar in what they can accomplish. I say use C#, the syntax mirrors many other popular languages (such as Java, one of the most commonly used languages.) There are slight differences in potential, but nothing major last time I checked.

    In conclusion, C#.NET or VB.NET.

    Revolutionary on
  • Options
    RawrBearRawrBear Registered User regular
    edited May 2008
    Another vote for C#, awesome language.

    All the .NET stuff ends up compiling to the same stuff in the end though.

    C# while significantly different from C++ also has a very similar syntax so it certainly wouldn't hurt to know C# if you decide to pick up C++ at some point. (I came at it from the other direction, as I'd learned C++ first and C# was a piece of cake to pick up because of the similarities).

    RawrBear on
  • Options
    bowenbowen How you doin'? Registered User regular
    edited May 2008
    RawrBear wrote: »
    Another vote for C#, awesome language.

    All the .NET stuff ends up compiling to the same stuff in the end though.

    C# while significantly different from C++ also has a very similar syntax so it certainly wouldn't hurt to know C# if you decide to pick up C++ at some point. (I came at it from the other direction, as I'd learned C++ first and C# was a piece of cake to pick up because of the similarities).

    This.

    bowen on
    not a doctor, not a lawyer, examples I use may not be fully researched so don't take out of context plz, don't @ me
  • Options
    MurphysParadoxMurphysParadox Registered User regular
    edited May 2008
    C# and VB.Net are interchangeable. You can have a project with files from both languages seamlessly. They share all of the same libraries, so once you learn how to use an API in one, you can use it in the other with rarely any differences (beyond syntax) So, by that point, you can really learn both at once. However, I agree with the thread that you want to learn C# specifically. It is not as syntactically simple as VB.Net, but it won't let you be as lazy either (case sensitivity and {} and ; and so on).

    On another note, saying you are a VB.Net developer has a stigma attached to it from back in the old VB days. C# developers are considered to be more technical and computer science types thatn VB.Net developers. Several people at my work (primarily VB.Net) want to switch the hiring reqs to say C# so that a better class of applicants will appear (furthermore, some C# developers wouldn't bother with such lowly things as VB.Net due to, again, stigma).

    MurphysParadox on
    Murphy's Law: Whatever can go wrong will go wrong.
    Murphy's Paradox: The more you plan, the more that can go wrong. The less you plan, the less likely your plan will succeed.
  • Options
    RevolutionaryRevolutionary Registered User regular
    edited May 2008
    Like Murphy said, the languages are near equal, but VB.NET has a bad reputation attached to it - the one that its programmers are unskilled newbies. I think this came about due to the previous version of VB being incredibly easy, but I don't have any first hand experience there.

    So in a pool of about 100 VB developers, you get a population who migrated from the nerf environment of the prior VB language. Whereas in a pool fo C# developers, you find more experienced people who in many cases came from C++ or Java - languages with a good reputation.

    Now, one might think that knowing C# means more jobs as per the above paragraph. Somewhat correct. Unfortunately the senior members of staff haven't understood the new (about 3 years I think) C# language and thus are unfamiliar with it. They do know good ol' VB though, so they employ VBers. I'm not sure which is best in this regard, but I think C# will be in the future if it isn't now.

    Revolutionary on
Sign In or Register to comment.