Are there any INTRINSIC advantages of the C# language over VB.NET?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



I have used VB.NET for several months. Just recently I was asked to modify
some web pages that were developed with C#. Although I know that C# is much
more popular, in comparing the two all of the advantages that I have come
across so far lie on the VB side (correct me if I'm wrong about any of
these; I'm still relatively new to C#):

1. VB supports named arguments (a significant readability advantage if used
properly), C# does not.
2. VB supports optional arguments, C# does not.
3. The C# "switch" statement requires you to explicitly jump out of each
case; if you don't, execution falls into the next case; this substantially
increases the risk of bugs. VB automatically exits its case statement after
executing the case (you can attach multiple conditions to each case.)
4. When you have a series of terminating braces in C#, it can be hard to
figure out exactly what constuct each brace is terminating. With VB, you
can at least say "end if", "end sub", etc., which makes it easier.

The one advantage I know about with C# is that it does a much better job at
getting you employed.

Can anyone come up with advantages of the C# language (compared with VB.NET)
that are inherent in the language? (Note: if you say "it lets me make the
code more compact", shame on you.)

Robert Rosen


.



Relevant Pages

  • Re: Are there any INTRINSIC advantages of the C# language over VB.NET?
    ... It is a *very* powerful language feature. ... execution falls into the next case; this substantially ... When you have a series of terminating braces in C#, ... figure out exactly what constuct each brace is terminating. ...
    (microsoft.public.dotnet.general)
  • Re: Looking for pointers on implementing a symbol table using little RAM
    ... And are you using this during the execution ... Yes, a scripting language. ... ECMAScript/JavaScript ... your instrument in an incremental compilation way. ...
    (comp.arch.embedded)
  • Re: global interpreter lock
    ... I doubt a language for thread-phobes has much of a future. ... require a fundamental redesign of the underlying execution hardware, ... All modern CPUs allow flow control through the use of machine-code/assembly instructions which branch, either conditionally or unconditionally, to either a relative or absolute memory address, i.e. a GOTO. ... To really have parallel execution with clean modularity requires a hardware redesign at the CPU level, where code units, executing in parallel, are fed a series of data/work-units. ...
    (comp.lang.python)
  • Re: Compiling C++ kernel module + Makefile
    ... C++ was designed as an object-oriented language. ... the details of the actual execution mechanisms ... and the actual execution paths. ... the Operating System programmer makes ...
    (Linux-Kernel)
  • Re: shell..an interpreter but whats an interpreter (help me clear these doubts please)
    ... today more than 99% of programming electronic processors and to interface ... When a C code is compiled it is translated to machine's language. ... An interpreter takes from a source code file individual statements which are then temporarily converted to machine code and executed and then discarded thus each statement in an interpreted source must be a 'standalone' operation. ... If you created a similar compiled executable to simply set a variable x with value 5 and ran that, on completion of the execution, x will have been created, set to 5 and then discarded at the end of the execution and is no longer available upon returning control to the shell. ...
    (comp.unix.shell)