Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Why C# over VB.NET

Options
  • 06-12-2008 11:13pm
    #1
    Registered Users Posts: 7,680 ✭✭✭


    Why do people say C# is better than VB.NET?

    Does it have anything to do with the word "Basic"?

    That developers feel that they don't like the word basic and makes them feel like a beginner?


Comments

  • Registered Users Posts: 1,512 ✭✭✭stevire


    C# is in short, a simple object oriented language. imo vb.NET is not an OOL language.

    vb.NET allows some awful coding and it is not quite as powerful as C#.

    Basic is a beginners language, with advanced features!! Some awful programs out there, and people get away with some awful coding practice. vb.NET imo is not a language for any serious develper to major in. Very few college courses have not got any hint of VB in the curriculum.

    VB does not support that many OS' and is not as powerful. VB is quick and easy for standalone programs, for built in tools/plugins or for supporting and getting the best out of an API look to an object oriented language.


  • Registered Users Posts: 197 ✭✭pauldiv


    stevire wrote: »
    C# is in short, a simple object oriented language. imo vb.NET is not an OOL language.

    vb.NET allows some awful coding and it is not quite as powerful as C#.

    I agree with this. Having used both languages I would choose C# over VB every time. I even hate the name VB as it sounds too much like VD :-)

    Basic has been around for years and was used in educational courses that offered programming. Pascal was another language that was widely used in colleges.

    Microsoft has had different version of Basic over the years and they should be given some credit for bringing programming to the average joe with a computer. However Java came along and Microsoft missed the boat.

    They then developed the C# language to compete and attract Java people. C# takes so much from Java and they are so similar that if you learn one language well you would have an easy time learning the other.

    If you are just starting and getting on well with VB then I think you should just concentrate on learning what you can with it because programming is about code and a loop is a loop no matter what language you use.

    If you can concentrate on one language and become good at it then you can then go and try others. BTW there are a lot of VB jobs out there so dont listen too much to the people who always knock it.

    Good luck.


  • Registered Users Posts: 981 ✭✭✭fasty


    stevire wrote: »
    C# is in short, a simple object oriented language. imo vb.NET is not an OOL language.

    vb.NET allows some awful coding and it is not quite as powerful as C#.

    Basic is a beginners language, with advanced features!! Some awful programs out there, and people get away with some awful coding practice. vb.NET imo is not a language for any serious develper to major in. Very few college courses have not got any hint of VB in the curriculum.

    VB does not support that many OS' and is not as powerful. VB is quick and easy for standalone programs, for built in tools/plugins or for supporting and getting the best out of an API look to an object oriented language.

    While I agree that VB.Net isn't a very readable language, both VB.Net and C# compile into the same bytecode you know. By "powerful" do you mean that C# has more syntactic sugar that makes it look like it can do anything?


  • Closed Accounts Posts: 5,284 ✭✭✭pwd


    vb.net is an object-oriented language.
    vb.net is more like english than c#, which means some people will find it easier to pick up initially.
    The two languages are fairly equal whan it comes to power, which I take to be how much you can do with them. As stated they both compile to the same code. They lso both use the same framework.
    It's mainly a cultural difference imo. VB.Net is similar to VB, which is not an OOL, so more function oriented programmers would use it than c#, which is more like Java or C++, which are object oriented. Some C# developers look down on VB.NET developers, but this is a fairly uninformed attitude really.
    C# developers tend to get paid more, but I reckon there are more permanent jobs for VB developers.
    C# is compatible with more frameworks I think (as mentioned); XNA for example is compatible with C# but not with VB.NET.
    The differences are fairly academic really. You would be better off learning both; which is not that hard to do. I used VB.Net first and then switched to C#, and it wasn't hard to switch. Being comfortable with both the languages means you can look at examples and sample code etc done in both languages, which is useful. I prefer C# personally, and I think most people who have used them both would prefer C#. I'd suggest you learn C# first but it won't make a huge difference which you use really.


  • Registered Users Posts: 1,512 ✭✭✭stevire


    fasty wrote: »
    While I agree that VB.Net isn't a very readable language, both VB.Net and C# compile into the same bytecode you know. By "powerful" do you mean that C# has more syntactic sugar that makes it look like it can do anything?

    Not really, C# is a more well defined language than VB.NET.

    In C# the line ends when I type the semicolon.:

    string sql = @SELECT *
    FROM myTable
    WHERE mainID=12
    ORDER BY FirstName ASC ";

    So when someone hands you a SQL statement you can just paste it into your code and the output (i.e. carriage returns) will still keep the format.

    In VB.NET, it looks like this:

    dim sql as string = "SELECT *" & _
    "FROM myTable" & _
    "WHERE mainID=12" & _
    "ORDER BY FirstName ASC "

    I work with VB and testing sql statements is an absolute nightmare, i usually put the program in debug mode and copy the string to the clipboard to get the sql statement out. Saves a lot of time

    C# catches a lot more errors than VB.NET, such as uninitialized variables, etc... (Hence allowing bad coding practices with VB)

    You can develop apps for OS' other than Windows, such as Linux and MacOS with C#. (using a C# compiler from Novell)

    Increments and decrements in C# is so handy: i++;
    in comparision to VB.NET: i = i + 1;

    Don't get me wrong im not anti-VB. I've done and still do a bit of work with VB.


  • Advertisement
  • Registered Users Posts: 515 ✭✭✭NeverSayDie


    stevire wrote: »
    Not really, C# is a more well defined language than VB.NET.

    In C# the line ends when I type the semicolon.:

    string sql = @SELECT *
    FROM myTable
    WHERE mainID=12
    ORDER BY FirstName ASC ";

    So when someone hands you a SQL statement you can just paste it into your code and the output (i.e. carriage returns) will still keep the format.

    In VB.NET, it looks like this:

    dim sql as string = "SELECT *" & _
    "FROM myTable" & _
    "WHERE mainID=12" & _
    "ORDER BY FirstName ASC "

    I work with VB and testing sql statements is an absolute nightmare, i usually put the program in debug mode and copy the string to the clipboard to get the sql statement out. Saves a lot of time

    C# catches a lot more errors than VB.NET, such as uninitialized variables, etc... (Hence allowing bad coding practices with VB)

    You can develop apps for OS' other than Windows, such as Linux and MacOS with C#. (using a C# compiler from Novell)

    Increments and decrements in C# is so handy: i++;
    in comparision to VB.NET: i = i + 1;

    Don't get me wrong im not anti-VB. I've done and still do a bit of work with VB.

    Re cross-platform support, you're probably thinking of the Mono project. From what I gather, they added VB.NET support to that some time ago, though I don't know what the coverage level is like. As folks have pointed out already, from the Framework's point of view, C# and VB.NET (and the various other .NET languages) all end up as IL before things happen in any case.

    Personally I prefer C# for similar reasons to those you mention - the VB.NET syntax doesn't appeal. Haven't done much work with VB.NET, granted, but things like lack of curly braces, the verbose variable declaration and lack of line terminators don't exactly make for decent-looking code, IMHO. That's a personal taste thing at the end of that day though.


  • Closed Accounts Posts: 3,357 ✭✭✭Beano


    stevire wrote: »
    Not really, C# is a more well defined language than VB.NET.

    In C# the line ends when I type the semicolon.:

    string sql = @SELECT *
    FROM myTable
    WHERE mainID=12
    ORDER BY FirstName ASC ";

    So when someone hands you a SQL statement you can just paste it into your code and the output (i.e. carriage returns) will still keep the format.

    In VB.NET, it looks like this:

    dim sql as string = "SELECT *" & _
    "FROM myTable" & _
    "WHERE mainID=12" & _
    "ORDER BY FirstName ASC "

    I work with VB and testing sql statements is an absolute nightmare, i usually put the program in debug mode and copy the string to the clipboard to get the sql statement out. Saves a lot of time

    If you are writing sql statements in that manner i would suggest the problem is in how you are writing the statements not the language you are using. Calling sql in that way from .Net is "hello world" stuff.
    stevire wrote: »

    #C# catches a lot more errors than VB.NET, such as uninitialized variables, etc... (Hence allowing bad coding practices with VB)

    I've been developing in VB for 15 years and so far i've managed without the compiler telling me this. basic errors like that will be found pretty quickly in testing.
    stevire wrote: »

    You can develop apps for OS' other than Windows, such as Linux and MacOS with C#. (using a C# compiler from Novell)

    If you're doing multi-platform then C++ is a better option.
    stevire wrote: »

    Increments and decrements in C# is so handy: i++;
    in comparision to VB.NET: i = i + 1;

    having to type an extra character isnt really dealbreaker.

    I dont think any of the above are compelling reasons for choosing c# over vb.net.


  • Closed Accounts Posts: 815 ✭✭✭KStaford


    C# is far more strongly typed. Altjough the new version allows the "var" keyword for using anonymous types. So as the posters above suggest, it catches far more errors and lets you get away with far less in terms of sloppy code which leads to good habits (hopefully).

    c# is close to c and c++ and very close to Java. So if you learn it you can port to the other languages easily. Even though it is managed, It still allows pointers, unsafe code etc.

    It is gaining a huge functionality footprint now with the newest versions supporting stuff like lambda expressions etc (some would argue that its footprint is now too big)

    It is a true OO (object orientated) language. If you learn it you realy are learning OO and that may well stand to you in the future.

    It's a fun language. I still get a kick out of writing a class and just seeing it pop up in intellisense - never mind actually running.

    It is far more widely used in traditional and non traditional platforms such as ASP.Net, Windows Mobile, Robotics. Third parties support and develope API's much more so in C# than in VB. If you go searching for examples on the web as a learner, you will find far more c# examples than VB.

    There are rumours that VB is not being taken as seriously as C# in MS and that there may come a day when VB gets put to bed (as I say these are rumours, nothing official).

    I could go on and on but if I were to advise you, it'd be C# without hesitation.


  • Registered Users Posts: 1,512 ✭✭✭stevire


    Beano wrote: »
    If you're doing multi-platform then C++ is a better option.

    By far, I agree. If this was recommend a language I would have said C++/Java. But for the purpose of this topic im outlining the advantages of C# over VB.NET.
    Beano wrote: »
    I dont think any of the above are compelling reasons for choosing c# over vb.net.

    Imo, learning C# will be an advantage in the long run. Moving up a level to C++/Java will be less of a jump than VB to C++/Java.

    As I said, I'm just outlining advantages of C#. If you disagree why not outline the advantages of VB.NET over C#??


  • Registered Users Posts: 981 ✭✭✭fasty


    You're really just outlining things you don't like about VB.Net syntax though. Don't get me wrong, I'd pick C# over VB.Net due to my C/C++ background but you haven't shown me how it's more powerful.


  • Advertisement
  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    KStaford wrote: »
    C# is far more strongly typed. Altjough the new version allows the "var" keyword for using anonymous types. So as the posters above suggest, it catches far more errors and lets you get away with far less in terms of sloppy code which leads to good habits (hopefully).
    VB.Net can be every bit as strongly typed as C#, and with the right compiler options it can be every bit as strict and catch all the same errors and warnings you will get with C#.

    Of course if you're relying on the compiler to enforce good coding, you already have far bigger problems than what language you use.

    It is gaining a huge functionality footprint now with the newest versions supporting stuff like lambda expressions etc (some would argue that its footprint is now too big)
    Lambda expressions are coming to VB.Net too, I might be wrong but I'm not aware of any functionality in C# that is not available in VB.Net
    It is a true OO (object orientated) language. If you learn it you realy are learning OO and that may well stand to you in the future.
    VB.Net is every bit as true an OO language as C#.
    It's a fun language. I still get a kick out of writing a class and just seeing it pop up in intellisense - never mind actually running.
    I've found that intellisense actually works slightly better in VB.Net :)
    It is far more widely used in traditional and non traditional platforms such as ASP.Net, Windows Mobile, Robotics. Third parties support and develope API's much more so in C# than in VB. If you go searching for examples on the web as a learner, you will find far more c# examples than VB.
    VB.Net is also widely used in those platforms. It doesn't matter what language third party APIs are written in, if it's written in C# you can still use it in VB.Net, if it's written in VB.Net you can still use it in C#.
    There are rumours that VB is not being taken as seriously as C# in MS and that there may come a day when VB gets put to bed (as I say these are rumours, nothing official).
    I actually heard the exact opposite rumour at one point, although I didn't believe it.
    steveire wrote:
    Increments and decrements in C# is so handy: i++;
    VB.Net is quite handy too,
    i+=1
    
    which also makes it very easy if you want to increment by something other than 1 or by a variable value.



    I prefer C# myself, but that's really just personal preference. There's no real reason to knock VB.net, for almost all practical purposes it's entirely equivalent to C#. The only differences are a matter of taste.


  • Registered Users Posts: 1,512 ✭✭✭stevire


    I first started to look at VB about a year ago now and I came across this article that gives a very good article for choosing C# over VB.NET, had it in my bookmarks ever since!:
    VB.Net IDE is great and background compiler rocks, but IMO C# is a better designed lenguage, and VB focuses on ease at the expense of simplicity.
    All the lacks I've found in VB are a first-day-candy second-day-snare: features allowing people to start coding faster but generating some confusion about OO desings and, at the end, what your code do. IMO VB is a always-compile-never-works lenguage.

    Some examples:

    - Assignment and equality are different things. Using the same symbol is hazy
    bool a = 2 == 3; // simple
    Dim a as Boolean = 2 = 3 // not so much

    - Allowing static methods be called as if they where instance methods it's a great idea if you want to confuse people. A VB programmer usually tries to override a static method. C# syntax teaches C# programmers that this is a senseless.

    - Overrides, MustOverride, Overrideable and NotOverrideable keywords are scientific but more confusing and hard to write than the c# equivalents:
    override, abstract, virtual an sealed. Just as 1, 2 an 5 cents Euro coins.

    - Overloads. The only utility of this keyword its to increase the confusing with the override keyword family :D.

    - Implicit casting everywhere it's a bad idea, but Option Strict it's very severe and having thousand of casting functions (DirectCast, CType, CInt, CBool...) so nobody uses it. The result is that visual basic code usually converts to string and go back. No body knows what the type of a individual sub expression.
    Furthermore, the 'implicit casting everywhere idea' make generics a bit harder to understand to VB programmers.
    By the way, it's funny to see CInt to cast to Integer, and CBool to cast to Boolean, Why not using Int and Bool data types instead?

    - Everything can be Nothing. In VB you can assign Nothing to an integer, a char, a DataTime and they get it's default value. This is an asymmetric behaviour with some problems:
    - VB programmers understand worst value-types.
    - VB programmers think on String class as a value-type just because VB return true when comparing Nothing and "", another surprising behaviour.
    - Everything can be Nothing idea makes Nullable types difficult to understand.

    - Writing ByVal everywhere makes ByRef hard to find.

    - Not writing ByRef on calling it's a mistake. Writing it is clearer to understand.

    - Allowing passing a Property ByRef it's a great idea if you want to never understand what a Property is, and what ByRef really means.

    - Even more, allowing passing a literal as a ByRef parameter its a daring to the logic. Passing Nothing ByRef it's the climax of the stupidity.
    What's supposed to do this code?

    Function IncAndReturn(ByRef a As Integer) As Integer
    a += 1
    Return a
    End Function

    IncAndReturn(Nothing)

    - Visual Basic events / delegates syntax make Visual Basic programmer to forget delegates. Delegates are first class types in .Net, but not for visual basic programmers.

    - Object default return type. If I forgot to write the return type, please compiler, remind to me, probably it's not just an 'object'

    - Some code path without return. If I've forget to return something, please remind to me, don't return nothing.

    - Not Initialized local variables should be marked. Write '= null' when you are coding cost 1 second. Take notice of a lost initialization at runtime cost 2 minutes.

    - References in VB.Net 2005 are hidden. The average VB programmer builds a one project solution?

    - Visual Basic allow not writing parenthesis on methods without parameters, writing parameters on properties and arrays are acceded with parenthesis, this is a more confusing approach than the C# one:

    ¿What People is?
    Visual Basic
    - People() -> A Method or a Property
    - People(2) -> A Method, a Property, a Array, a Collection with a default parameterized property or a Named property.
    - People -> A Method, a Property or a field

    C#
    - People() -> A Method
    - People(2) -> A Method
    - People[2] -> A Array (or a collection with an indexer)
    - People -> A Property or a Field


    With these examples, I want to show the problems of the Visual Basic "first-day-candy second-day-snare" philosophy, not a deep C# - Visual Basic comparison.
    I've not mentioned for example missing features of VB 2003 like using statement, unsigned data types, unsafe code... and VB 2005 missing features like anonymous methods, Iterators and Nullable<T> special synthax.


  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    fasty wrote: »
    Don't get me wrong, I'd pick C# over VB.Net due to my C/C++ background but you haven't shown me how it's more powerful.

    Which is a very good reason why companies choose C# over VB. The weight of experience out there in OOP languages seems to go for C# over VB. You get, and I'm probably going to be flamed for this, a far better quality of developer if you go with C#.


  • Closed Accounts Posts: 3,357 ✭✭✭Beano


    Evil Phil wrote: »
    Which is a very good reason why companies choose C# over VB. The weight of experience out there in OOP languages seems to go for C# over VB. You get, and I'm probably going to be flamed for this, a far better quality of developer if you go with C#.

    IYNSHO


  • Registered Users Posts: 2,931 ✭✭✭Ginger


    stevire wrote: »
    Not really, C# is a more well defined language than VB.NET.

    In C# the line ends when I type the semicolon.:

    string sql = @SELECT *
    FROM myTable
    WHERE mainID=12
    ORDER BY FirstName ASC ";

    So when someone hands you a SQL statement you can just paste it into your code and the output (i.e. carriage returns) will still keep the format.

    In VB.NET, it looks like this:

    dim sql as string = "SELECT *" & _
    "FROM myTable" & _
    "WHERE mainID=12" & _
    "ORDER BY FirstName ASC "

    I work with VB and testing sql statements is an absolute nightmare, i usually put the program in debug mode and copy the string to the clipboard to get the sql statement out. Saves a lot of time

    C# catches a lot more errors than VB.NET, such as uninitialized variables, etc... (Hence allowing bad coding practices with VB)

    You can develop apps for OS' other than Windows, such as Linux and MacOS with C#. (using a C# compiler from Novell)

    Increments and decrements in C# is so handy: i++;
    in comparision to VB.NET: i = i + 1;

    Don't get me wrong im not anti-VB. I've done and still do a bit of work with VB.

    Try i +=1 in VB.NET just saved you a load of time :P

    Couple of things.. certain techs are C# only (BizTalk, XNA if you want to port to the XBOX for example)

    Otherwise, somethings are much easier in VB.NET such as XML, its a freaking doddle compared to C#.. But I am from a VB.NET background and I moved to C#.

    I dont see the fuss, being honest. I will code in whatever language I am paid to do :)


  • Registered Users Posts: 3,548 ✭✭✭Draupnir


    Before I post, my background is that I worked for 3 years in industry developed .net web apps in C# and moved to development in VB.Net about a year ago. My opinion is that there are no clear advantages to either language beyond syntactic preference and developer snobbery.
    stevire wrote: »
    C# is in short, a simple object oriented language. imo vb.NET is not an OOL language.

    Can you explain how you have come to this conclusion? I have never found any realistic way that I can be more Object Oriented in C# than I can be in VB.Net. Are you sure that your lack of knowledge of VB isn't the cause of the problem here?
    stevire wrote: »
    vb.NET allows some awful coding and it is not quite as powerful as C#.

    Languages don't create awful coding, awful coders create awful coding. A good carpenter doesn't blame his tools.
    stevire wrote: »
    vb.NET imo is not a language for any serious develper to major in. Very few college courses have not got any hint of VB in the curriculum.

    If we are to use what college courses teach as the benchmark then Java blows both VB.Net and C# out of the water. I think you'll find that the colleges decide on which languages to use in their courses based on licensing costs.

    If you want to see what "serious developers" develop in, you need to quantify what a serious developer is! I know a lot of "serious developers" who would tell you that anything compiling into the .NET CLR is not a "serious language".
    stevire wrote: »
    VB does not support that many OS' and is not as powerful. VB is quick and easy for standalone programs, for built in tools/plugins or for supporting and getting the best out of an API look to an object oriented language.

    VB.Net compiles into the same number of languages as C#, one. Unless you try to use Mono, which I've never been too successful at doing :)

    I can assure you that I have gotten just as much out of the .NET framework in VB as I have in C#.

    My finally response to you is this:
    stevire wrote: »
    Not really, C# is a more well defined language than VB.NET.

    In C# the line ends when I type the semicolon.:

    string sql = @SELECT *
    FROM myTable
    WHERE mainID=12
    ORDER BY FirstName ASC ";

    So when someone hands you a SQL statement you can just paste it into your code and the output (i.e. carriage returns) will still keep the format.

    In VB.NET, it looks like this:

    dim sql as string = "SELECT *" & _
    "FROM myTable" & _
    "WHERE mainID=12" & _
    "ORDER BY FirstName ASC "

    I work with VB and testing sql statements is an absolute nightmare, i usually put the program in debug mode and copy the string to the clipboard to get the sql statement out.

    I think another poster has said this already, but writing SQL in your code like this is Hell World level stuff. If you consider the above to be well written and acceptable code, then I don't think you should be adopting such an authoritative tone in a discussion on the merits of VB.Net versus C#.

    Final point is, someone mentioned that C# developers make more money than VB developers. I can confirm that this might be the case in the majority of positions but there are certainly VB jobs were the money is better, the language rarely dictates salary, your experience, abilities and the prospects of the company are far more likely to influence your salary.

    My answer to VB versus C#, both are for all intents and purposes equal, I prefer C# for syntactic ease.


  • Registered Users Posts: 1,512 ✭✭✭stevire


    All points taken and good arguments, but so far everyone has been saying C# is their preference. If VB.NET is so similiar then why choose C# over it, is it as simple as syntactic ease?

    I've yet to hear any case of why VB.NET would be chosen over C#...

    In regards to an "authoritative tone", I think that is a bit blown out of proportion. I am simply expressing my opinions trying to provide a good debate, but if I cant express an opinion without it being referred to as authoritative whats the point in expressing opinions at all?

    VB by its physical nature is not an OOL, VB with .NET framework is. VB was not initially designed to be an OOL hence why I don't refer to it as being one.

    C# by nature, is similar to C++, was designed to be an OOL.


  • Registered Users Posts: 3,548 ✭✭✭Draupnir


    stevire wrote: »
    All points taken and good arguments, but so far everyone has been saying C# is their preference. If VB.NET is so similiar then why choose C# over it, is it as simple as syntactic ease?

    Essentially yes it is syntactic for most people here since I assume most of us were trained in Java, C++ or C#. People from a VB.Net background would prefer VB syntax.
    stevire wrote: »
    In regards to an "authoritative tone", I think that is a bit blown out of proportion. I am simply expressing my opinions trying to provide a good debate, but if I cant express an opinion without it being referred to as authoritative whats the point in expressing opinions at all?

    You're allowed to be authoritative, just don't back up your opinions with examples and methods which make it look as those your approaches abilities are the problem, not the language.
    stevire wrote: »
    VB by its physical nature is not an OOL, VB with .NET framework is. VB was not initially designed to be an OOL hence why I don't refer to it as being one.

    Maybe if you stop looking at VB 6 and VB 7 (and later) as the same languages then you can start realising that VB is an OOL and has been since 7 onwards (and before that if you wanted it to be but not as easily)


  • Registered Users Posts: 3,548 ✭✭✭Draupnir


    stevire wrote: »
    C# by nature, is similar to C++, was designed to be an OOL.

    This is a very fair point, however VB.Net (or Version 7 of the Microsoft Basic language) was designed to compile to the same bytecode as C# and provides the same level of object orientation, no?

    What OO patterns are missing from VB.Net in your opinion?


  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    Draupnir wrote: »
    the same level of object orientation, no?

    Yes, it is. Isn't that required to qualify as a .Net language - being OOP?

    I'm not saying the C# is a better language but I have seen in the industry that people from an OOP language background gravitate towards C#. People coming from a vb bckground go for vb.net which does explain why some companies would go with c# over vb.net and vis-versa. This has been an unpopular (not so humble) opinion with some on this thread - but its true. VB6 developers probably don't have the exposure to OOP that a java or C++ person would have. C# is the bigger guns because of the quality, level of experience, and availability of OOP skills in the C# community. Not because of the language itself.


  • Advertisement
  • Registered Users Posts: 2,931 ✭✭✭Ginger


    I'll give you one reason to use VB.NET over C#

    In ASP.NET, as a VB.NET developer you get in the IDE the list of all the page level events, whereas in C# you dont..

    PIA to code in the PreInit method stub when its created automagically in VB.NET... why is that?


  • Registered Users Posts: 163 ✭✭stephenlane80


    I think Draupnir summes it up best,

    Both languages are syntatically different methods of making use of the objects in the .Net framework.

    The reason there are many languages that comiple to MSIL is so that programers can create .Net applications in the language thats most comportable for them.

    The Momo point is good thou, as c# is an open standard: ECMA-334 Any body can build a compiler, at the moment the open source mono compiler is compatible with .Net 2.0 i think, so if you have 2.0 code you will be able to compile it and run it on nix systems with little or no changes.


  • Registered Users Posts: 2,931 ✭✭✭Ginger


    I think Draupnir summes it up best,

    Both languages are syntatically different methods of making use of the objects in the .Net framework.

    The reason there are many languages that comiple to MSIL is so that programers can create .Net applications in the language thats most comportable for them.

    The Momo point is good thou, as c# is an open standard: ECMA-334 Any body can build a compiler, at the moment the open source mono compiler is compatible with .Net 2.0 i think, so if you have 2.0 code you will be able to compile it and run it on nix systems with little or no changes.

    As long as you dont use anything in the Microsoft Namespace..


Advertisement