What Language to Use

I was wondering if you guys could give me your advice on something. I want to create a few applications for Windows (maybe even add some special Vista only things). Problem is I'm not sure where to start with Windows development.

The only applications with GUIs that I've ever created involved Java (3 years experience), C, and a bunch of web based languages. When it comes to Microsoft Windows I'm not sure where to start. I'm more than willing to learn a new language to develop Microsoft apps, just not sure which is the best one. Any suggestions

Thanks,

**I do have a full (legal) copy of Visual Studio 2005 && 2003


Answer this question

What Language to Use

  • Shortty

    Since you're probably most comfortable, go with C#. It has the most similar syntax, so the bulk of your learning will have more to do with what it takes to code in .NET than having to learn the extremely frustrating syntax of Visual Basic.

    Though VB is fun to learn after already being an experienced programmer because you finally understand why everyone says that people who start out coding in VB generally become poor programmers.

  • DtD

    It is easier to teach a man to fish with a fishing pole, bait, and hooks than it is with a shoelace.

    The problem is that you are presupposing the coder is already bad, while I'm saying that a coder has a much higher chance of success with a better tool.

  • ravindranath480487

     BlueMikey wrote:

    Though VB is fun to learn after already being an experienced programmer because you finally understand why everyone says that people who start out coding in VB generally become poor programmers.

    Hi,

    Those that know C, or C# or C++ or any amount of them could also create an app that could fall over with an exception given the right circumstances i bet.

    A poor programmer is one who doesn't realise the possible or potential amount of errors in a block of code such as a Sub and does not account for each and every possible outcome of every event, such as user input whether that is from a keyboard or any other device.

    This applies no matter what high level program language an application is developed in, it may also apply to some low-level languages too but they are generally more strict in the sense of syntax etcetera.

    Take for example.>>

    Dim myString As String = "2"

    Dim myInt As Integer

    myInt = myString '<< You could get away with this in VB.Net depending on the OPTION settings. How about in a flavour of C

     I'm sure you can spot the coding error in that.

     By the way i don't wish to start a VB versus  ( any flavour of C ) flame thread here and you both may find this website useful.>>

    http://www.harding.edu/USER/fmccown/WWW/vbnet_csharp_comparison.html

     

     

    Regards,

    S_DS

     



  • Pam2007

    "everyone says that people who start out coding in VB generally become poor programmers"

    my answer to this is "A bad workman always blames his tools."

    Anybody can be a bad programmer irrespective of the language they use and hasn't anyone ever told you not to generalise!


  • clint 2

    Well at the end of day its all just 0's and 1's so who cares!! but if i had my choice I am going with C# all day but i will do a lil VB because at the end of the day its all just MSIL!!!

  • Niehls

    Spidermans_DarkSide wrote:
    This applies no matter what high level program language an application is developed in, it may also apply to some low-level languages too but they are generally more strict in the sense of syntax etcetera.


    This is very true.

    But as someone who used to teach introductory college programming courses, I know the value of coding in a language structured in a way similar to C# or Java over one structured in VB. I also can tell because much of the code written at my job by people whose first language was VB is much, much less sound than the people who first coded in Java.

    Now, it isn't the only factor. Someone with the proper inherent brain function who is inclined to think like a compiler probably wouldn't notice any difference between the two. But since so many programmers got into the field not because they are great programmers but because it is/was a hot field with lots of job opportunities and growth, teaching people properly is key. VB allows a new programmer to write extremely terrible code very easily, much more so than Java or C#.

    The difference between VB and Java/C# as a first language is like the difference between trying to teach someone to eat a salad with a spoon and a fork. Now, certainly!, a spoon has good uses and other uses, but this guy just wants to eat a salad, so just give him the fork.

  • Bastian W.

    C# would mostly likely feel more comfortable to you since it is very Java like. In fact, the joke around the time it was introduced was that it was Java with the serial numbers scraped off.



  • OmegaMan

    "I find the syntax of C just plain bad compared to VB, and I can even see it causing errors that would have been avoided if the statements were made more readable - for example:"

    I couldn't agree with Nog Choco more. I've used really powerful languages. more powerful than C actually, and much more complex as I've been programming for close to forty years. I come from an un-C culture. I hate case sensitivity and I too think C syntax looks awful.

    You can program poorly in any language. For that reason, I choose VB. Because C just looks so awful.



  • Richard Kallay

    "Better tool" is a subjective qualification. I will certainly agree that VB is not the most powerful of languages, but the "best tool for the job" isn't always the lowest level language.

    I find the syntax of C just plain bad compared to VB, and I can even see it causing errors that would have been avoided if the statements were made more readable - for example:
    C: int[] zz;
    VB: Dim zz() As Integer

    The 'Dim As' statement makes it more readable, and it makes no difference to the compiler anyway, so to me, VB is the better tool in that case. Same goes for those stupid curly braces {} -- just put End Void already so you don't have to think about what's being closed!


  • lucerias

    Mark The Archer Evans wrote:

    "everyone says that people who start out coding in VB generally become poor programmers"

    my answer to this is "A bad workman always blames his tools."

    Anybody can be a bad programmer irrespective of the language they use and hasn't anyone ever told you not to generalise!

    Hear , hear!! That's how i feel. I just didn't want to put it so _ _ _ _ _ _ _.

    If all programmers could " think " how a computer metaphorically "thinks" and account for every possible run-time error then we would all be 5 star programmers and never even get an exception or a "BLUE SCREEN" of death.

    Regards,

    S_DS



  • GS80

    BlueMikey wrote:
    Since you're probably most comfortable, go with C#. It has the most similar syntax, so the bulk of your learning will have more to do with what it takes to code in .NET than having to learn the extremely frustrating syntax of Visual Basic.

    Though VB is fun to learn after already being an experienced programmer because you finally understand why everyone says that people who start out coding in VB generally become poor programmers.

    I agree, as a Java programmer you should find C# is more within your comfort zone.


  • What Language to Use