Coffeehouse Thread

27 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

Choosing a .net language

Back to Forum: Coffeehouse
  • User profile image
    iainsnotes

    My understanding is that all .net languages compile to the same intermediate code, that being the case why would companies specifically advertise for a developer for one language or another, C Sharp VB etc, is one better than the other? 

  • User profile image
    Charles

    Because at the level of composition (the syntax and behavior), they are different languages. IL is just the compiler target. It certainly informs the language design, but you don't have to be just one big language with syntactic sugar as the difference. F# compiles to IL and is nothing like these languages...

     

    C

  • User profile image
    Bass

    What Charles said. (I was about to post the same thing.)

  • User profile image
    Charles

    @Bass: Great minds think alike Smiley
    C

  • User profile image
    Minh

    , iainsnotes wrote

    My understanding is that all .net languages compile to the same intermediate code, that being the case why would companies specifically advertise for a developer for one language or another, C Sharp VB etc, is one better than the other? 

    #1

    There are existing code in C# or VB.net or etc...

    #2

    New projects will probably use the language that other coders already familiar with, it it's most likely the same language

  • User profile image
    iainsnotes

    @Charles: for someone who is starting out in programming is VB better than C Sharp? 

  • User profile image
    Sven Groot

    @iainsnotes: I'd say no. Although theoretically VB's syntax may be a bit easier on an aspiring programmer, so much of the tutorials and other educational material out there is geared towards C# that ultimately it'll just be harder to learn.

  • User profile image
    elmer

    @Sven Groot:Yes, I prefer C# partly for that reason, and that the similar "feel" it has to other C-like languages means that I find it easier to understand/translate code written in Java, C[++], or even JavaScript.

    However, having said that, there are some excellent translation tools out there to allow people to be mono-lingual e.g. http://converter.telerik.com/  a nice VB<=>C#  translator.

  • User profile image
    Charles

    I'd recommend that you start off with JavaScript. It's not .NET, but it's managed(in terms of memory management, not type safety...). Build web pages to learn how to program. Then, move to C# and build more complex managed systems.

    C

  • User profile image
    brian.​shapiro

    @Sven Groot:

    Really anybody that knows VB.net should be able to understand C# and vice versa. I think the same goes with learning the language, the only difference is VB is more "friendly" looking, but I see that as kind of superficial. They're both equal in difficulty, being friendly looking is just aesthetic.

    I stick to C# because its pretty similar to a lot of other languages you can program in, like Javascript, PHP, Perl, and would recommend it for that reason. I simply find no reason why people should learn the VB syntax, just to be forced to learn other syntaxes elsewhere.

  • User profile image
    Sven Groot

    @Charles: Sorry, but that's a terrible idea. JavaScript is a pretty nice language, but having to work with the DOM and fight the differences between browsers is not something I'd wish on any beginning programmer.

  • User profile image
    Charles

    @Sven Groot: That wasn't part of the stated plan... Use a modern browser. Sure, this is a side effect of having multiple browsers implementing features, including JavaScript, differently, but this is no longer the accepted path or rule and certainly not the current trend.... HTML5 will help here. My point is, using a browser as the runtime makes things much easier. Running a program becomes refreshing the browser, navigating to a URL.

     

    I didn't suggest that you build a production web site....

     

    C

  • User profile image
    elmer

    I guess that the reality of all dot-net languages is that the "language" is the relatively simple part of the puzzle... and that regardless of which one you choose, by **FAR** the more difficult part is learning the framework - the 4.0 framework(s) is very intimidating.

  • User profile image
    exoteric

    haXe is also a pretty fun language to learn and use and it has backends for Javascript, PHP, C++ and Flash. It has classes, generics, closures, type-inference, dynamics (a la C# 4), recursive/structured enums (a la ML), macros, etc., etc. It has libraries
    that wrap the DOM and provide type-safe API's for different environments. Write once, compile to anything... Javascript is more forgiving but that is unfortunately also a great source of head-scratching. On the other hand, the mix of closures and prototypes can be very fun!

  • User profile image
    ManipUni

    I'd go with C#, Java, or maybe VB.net. The problem with VB.net is that it has many language features and styles which don't translate terribly well to others.

    I'm going to have to disagree with Charles on the JavaScript. Terrible framework. If you had new programmers learn on that most of them would quit within a few weeks (justifiably). C# is aimed at being a nice friendly newbie language with great tutorials and predictable results.

  • User profile image
    AndyC

    I'd have to agree with Sven and Manip, Javascript is probably not a great language to learn programming from. Not just because of the exciting implementation differences, but also because it lacks a lot of the rigorous formalities which help ensure you learn
    program structuring before you develop too many bad habits. In many ways, learning to program in Javascript is like learning to program in old-school BASIC. Yes you can do it, but you'll probably spend many years after trying to un-learn some of the habits.

  • User profile image
    iainsnotes

    at the moment with the course I am on they want to start with VB.net 2008 and then move on to C# next year

  • User profile image
    Ian2

    @iainsnotes:That sounds just fine to me.  What you will realise in year 2 is that everything you learned in year one (VB.Net) is totally relevant to what you are going to learn in year 2!  (Granted, I know that might sound unlikely)

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.