469,610 Members | 2,042 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,610 developers. It's quick & easy.

What's the point of C# and C++

After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the
..NET "format", not the standard library/compile to standalone .exe
versions)?

I've read discussions in forums and newsgroups from others saying C# is
better than VB for this and that or VB is easier to use (which it is)
but if they're all accessing/using the same .NET runtime then what's the
point? I'm not being cynical; I'm just confused as to why I should
bother learning C# if it isn't better or worse than VB. I'm probably
missing something here and if so I'd really like to know what it is.

Thanks in advance

Zach
Oct 31 '08 #1
49 2099
"Zach" <zs****@cox.net.nospamwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the .NET
"format", not the standard library/compile to standalone .exe versions)?
The reason both exist is that they are aimed at different markets. C# is
more aimed at someone who is programming day in and day out while VB is more
aimed at your casual programmer. In some cases VB is easier to use than C#
but there a lot of disadvantages with VB. While it has some minor timesaving
examples these are fairly insignificant when you need to use pointers and
are stuck in a VB project (pointers are useful for high speed bitmap and
video stream manipulation. Donet can keep up a fairly high frame rate and
manipulare video in real time). Personally for me just having to type all
the keywords that are required in vb is enough to make me prefer c#. eg
function, sub, dim, as, directcast, not, I must type these 1000+ times a day
and am really sick of typing them, especially directcast. :-)

As for C++ it's there for writing dot net libraries in C++ of course.

Michael
Oct 31 '08 #2
"Michael C" <mi***@nospam.comschrieb
The reason both exist is that they are aimed at different markets. C# is
more aimed at someone who is programming day in and day out while VB is
more aimed at your casual programmer.

:-D This is one of the funniest statements I've ever read in this group in
the past years. Hey, another one: C++ was invented for children between 3
and 6. Then they feel bored and upgrade to C#. I'm convulsed with laughter.
Zach, C# and VB are very close together. Each has some advantages over the
other. So, it's mainly a matter of taste. Exceptions prove the rule. You can
start another long discussion as they have already taken place in the past
years, or you just can believe me, who writes programs for over 20 years
now, in Assembler, Pascal/Delphi, C#, C++ and several versions of Basic. Mr.
Michael C seems to be a troll gracing us with his presence lately. Decide on
your own. Anyway, whatever language you prefer, none of them is by far aimed
to casual programmers. On the other side, I can clearly discourage you from
using C++/CLR(!) if you don't have to.

Armin

Oct 31 '08 #3
On Fri, 31 Oct 2008 13:33:14 +1100, "Michael C" <mi***@nospam.com>
wrote:
>"Zach" <zs****@cox.net.nospamwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
>After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the .NET
"format", not the standard library/compile to standalone .exe versions)?

The reason both exist is that they are aimed at different markets. C# is
more aimed at someone who is programming day in and day out while VB is more
aimed at your casual programmer. In some cases VB is easier to use than C#
but there a lot of disadvantages with VB. While it has some minor timesaving
examples these are fairly insignificant when you need to use pointers and
are stuck in a VB project (pointers are useful for high speed bitmap and
video stream manipulation. Donet can keep up a fairly high frame rate and
manipulare video in real time). Personally for me just having to type all
the keywords that are required in vb is enough to make me prefer c#. eg
function, sub, dim, as, directcast, not, I must type these 1000+ times a day
and am really sick of typing them, especially directcast. :-)

As for C++ it's there for writing dot net libraries in C++ of course.

Michael
I do not agree that VB is aimed at casual programmers.

As someone who has written C and C++ code for over 20 years, I now
prefer VB.NET to C#. Yes it is a little more verbose, but I like
that. C# can be very cryptic sometimes, and the small number of
things you can't do in VB.NET are not things that affect me very much.
Oct 31 '08 #4
Since all .NET languages use the same framework, the only real reason for
the existence of having multiple languages is developer preference. Prior to
the existence of .NET the most common languages were ones that used syntax
from Unix based languages (C++, Java, etc.) and Visual Basic. This is why
multiple languages exist in .NET, so that developers with experience in any
of these languages can start to interact, write libraries that they can
share, and use a single runtime. Which language is best? There is no
definite answer to that, because whichever one you are better with is
usually better for you. However, the most common two by far are VB.NET and
C#. Other .NET languages exist mostly so that people can still use
previously existing languages, but compile them to run on .NET. Many people
concentrate on either VB.NET or C# when learning .NET, but it is often
recommended that you at least get a general feel for both, because I
guarantee that you will run into example code on websites in both languages.
But the only major difference is syntax, because they both use the same
classes, so if you understand the basic things like declaring a variable and
method in both languages, you should be good. No matter what anybody says,
neither one is "better". (But in my mind, C++ is a language of the past, if
you used to be a C++ developer, make an attempt to transition to C#)
--
Nathan Sokalski
nj********@hotmail.com
http://www.nathansokalski.com/

"Zach" <zs****@cox.net.nospamwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the .NET
"format", not the standard library/compile to standalone .exe versions)?

I've read discussions in forums and newsgroups from others saying C# is
better than VB for this and that or VB is easier to use (which it is) but
if they're all accessing/using the same .NET runtime then what's the
point? I'm not being cynical; I'm just confused as to why I should bother
learning C# if it isn't better or worse than VB. I'm probably missing
something here and if so I'd really like to know what it is.

Thanks in advance

Zach

Oct 31 '08 #5

"Zach" <zs****@cox.net.nospamwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the .NET
"format", not the standard library/compile to standalone .exe versions)?
VB.Net is proprietary to MS. C#.Net is not owned by MS, and it is under the
control of the ISO and ECMA standards committee. C++.NET can run as managed
code using the .Net Framework or C++.NET can run as unmanaged code not
needing the .Net Framework.
I've read discussions in forums and newsgroups from others saying C# is
better than VB for this and that or VB is easier to use (which it is) but
if they're all accessing/using the same .NET runtime then what's the
point? I'm not being cynical; I'm just confused as to why I should bother
learning C# if it isn't better or worse than VB. I'm probably missing
something here and if so I'd really like to know what it is.
Maybe some developers don't know either one of the languages. Why should
they? Maybe, COBOL is the language that's needed, because COBOL is still
being used.

http://www.startvbdotnet.com/dotnet/languages.aspx

Oct 31 '08 #6
On Thu, 30 Oct 2008 20:56:06 -0700, Jack Jackson wrote:
>I do not agree that VB is aimed at casual programmers.
Me, too. However, sadly it's the folks at MS themselves who spread
nonsense like this.

http://www.microsoft.com/express/windowsdevelopment/

"Visual Basic
Productivity that is ideal for first time or casual Windows
programming.

Visual C#
A great combination of power and productivity for the Windows
developer.

Visual C++
Horsepower with a finer degree of control than other Express
Editions."

Wolfgang
Oct 31 '08 #7
"Wolfgang Enzinger" <we******@temporaryforwarding.comschrieb
On Thu, 30 Oct 2008 20:56:06 -0700, Jack Jackson wrote:
I do not agree that VB is aimed at casual programmers.

Me, too. However, sadly it's the folks at MS themselves who spread
nonsense like this.

http://www.microsoft.com/express/windowsdevelopment/

"Visual Basic
Productivity that is ideal for first time or casual Windows
programming.
That's just because, if not with VB, where else could they have put the word
"casual"? They would have left out this target audience completely. The
problem is that this gives a wrong picture because it is not _only_ for
casual programmers, also for ambitious projects. The productivity is
extraordinary, as we both know. :)

My personal interpretation of their statement.
Visual C#
A great combination of power and productivity for the Windows
developer.

Visual C++
Horsepower with a finer degree of control than other Express
Editions."

Armin

Oct 31 '08 #8
Zach,

VB is the number 1 program language for Microsoft
C++ is the number 2 program language for Microsoft
C# is the number 3 program language for Microsoft.

For a VB6 developper is VB for sure easier to learn, for schoolkits C# is
definitly better in this situation, because with VB you have plenty of
posibilities to get to the same result and most starting programmers have
much problems with that.

If VB is better than C# is mainly a personal taste, as you are all day busy
as casual as possible to create working business programs, then VB is in my
idea absolute better, because the time you need to make a program is
probably 50% as with C#.

However C# is more strict. Where VB helps you to correct wrongly typed code,
you can often see in C# typing errors after building the program again. That
is however better if you are learn to program.

The resulting code will normally be the same, both have the same speed in
processing, although that depends of course how it is made by the programmer
as well.

As C# is more educated to kits you see on Internet typical kit behaviour.
They shout that what they have learned is the best.
As you are a little bit more mature you can take your own conclussion from
that.

That text you have seen is made by marketing people, as you are a long time
developer you know what to think about that.

jmo

Cor
"Zach" <zs****@cox.net.nospamschreef in bericht
news:%2****************@TK2MSFTNGP06.phx.gbl...
After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the .NET
"format", not the standard library/compile to standalone .exe versions)?

I've read discussions in forums and newsgroups from others saying C# is
better than VB for this and that or VB is easier to use (which it is) but
if they're all accessing/using the same .NET runtime then what's the
point? I'm not being cynical; I'm just confused as to why I should bother
learning C# if it isn't better or worse than VB. I'm probably missing
something here and if so I'd really like to know what it is.

Thanks in advance

Zach

Oct 31 '08 #9
Jack,

Although it is always told about verbose by C programmers (which are
probably only talking about Basic 1.0)

String A = "Hello";
DataSet B = new Dataset()

Dim A = "Hello"
Dim B as New Dataset

What is in your opinion more verbose

As I wrote jmo

Cor

"Jack Jackson" <jj******@cinnovations.netschreef in bericht
news:k2********************************@4ax.com...
On Fri, 31 Oct 2008 13:33:14 +1100, "Michael C" <mi***@nospam.com>
wrote:
>>"Zach" <zs****@cox.net.nospamwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl.. .
>>After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the
.NET
"format", not the standard library/compile to standalone .exe versions)?

The reason both exist is that they are aimed at different markets. C# is
more aimed at someone who is programming day in and day out while VB is
more
aimed at your casual programmer. In some cases VB is easier to use than C#
but there a lot of disadvantages with VB. While it has some minor
timesaving
examples these are fairly insignificant when you need to use pointers and
are stuck in a VB project (pointers are useful for high speed bitmap and
video stream manipulation. Donet can keep up a fairly high frame rate and
manipulare video in real time). Personally for me just having to type all
the keywords that are required in vb is enough to make me prefer c#. eg
function, sub, dim, as, directcast, not, I must type these 1000+ times a
day
and am really sick of typing them, especially directcast. :-)

As for C++ it's there for writing dot net libraries in C++ of course.

Michael

I do not agree that VB is aimed at casual programmers.

As someone who has written C and C++ code for over 20 years, I now
prefer VB.NET to C#. Yes it is a little more verbose, but I like
that. C# can be very cryptic sometimes, and the small number of
things you can't do in VB.NET are not things that affect me very much.

Oct 31 '08 #10
"Armin Zingler" <az*******@freenet.dewrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
:-D This is one of the funniest statements I've ever read in this group
in
the past years. Hey, another one: C++ was invented for children between 3
and 6. Then they feel bored and upgrade to C#. I'm convulsed with
laughter.
Actually my statement was quite mature and factual. Your statement was
childish. Features such as VB continuously compiling in the backgroup slows
down the development environment. For someone who is programming all day
every day this gets annoying. Especially because corporate users can't
always have the latest PCs due to company policy as when to replace them.
I'm stuck with a celery 2.6 and VB does struggle with it.

What I say makes a lot of sense, the casual programmer likes to see "Dim X
as Integer" spelled out for them, whereas a professional only needs the
basic minimums and doesn't want the hassle of typing keywords all day.
Zach, C# and VB are very close together. Each has some advantages over the
other. So, it's mainly a matter of taste. Exceptions prove the rule. You
can
start another long discussion as they have already taken place in the past
years, or you just can believe me, who writes programs for over 20 years
now, in Assembler, Pascal/Delphi, C#, C++ and several versions of Basic.
Mr.
Michael C seems to be a troll gracing us with his presence lately.
Odd that you call me a troll and then act like a child just because I say
something that you don't want to hear.

Michael
Oct 31 '08 #11
"Jack Jackson" <jj******@cinnovations.netwrote in message
news:k2********************************@4ax.com...
As someone who has written C and C++ code for over 20 years, I now
prefer VB.NET to C#. Yes it is a little more verbose, but I like
that. C# can be very cryptic sometimes, and the small number of
things you can't do in VB.NET are not things that affect me very much.
I'm the other way around, I've done mainly VB for many years but much prefer
C#. Generally it's the little things such as
- intellisense, they seem to have got it all right in C# and a little bit
wrong in VB. THe number of times a day I have to push the escape key is
incredible. There's about 5 different things wrong with the intellisense
which I could list if you like. I'd have to be in front of my work PC to
list them all though.
- the way it compiles in the background continuously which makes everything
quite slow.
- the fact that pointers is missing. The only thing I use pointers for is
bitmap or video manipulation but it's suprising when this need arises even
on boring business apps.
- anonymous methods missing. It's anoying when you're getting into the
latest features just to find they're not all there.
- the need to specifically set option strict on. In a team environment any
strictness you can enforce is a *really* good thing.
- having to set *every single control* to be private is really annoying.
- legacy statements such as exit sub and on error goto. I know you can just
avoid using these but if you're in a team it's better if the environment
enforces greater strictness. I'm currently fixing up an app that is full of
reckless abandon and it's quite a big job.
- the way it allows inconsistancies such as dim x() as string and dim x as
string() being the same thing and being able to call a function without
empty brackets. This last one is really interesting when a function with no
parameters returns an array, you can call it like this

MyFunction(6)

This looks like you're passing in a parameter of 6 but in fact you're
getting the element at index 6 from the returned array. Yuk!
I do not agree that VB is aimed at casual programmers.
That's a fairly bold statement from a C++ programmer :-) Some of the things
I've listed above would say otherwise (continuous compile, lack of pointers,
less strict environment, having controls default to public + more verbose
syntax, simpler event handling, redim statement, withevents).

I know there's stuff you can do in C# that VB can't do but is there anything
VB can do that C# can't? I don't mean stuff like the handles keyword (which
I do quite like) because you can do it other ways in C#. As an example, VB
does not do pointers which means you cannot get the speed out VB that you
can out of C#.

Michael
Oct 31 '08 #12
"Zach" <zs****@cox.net.nospamschrieb:
After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the
.NET "format", not the standard library/compile to standalone .exe
versions)?
C++/CLI is the migration/maintenance path for C/C++ code.
C# is the migration path for C/C++ and Java programmers.
VB is for people who love to be productive!

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>
Oct 31 '08 #13
"Michael C" <mi***@nospam.comschrieb:
Personally for me just having to type all the keywords that are required
in vb is enough to make me prefer c#. eg function, sub, dim, as,
directcast, not, I must type these 1000+ times a day and am really sick of
typing them, especially directcast. :-)
I wonder if you have ever used VB in the VS IDE, as most keywords are
inserted automatically and/or provided in context-aware IntelliSense menus.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Oct 31 '08 #14
"Cor Ligthert[MVP]" <no************@planet.nlschrieb:
Although it is always told about verbose by C programmers (which are
probably only talking about Basic 1.0)

String A = "Hello";
DataSet B = new Dataset()

Dim A = "Hello"
Dim B as New Dataset

What is in your opinion more verbose
Well, you could shorten the above code using C#'s 'var' keyword!

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>
Oct 31 '08 #15
Herfried,

You are right, that was the way I had made it first in my message.
However you cannot go around that ';' and senseless empty method
parentheses
(I forgot one ";", you probably have seen that)

-)

Cor

"Herfried K. Wagner [MVP]" <hi***************@gmx.atwrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
"Cor Ligthert[MVP]" <no************@planet.nlschrieb:
>Although it is always told about verbose by C programmers (which are
probably only talking about Basic 1.0)

String A = "Hello";
DataSet B = new Dataset()

Dim A = "Hello"
Dim B as New Dataset

What is in your opinion more verbose

Well, you could shorten the above code using C#'s 'var' keyword!

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>
Oct 31 '08 #16
Zach wrote:
After having taken a looong break from VB (last used 6.0), I started
getting back into programming again...
I appreciate the info and feedback. Looks like a small can of worms
might have been knocked over during some of the discussions but what the
hell...that's what keeps it interesting. I think I'll get up to speed
with VB then dive into the shallow end of C# before swimming into deeper
waters. I still program with Delphi and have always liked it but want
to add another language or two to my toolbox. Nothing wrong with
keeping current and besides, this is one old dog that can learn new tricks.

Zach
Oct 31 '08 #17
Hi Zach -

Over the years, the differences between VB.NET and C# have been slowly
wearing away. There are only a handful of applicable differences now, with
each language having some unique features the other doesn't. I think for
about 90% of projects, you'll never run into these differences.

The greatest complaint you hear is that VB.NET is much more verbose than C#.
This is true, but in practice it doesn't matter much. Visual studio fills in
the code block End X statements so you don't have to type them out.

The second complaint you hear is that VB.NET code is poorly written. I think
this is unfair. The fact is that VB.NET's verbosity makes it more
approachable to new programmers. Of course these new programmers are going
to make mistakes and have lousy code. But there is nothing intrinsic about
C# that makes the resultant MSIL better.

The whole argument is ridiculous. It's like saying that a novel written in
British English is intrinsically better than American English because it
refers to the car's storage area as a "boot" instead of a "trunk".

I can't believe this is still a matter being discussed. This acutally came
up in a conversation I had at lunch recently. I was dining with a young man
who knew C#. It was the only language he knew. He thought very lowly of
other languages, but when it came down to it, it was really a matter of him
looking at VB code and being out of his comfort zone.

I think people get used to a particular language and that's the one they
stick with. Most of the time, their language decisions weren't even theirs;
their company standardized on one or the other, and that's simply where the
bulk of their experience lies. It's uncomfortable to work in a language that
you're not used to. There's a learning curve involved.

Anyway, that's what it comes down to, IMHO. Just a preference, nothing more.
It's always a good idea to diversify and learn many languages so you can
fluff your resume a bit, though. Good luck with your training.

Cheers,

-M

Oct 31 '08 #18
On 2008-10-31, Cor Ligthert[MVP] <no************@planet.nlwrote:
Zach,

VB is the number 1 program language for Microsoft
C++ is the number 2 program language for Microsoft
C# is the number 3 program language for Microsoft.

For a VB6 developper is VB for sure easier to learn, for schoolkits C# is
definitly better in this situation, because with VB you have plenty of
posibilities to get to the same result and most starting programmers have
much problems with that.

If VB is better than C# is mainly a personal taste, as you are all day busy
as casual as possible to create working business programs, then VB is in my
idea absolute better, because the time you need to make a program is
probably 50% as with C#.
I don't believe that for 1 second. Not one. 50%. LOL.

--
Tom Shelton
Oct 31 '08 #19
On 2008-10-31, Herfried K. Wagner [MVP] <hi***************@gmx.atwrote:
"Michael C" <mi***@nospam.comschrieb:
>Personally for me just having to type all the keywords that are required
in vb is enough to make me prefer c#. eg function, sub, dim, as,
directcast, not, I must type these 1000+ times a day and am really sick of
typing them, especially directcast. :-)

I wonder if you have ever used VB in the VS IDE, as most keywords are
inserted automatically and/or provided in context-aware IntelliSense menus.
The appear in C#'s to. Plus, you don't have to press enter to get your menus
for adding using statements or auto-implementing interfaces or classes. C#'s
IDE is better, IMHO.

--
Tom Shelton
Oct 31 '08 #20
"Herfried K. Wagner [MVP]" <hi***************@gmx.atwrote in message
news:u5**************@TK2MSFTNGP05.phx.gbl...
I wonder if you have ever used VB in the VS IDE, as most keywords are
inserted automatically and/or provided in context-aware IntelliSense
menus.
Yes I have, that's why I know you still need to do a lot of typing. The ones
I particularly dislike are DirectCast and public readonly property x as y. I
know you can use intellisense to shortcut these but isn't it easier just to
not type them as all?

Michael
Oct 31 '08 #21
"Mark S. Milley" <ma*********@binaryswitch.comwrote in message
news:65**********************************@microsof t.com...
Hi Zach -

Over the years, the differences between VB.NET and C# have been slowly
wearing away. There are only a handful of applicable differences now, with
each language having some unique features the other doesn't. I think for
about 90% of projects, you'll never run into these differences.
But the features that C# are missing are not show stoppers. As an example,
in VB you can't use pointers so completely rules out manipulating bitmaps
(or other data) with the same speed as C#. On the other hand I can't think
of a single feature VB has that is a show stopper in C#. Most of the VB
features that people put forward are fairly trivial and can be done other
ways in C#.
The greatest complaint you hear is that VB.NET is much more verbose than
C#.
This is true, but in practice it doesn't matter much. Visual studio fills
in
the code block End X statements so you don't have to type them out.
You still type more in VB. It's the common stuff like dim and directcast
that get in the way.
The second complaint you hear is that VB.NET code is poorly written. I
think
this is unfair.
VB code *can* be poorly written but so can C# code. But the big difference
is that VB.net allows much greater scope for poorly written code especially
with the ability to turn option strict off.
The fact is that VB.NET's verbosity makes it more
approachable to new programmers. Of course these new programmers are going
to make mistakes and have lousy code. But there is nothing intrinsic about
C# that makes the resultant MSIL better.
That is true.
The whole argument is ridiculous. It's like saying that a novel written in
British English is intrinsically better than American English because it
refers to the car's storage area as a "boot" instead of a "trunk".
I disagree with that statement. A better example would be a technical
document written using roman numerials vs decimal.
I can't believe this is still a matter being discussed. This acutally came
up in a conversation I had at lunch recently. I was dining with a young
man
who knew C#. It was the only language he knew. He thought very lowly of
other languages, but when it came down to it, it was really a matter of
him
looking at VB code and being out of his comfort zone.
Just because one person likes c# just because they're comfortable with it
does make that true for everyone. I've certainly done a *lot* more VB than C
style programming over the years. Now that I've used C# since 2001 I realise
it fits much better with my style.
Anyway, that's what it comes down to, IMHO. Just a preference, nothing
more.
There's more to it than that for sure.
It's always a good idea to diversify and learn many languages so you can
fluff your resume a bit, though. Good luck with your training.
That's true although it's best not to put Microsoft Access on your resume
because they might just ask you to do some work in it! :-)

Michael
Nov 1 '08 #22
Tom,

I never discuss about believe.

Lol

Cor

"Tom Shelton" <to*********@comcastXXXXXXX.netwrote in message
news:uC**************@TK2MSFTNGP05.phx.gbl...
On 2008-10-31, Cor Ligthert[MVP] <no************@planet.nlwrote:
>Zach,

VB is the number 1 program language for Microsoft
C++ is the number 2 program language for Microsoft
C# is the number 3 program language for Microsoft.

For a VB6 developper is VB for sure easier to learn, for schoolkits C# is
definitly better in this situation, because with VB you have plenty of
posibilities to get to the same result and most starting programmers have
much problems with that.

If VB is better than C# is mainly a personal taste, as you are all day
busy
as casual as possible to create working business programs, then VB is in
my
idea absolute better, because the time you need to make a program is
probably 50% as with C#.

I don't believe that for 1 second. Not one. 50%. LOL.

--
Tom Shelton
Nov 1 '08 #23
Michael,

I found the reply from Mark very fine. Except the point verbose, because
that is simply not true anymore for the current versions of VB and C#, C#
has in my idea become more verbose than VB, because I know that I have so
much to type in C# what simply is not needed in VB (and I use C# often).

However, as you are writting something in VB then you are probably simple
doing the same things as in C# and types a lot which simple is not needed in
VB (anymore).

Trying to explain this in the line of Marks his reply. How many natural
languages do you speak, by instance as I speak Polish, then I aways use
words as (translated to English), "I", "you", "he". That is not needed in
Polish (like in Italian where I do that by the way the same), probably I do
that in English to with other words, however I don't know that.

Are you sure that you know enough from VB to make those judgements as you
do?

Cor
"Michael C" <mi**@nospam.comwrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
"Mark S. Milley" <ma*********@binaryswitch.comwrote in message
news:65**********************************@microsof t.com...
>Hi Zach -

Over the years, the differences between VB.NET and C# have been slowly
wearing away. There are only a handful of applicable differences now,
with
each language having some unique features the other doesn't. I think for
about 90% of projects, you'll never run into these differences.

But the features that C# are missing are not show stoppers. As an example,
in VB you can't use pointers so completely rules out manipulating bitmaps
(or other data) with the same speed as C#. On the other hand I can't think
of a single feature VB has that is a show stopper in C#. Most of the VB
features that people put forward are fairly trivial and can be done other
ways in C#.
>The greatest complaint you hear is that VB.NET is much more verbose than
C#.
This is true, but in practice it doesn't matter much. Visual studio fills
in
the code block End X statements so you don't have to type them out.

You still type more in VB. It's the common stuff like dim and directcast
that get in the way.
>The second complaint you hear is that VB.NET code is poorly written. I
think
this is unfair.

VB code *can* be poorly written but so can C# code. But the big difference
is that VB.net allows much greater scope for poorly written code
especially with the ability to turn option strict off.
>The fact is that VB.NET's verbosity makes it more
approachable to new programmers. Of course these new programmers are
going
to make mistakes and have lousy code. But there is nothing intrinsic
about
C# that makes the resultant MSIL better.

That is true.
>The whole argument is ridiculous. It's like saying that a novel written
in
British English is intrinsically better than American English because it
refers to the car's storage area as a "boot" instead of a "trunk".

I disagree with that statement. A better example would be a technical
document written using roman numerials vs decimal.
>I can't believe this is still a matter being discussed. This acutally
came
up in a conversation I had at lunch recently. I was dining with a young
man
who knew C#. It was the only language he knew. He thought very lowly of
other languages, but when it came down to it, it was really a matter of
him
looking at VB code and being out of his comfort zone.

Just because one person likes c# just because they're comfortable with it
does make that true for everyone. I've certainly done a *lot* more VB than
C style programming over the years. Now that I've used C# since 2001 I
realise it fits much better with my style.
>Anyway, that's what it comes down to, IMHO. Just a preference, nothing
more.

There's more to it than that for sure.
>It's always a good idea to diversify and learn many languages so you can
fluff your resume a bit, though. Good luck with your training.

That's true although it's best not to put Microsoft Access on your resume
because they might just ask you to do some work in it! :-)

Michael
Nov 1 '08 #24
"Cor Ligthert[MVP]" <No************@planet.nlwrote in message
news:OZ**************@TK2MSFTNGP03.phx.gbl...
Michael,

I found the reply from Mark very fine. Except the point verbose, because
that is simply not true anymore for the current versions of VB and C#, C#
has in my idea become more verbose than VB, because I know that I have so
much to type in C# what simply is not needed in VB (and I use C# often).
There are some cases where VB has the upper hand with regards to typing. The
obvious one is events in C# (creating your own custom events that is) which
can be quite a pain. I also quite like the handles keyword and I'm not sure
it breaks any "sacred oop" rules so could be part of C#. Considering what
they've done with linq I think the handles keyword could be part of C#. But
these features are not really that significant as I don't need to create my
own events all that often and generally the IDE does the hard word with
regards to replacing the handles keyword. Where the real difference is is
with the keywords you use every minute of the day, the big ones for me are
Dim, DirectCast, Public Readonly Property and Function (and possibly some
other common ones).
However, as you are writting something in VB then you are probably simple
doing the same things as in C# and types a lot which simple is not needed
in VB (anymore).
Surely the number of keys you push overall in VB is greater than in C#.
Trying to explain this in the line of Marks his reply. How many natural
languages do you speak, by instance as I speak Polish, then I aways use
words as (translated to English), "I", "you", "he". That is not needed in
Polish (like in Italian where I do that by the way the same), probably I
do that in English to with other words, however I don't know that.

Are you sure that you know enough from VB to make those judgements as you
do?
I did use VB4 to 6 for 10+ years and have been on a VB.net project for the
last 6 months.

Michael
Nov 1 '08 #25
"Michael C" <mi**@nospam.comschrieb
Surely the number of keys you push overall in VB is greater than in C#.
Seems to be the main reason, why VB is casual... VB's IDE/intellisense is
often faster than I am able to think - which is not my personal problem.
In a professional environment, "safety first" rules. Unsafe code in C#,
which I consider the _only_ _main_ difference, is an additional feature,
indeed. However, the customer is not interested in features of the language
whereas he is very well interested in a stable application. I don't think
that unsafe code can make a contribution to that. The opposite is the case.
Armin

Nov 1 '08 #26
"Armin Zingler" <az*******@freenet.dewrote in message
news:%2******************@TK2MSFTNGP04.phx.gbl...
Seems to be the main reason, why VB is casual... VB's IDE/intellisense is
often faster than I am able to think - which is not my personal problem.
On my work PC, which is a celeron 2.6 with 1gb ram, VB struggles.
In a professional environment, "safety first" rules. Unsafe code in C#,
which I consider the _only_ _main_ difference
There is certainly a lot more difference than that. :-)
>, is an additional feature, indeed. However, the customer is not interested
in features of the language whereas he is very well interested in a stable
application. I don't think that unsafe code can make a contribution to
that. The opposite is the case.
Pretty much every single part of windows and 99% of apps on the market are
written in 100% unsafe code. There is nothing to be afraid of and having the
option *when needed* is most definately a good thing.

Michael
Nov 1 '08 #27
"Michael C" <mi**@nospam.comschrieb:
>I wonder if you have ever used VB in the VS IDE, as most keywords are
inserted automatically and/or provided in context-aware IntelliSense
menus.

Yes I have, that's why I know you still need to do a lot of typing. The
ones I particularly dislike are DirectCast and public readonly property x
as y. I know you can use intellisense to shortcut these but isn't it
easier just to not type them as all?
You could still define code snippets ('dc' expanding to 'DirectCast', for
example). In my code I rarely use 'DirectCast', and I consider rare
necessity to use 'DirectCast' a good architecture.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Nov 1 '08 #28
"Michael C" <mi**@nospam.comschrieb:
>Over the years, the differences between VB.NET and C# have been slowly
wearing away. There are only a handful of applicable differences now,
with
each language having some unique features the other doesn't. I think for
about 90% of projects, you'll never run into these differences.

But the features that C# are missing are not show stoppers. As an example,
in VB you can't use pointers so completely rules out manipulating bitmaps
(or other data) with the same speed as C#. On the other hand I can't think
of a single feature VB has that is a show stopper in C#. Most of the VB
features that people put forward are fairly trivial and can be done other
ways in C#.
There are lots of things which cannot be done in C# but are supported by
C++/CLI. So why not use C++/CLI instead of C#?

Pointers are only necessary in very rare cases, and in these rare cases I'd
write a small C# library and add it to the solution.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Nov 1 '08 #29
"Michael C" <mi**@nospam.comschrieb
>Seems to be the main reason, why VB is casual... VB's IDE/intellisense
is often faster than I am able to think - which is not my personal
problem.

On my work PC, which is a celeron 2.6 with 1gb ram, VB struggles.
Maybe with things that C# not even offers.
>In a professional environment, "safety first" rules. Unsafe code in C#,
which I consider the _only_ _main_ difference

There is certainly a lot more difference than that. :-)
No, there is no major difference. I don't discuss few keystrokes. I favor
readable code over typing less. Don't tell me VB code is harder to read
(isn't it for casual programmers?). Due to intellisense and all
automatically inserted code structures, I don't have to type a lot anymore
anyway, so this isn't an issue at all. Maybe you should have a look at the
current version. Intellisense in VB has become great, I'd even say perfect.
I really don't know what could be improved.
>>, is an additional feature, indeed. However, the customer is not
interested in features of the language whereas he is very well interested
in a stable application. I don't think that unsafe code can make a
contribution to that. The opposite is the case.

Pretty much every single part of windows and 99% of apps on the market are
written in 100% unsafe code. There is nothing to be afraid of and having
the option *when needed* is most definately a good thing.
Ok, then we don't need safe code and the whole managed story because
everything else has worked well in the past. Tell it to MSFT. The fact is,
that it did cause a lot of problems. Maybe you've forgotten them, I did not.
Obviously you don't get the point. My customer is not interested in having
unsafe code. He is more interested in having a stable application. This can
not be achieved better by using unsafe code. In addition, in my job, I don't
have to use (unsafe) pointers at all. And I don't know any programmer who
needs them. I do know some of them. So, it is not only sufficient saying
that there is a feature, you also don't have to forget the weighting. So, if
even the major difference is not a big one in practice, there's almost
nothing left.

If I really needed fast bit twiddling, I'd write a C++ DLL. I wouldn't know
why to use C# _only for this purpose_. So, VB offers an overwhelming
productivity, and C++ gives me all low level stuff that I need. I don't see
a reason to use C# - unless you say C#'s unsafe code is more powerful than
C++'s. That would be an absurdity again from you.

It's just ridiculous saying VB is made for casual programmers. This is
trolling. I couldn't earn my money better, faster, easier in C#. Don't
forget that both languages compile to IL code, therefore it's humbug saying
there's a big difference.

There's nothing else I have to add.
Armin

Nov 1 '08 #30
"Herfried K. Wagner [MVP]" <hi***************@gmx.atschrieb
There are lots of things which cannot be done in C# but are
supported by C++/CLI. So why not use C++/CLI instead of C#?
Because C++/CLI programming is horrible. ;) Really. C++ was not made for
this. I mean, it is clearly noticable that it wasn't. Lately, I put a lot of
code back into a VB project and left only the necessary parts in the C++
DLL.

However, #include <d3d9.hdoes not even work in C#, so C# was of no use for
me again and I have to stick with C++/CLR.
Pointers are only necessary in very rare cases, and in these rare
cases I'd write a small C# library and add it to the solution.
Or a C++ library because C#'s low level features are, for sure, not better
than C++'s.
Armin

Nov 1 '08 #31
Interesting. I notice that a very large number of the complaints in this
thread are about the behavior of the IDE, not the features of the languages.
Are we missing the OP's point, perhaps - although I'm far, far from agreeing
with it. If I had wanted to roll a grenade down the table I couldn't have
crafted a better one than his :-)

Tom Dacon
Dacon Software Consulting

"Zach" <zs****@cox.net.nospamwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the .NET
"format", not the standard library/compile to standalone .exe versions)?

I've read discussions in forums and newsgroups from others saying C# is
better than VB for this and that or VB is easier to use (which it is) but
if they're all accessing/using the same .NET runtime then what's the
point? I'm not being cynical; I'm just confused as to why I should bother
learning C# if it isn't better or worse than VB. I'm probably missing
something here and if so I'd really like to know what it is.

Thanks in advance

Zach

Nov 1 '08 #32
Hi Michael -
But the features that C# are missing are not show stoppers. As an example,
in VB you can't use pointers so completely rules out manipulating bitmaps
(or other data) with the same speed as C#.
I have made plenty of applications that have image manipulation needs, and I
have found the graphics classes and routines built into the framework more
than adequate. These drawing routines are available and work at the same
speed whether you are using VB.NET, C#, Cobol for .NET or any other .NET
language. I wouldn't make the assumption that I could create a faster bitmap
routine than the folks at MS in VB.NET, C#, or any other language. This is
not me being an MS fan boy; I can just face the reality that there are a lot
of things that I am good at and can do well, and for other things I'll trust
that the folks at MS have the time, resources, and energy to devote to
researching the best bitmap manipulation approaches.

If you honestly feel that you can manipulate images faster than the routines
built into the framework, then I'll conceed the point. Personally, I have
better things to do with my time, like making sure my applications are
completed on time and under budget.
You still type more in VB. It's the common stuff like dim and directcast
that get in the way.
I meant to mention that I personally find the verbosity beneficial,
especially when revisiting code I haven't looked at in years, or trying to
interpret someone else code--it is inherently self-documenting. Figuring out
which in a long series of what the end brackets are ending which block of
code can be a chore: "which of these five brackets to I have to insert this
line into? Let me scroll up..." I always laugh when I see constructs like
this in "less verbose" C# code:

}//end if
VB code *can* be poorly written but so can C# code. But the big difference
is that VB.net allows much greater scope for poorly written code
especially with the ability to turn option strict off.
Sure, but as per the default installation of VB.NET it's turned ON. You can
also force case-sensitivity, for you folks who claim this is an advantage of
C#. You can also turn these options on or off per file. Honestly, I never
understood this argument--you are saying that having more options is a bad
thing; personally, I feel that this flexibility is just another strength of
VB.
Just because one person likes c# just because they're comfortable with it
does make that true for everyone. I've certainly done a *lot* more VB than
C style programming over the years. Now that I've used C# since 2001 I
realise it fits much better with my style.
That's fine. I've programmed in C#, as well as other syntactically similar
languages such as Java, Javascript, and PHP, and I wish to respectfully
disagree.

Again, I feel this argument is ridiculous, because, ultimately, the bulk of
what we do is calls to the framework. People tend to have go into heated
debates on this subject, when they are comparing apples to apples. I would
understand the level of hostility if we were discussing Java vs. .NET,
ASP.NET vs PHP, or Flash vs Silverlight, but really, we're all users of the
..NET Framework here. This debate is unproductive, and when it comes down to
it, it is a choice that is often made for us; made by the company that we
work for, made by the team we are on, made by the programmer who's code we
are maintaining. Nobody is threatening to take the language away from the
other side.

Again, to answer the asker's original questions, I feel that it's in
everyone's best interest to learn both of the major .NET languages so that
you can easily integrate with any team.

Happy Coding,

-Mark

Nov 1 '08 #33

"Michael C" <mi***@nospam.comwrote in message
news:e5**************@TK2MSFTNGP02.phx.gbl...
"Zach" <zs****@cox.net.nospamwrote in message
news:%2****************@TK2MSFTNGP06.phx.gbl...
>After having taken a looong break from VB (last used 6.0), I started
getting back into programming again, this time with VS 2005. I began
reading up on VB.NET from various sources (books, internet, etc.) and
found out about the CLR and how all of the .NET languages access it, the
major difference being the syntax and structure of the individual
languages. What I'm wondering, since VB.NET is obviously easier to
learn/use than C#.NET and C++.NET, why do these others exist (in the .NET
"format", not the standard library/compile to standalone .exe versions)?

The reason both exist is that they are aimed at different markets. C# is
more aimed at someone who is programming day in and day out while VB is
more aimed at your casual programmer.
VB is aimed at your casual programmer? Damn, I should tell the clients that
pay my consulting fees that I am a casual programmer. HA HA. VB is a great
language and compiles just as fast as C#. Granted you can do some things in
C# that you can't do in VB, but for business programming, VB is the way to
go.

In some cases VB is easier to use than C#
but there a lot of disadvantages with VB. While it has some minor
timesaving examples these are fairly insignificant when you need to use
pointers and are stuck in a VB project (pointers are useful for high speed
bitmap and video stream manipulation. Donet can keep up a fairly high
frame rate and manipulare video in real time).
Most businesses don't use video manipulation so C# isn't needed. You have
no clue what you are talking about. I have many clients that use VB.NET and
they are very successful at using VB. Maybe you just can't learn VB.
Personally for me just having to type all
the keywords that are required in vb is enough to make me prefer c#. eg
function, sub, dim, as, directcast, not, I must type these 1000+ times a
day and am really sick of typing them, especially directcast. :-)
Wow - VB has lots of keywords and C# or C++ doesn't. Let me write that
down.

As for C++ it's there for writing dot net libraries in C++ of course.

Michael

Nov 3 '08 #34

"Michael C" <mi**@nospam.comwrote in message
news:uu**************@TK2MSFTNGP04.phx.gbl...
"Armin Zingler" <az*******@freenet.dewrote in message
news:%2****************@TK2MSFTNGP03.phx.gbl...
>:-D This is one of the funniest statements I've ever read in this group
in
the past years. Hey, another one: C++ was invented for children between 3
and 6. Then they feel bored and upgrade to C#. I'm convulsed with
laughter.

Actually my statement was quite mature and factual. Your statement was
childish. Features such as VB continuously compiling in the backgroup
slows down the development environment. For someone who is programming all
day every day this gets annoying. Especially because corporate users can't
always have the latest PCs due to company policy as when to replace them.
I'm stuck with a celery 2.6 and VB does struggle with it.

What I say makes a lot of sense, the casual programmer likes to see "Dim X
as Integer" spelled out for them, whereas a professional only needs the
basic minimums and doesn't want the hassle of typing keywords all day.
>Zach, C# and VB are very close together. Each has some advantages over
the
other. So, it's mainly a matter of taste. Exceptions prove the rule. You
can
start another long discussion as they have already taken place in the
past
years, or you just can believe me, who writes programs for over 20 years
now, in Assembler, Pascal/Delphi, C#, C++ and several versions of Basic.
Mr.
Michael C seems to be a troll gracing us with his presence lately.

Odd that you call me a troll and then act like a child just because I say
something that you don't want to hear.

Michael
It's not that you act like a child because you say something that he doesn't
want to hear, it's that you are an IDIOT who has no clue what goes on in the
background. VB and C# compile and run in .NET at the same speed.

>

Nov 3 '08 #35
"Lord Fauntleroy" <lo**@fauntleroy.comwrote in message
news:Tl****************@flpi148.ffdc.sbc.com...
It's not that you act like a child because you say something that he
doesn't want to hear, it's that you are an IDIOT who has no clue what goes
on in the background.
When you call someone an idiot in capital letters you should really make
sure you're not proving yourself one. VB compiles in the backgroud after
every change you make so that it can show you errors as you type them. C#
does not show errors until you do a build. This makes C# run faster in the
IDE and is a fact.
VB and C# compile and run in .NET at the same speed.
That is true but that is NOT what I said.

Michael
Nov 4 '08 #36
"Herfried K. Wagner [MVP]" <hi***************@gmx.atwrote in message
news:%2****************@TK2MSFTNGP02.phx.gbl...
You could still define code snippets ('dc' expanding to 'DirectCast', for
example). In my code I rarely use 'DirectCast', and I consider rare
necessity to use 'DirectCast' a good architecture.
How do you get away with that? For example, every time you read from a data
reader you need to use DirectCast. I'm sure there are literally hundreds of
other examples where you need directcast also.

Michael
Nov 4 '08 #37
"Mark S. Milley" <ma*********@binaryswitch.comwrote in message
news:38**********************************@microsof t.com...
I have made plenty of applications that have image manipulation needs, and
I have found the graphics classes and routines built into the framework
more than adequate. These drawing routines are available and work at the
same speed whether you are using VB.NET, C#, Cobol for .NET or any other
.NET language. I wouldn't make the assumption that I could create a faster
bitmap routine than the folks at MS in VB.NET, C#, or any other language.
This is not me being an MS fan boy; I can just face the reality that there
are a lot of things that I am good at and can do well, and for other
things I'll trust that the folks at MS have the time, resources, and
energy to devote to researching the best bitmap manipulation approaches.
The graphics classes are excellent, I agree. But they don't do everything
and I'm suprised you could use them extensively and not run into the need to
do bitmap manipulation directly. For example, there is no facility to run a
simple filter on a bitmap (eg, sharpen or blur).
If you honestly feel that you can manipulate images faster than the
routines built into the framework, then I'll conceed the point.
Personally, I have better things to do with my time, like making sure my
applications are completed on time and under budget.
In some cases doing something myself will be slower but yes, there are cases
where it will be faster. This is not due to a fault in the MS libraries,
they might just have more options built in that I can eliminate in my code.
I meant to mention that I personally find the verbosity beneficial,
especially when revisiting code I haven't looked at in years, or trying to
interpret someone else code--it is inherently self-documenting. Figuring
out which in a long series of what the end brackets are ending which block
of code can be a chore: "which of these five brackets to I have to insert
this line into?
I can't argue that can't sometimes be a problem but it's fairly rare and
often is due to the programmer putting too much code in a single routine.
Let me scroll up..." I always laugh when I see constructs like this in
"less verbose" C# code:

}//end if
I'm not sure why you'd laugh at that. It's great not having to type End If
but in the cases where a comment can help, well, why not have one?
Sure, but as per the default installation of VB.NET it's turned ON. You
can also force case-sensitivity, for you folks who claim this is an
advantage of C#.
Cool, I didn't know that.
You can also turn these options on or off per file. Honestly, I never
understood this argument--you are saying that having more options is a bad
thing;
Abso-flucking-lutely!! Yes, less options is quite often a really really good
thing. In many cases having a greater amount of restriction is what makes
something so great. If you compare ASP code to VB.net then vb.net code is
much more strict. This is a very good and makes vb.net code more robust that
asp code (given that a programmer of equal skill was using both). C# takes
this a step further.
personally, I feel that this flexibility is just another strength of VB.
I disagree, greater restriction is often better.
> Just because one person likes c# just because they're comfortable with
it does make that true for everyone. I've certainly done a *lot* more VB
than C style programming over the years. Now that I've used C# since 2001
I realise it fits much better with my style.

That's fine. I've programmed in C#, as well as other syntactically similar
languages such as Java, Javascript, and PHP, and I wish to respectfully
disagree.
You disagree that C# suits my style better? :-)
Again, I feel this argument is ridiculous, because, ultimately, the bulk
of what we do is calls to the framework.
While that is true, as programmers we spent many hours using the IDE.
According you your arguement you can achieve the same result with notepad so
why not use that?

Michael
Nov 4 '08 #38
Hello Michael,
C# does not show errors until you do a build. This
makes C# run faster in the IDE and is a fact.
And this has been deemed of such little relevance that VS2008 now has a background
compiler for C#

--
Rory
Nov 4 '08 #39
"Rory Becker" <ro********@newsgroup.nospamwrote in message
news:3a**************************@news.microsoft.c om...
Hello Michael,
>C# does not show errors until you do a build. This
makes C# run faster in the IDE and is a fact.

And this has been deemed of such little relevance that VS2008 now has a
background compiler for C#
I don't know about that but the fact remains that the C# IDE is faster. VB
stuggles quite a bit on my celeron 2.6 at work.

Michael
Nov 4 '08 #40
Hello Michael,
I don't know about that but the fact remains that the C# IDE is
faster. VB stuggles quite a bit on my celeron 2.6 at work.
I have no such issues ... I suggest that this is the case for the majority
of people.

The original question regarded the point in the various languages.
I can agree with (I think) only 1 statement in your original passage....
The reason both exist is that they are aimed at different markets.
This is clearly true although, not for the reasons you suggest.

Some people find it easier to read and write VB style code and some people
find it easier to read and write C-Style Code. It's that simple... Just
as some people are more comfortable with a Latin derived languageset and
others are more comfortable with (just for example) an arabic or chinese
character set.

(My appologies if the specifics of my example are offensive to anyone or
if what I view as latin derived, in fact came from elsewhere. The intent
behind my point is still the same)

To the OP:

It comes down to preference. I would argue that those occasions where you
find one language truely lacking in some way compared to the other are less
that 1/2 of a percent.

Language choice should be varied but has nothing to do with how casual a
programmer you are..

You cannot derive programmer compenency or commitment from language choice.
You might just as well decide on the basis of a small sample, that all C#
programmers are close minded morons

*This is clearly not the case*

If confronted with the poor marketing on the page referenced... Microsoft
would spot their blunder and correct it.

--
Rory
Nov 4 '08 #41
"Rory Becker" <ro********@newsgroup.nospamwrote in message
news:3a**************************@news.microsoft.c om...
I have no such issues ... I suggest that this is the case for the majority
of people.
You must have a faster machine I guess. I think a lot of home users have
faster PCs than corporate PCs, this has certainly pretty always been the
case me throughout my working life. I don't really know what else to say, VB
most certainly stuggles on my work PC while C# runs quite well. It's fairly
well know throughout the community that VB is slower because it updates the
error list in real time. I find just typing can be quite sluggish because of
this.
The original question regarded the point in the various languages.
I can agree with (I think) only 1 statement in your original passage....
I don't really expect you to agree that VB is more aimed at casual
programmers but they have taken out advanced features (like pointers and
anonymous methods) and kept all the more begineer features (like option
strict, form instance variables and calling static methods from instance
variables). I really don't want to start a storm in a tea cup but I think
you must be in denial. I mean, for what reason would they add form instance
variables except to target begineers? And for what other reasons would they
not have the advanced features?
You cannot derive programmer compenency or commitment from language
choice. You might just as well decide on the basis of a small sample, that
all C# programmers are close minded morons
And I might conclude that all VB programmers are childish and illogical but
that is clearly not the case. :-)

Michael
Nov 4 '08 #42
Rory,
>
Some people find it easier to read and write VB style code and some people
find it easier to read and write C-Style Code. It's that simple... Just
as some people are more comfortable with a Latin derived languageset and
others are more comfortable with (just for example) an arabic or chinese
character set.

(My appologies if the specifics of my example are offensive to anyone or
if what I view as latin derived, in fact came from elsewhere. The intent
behind my point is still the same)
People who are speaking non Latin languaes can maybe see this as offensice.
I assume you are somebody who is natively speaking one of the Latin derived
languages as Spanisch, Italian, Rumish, Rumunian, Portugese or French.

However, maybe do I make a mistake and you simply forgot by instance people
who are speaking Germanic languages (in that catogory fits English) and
Slavic languages.

:-)

Cor
Nov 4 '08 #43
Michael C wrote on an answer to Mark S. Milley:
<snip>
The whole argument is ridiculous. It's like saying that a novel written in
British English is intrinsically better than American English because it
refers to the car's storage area as a "boot" instead of a "trunk".

I disagree with that statement. A better example would be a technical
document written using roman numerials vs decimal.
</snip>

Wow, look who's being childish now... You're pushing it too hard, it
seems. I can't believe you really think so low of the language that
you used for so many years (according to yourself) and probably earned
your living for a long time...

Anyway your comparison seems completely off and far from the truth,
even purposely offensive... How about this: "A better example would be
a technical document written using"... decimal numbers vs.
hexadecimal.

In other words, both are two very capable numbering systems, but the
first one is obviously easier to read than the second (which becomes
irrelevant when you become very good with hexadecimal numbers, but
that may take a while).

Regards,

Branco.
Nov 4 '08 #44
Michael C wrote answering Armin Zingler:

<snip>
Obviously you don't get the point. My customer is not interested in having
unsafe code. He is more interested in having a stable application. This
can
not be achieved better by using unsafe code.
<snip>
BTW, I think you're misunderstanding the point of safe code. It's there so
that users can restrict an untrusted app from doing things they don't want
it to do. ie it's there for security. It doesn't magically make your app
less buggy, you can still write buggy safe or unsafe code.
Sorry to disagree, and correct me if I'm wrong, but the restriction on
unsafe code has *everything* to do with pointer errors, and thus,
unstable (even unsecure) apps. Maybe you didn't notice it in all your
years of programming (from inside the safety net provided by VB
classic -- <<sarcastic smile here>>), but most bugs and security
breaches used to come from bad use of pointers in C/C++.

Regards,

Branco.
Nov 4 '08 #45
Hello Branco,
Anyway your comparison seems completely off and far from the truth,
even purposely offensive... How about this: "A better example would be
a technical document written using"... decimal numbers vs.
hexadecimal.

In other words, both are two very capable numbering systems, but the
first one is obviously easier to read than the second (which becomes
irrelevant when you become very good with hexadecimal numbers, but
that may take a while).
I like that..... Seems much more reasonable.

--
Rory
Nov 4 '08 #46
"Michael C" <mi**@nospam.comschrieb:
>You could still define code snippets ('dc' expanding to 'DirectCast', for
example). In my code I rarely use 'DirectCast', and I consider rare
necessity to use 'DirectCast' a good architecture.

How do you get away with that? For example, every time you read from a
data reader you need to use DirectCast. I'm sure there are literally
hundreds of other examples where you need directcast also.
Casts can fail and thus they should not be necessary at all if possible.
Types should be checked at compile time to prevent such problems. BTW, I
have never used the data reader.

Take the introduction of generics as an example to reduce the number of
(problematic, because they cannot be checked by the compiler) runtime casts
('ArrayList' vs. 'List(Of T)').

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Nov 5 '08 #47
"Herfried K. Wagner [MVP]" <hi***************@gmx.atwrote in message
news:Ou**************@TK2MSFTNGP02.phx.gbl...
Casts can fail and thus they should not be necessary at all if possible.
Types should be checked at compile time to prevent such problems. BTW, I
have never used the data reader.
You simply can't avoid a cast when retrieving data from the database. At
some point you need to cast whether you are using generics, typed data sets
or a data reader. If someone changes a stored proc to return a varchar
instead of an int then you are going to (and should) get an error.
Take the introduction of generics as an example to reduce the number of
(problematic, because they cannot be checked by the compiler) runtime
casts ('ArrayList' vs. 'List(Of T)').
I understand you can reduce a lot of casts this way but there is still a lot
of need to use them when talking to a database.

Michael
Nov 5 '08 #48
"Branco Medeiros" <br*************@gmail.comwrote in message
news:c4**********************************@r36g2000 prf.googlegroups.com...
Wow, look who's being childish now... You're pushing it too hard, it
seems.
I'm just emulating what was said to me. Basically I was imating someone's
childishness to show them how childish they were being.
I can't believe you really think so low of the language that
you used for so many years (according to yourself) and probably earned
your living for a long time...
Who said I think lowly of it? I just think that C# is a better option and
that it is more aimed at the professional. I don't think that's the
criticism that many here think it is. I consider it more a statement of fact
in the same way I'd say squash is a less popular game than tennis, even
though I prefer squash.
Anyway your comparison seems completely off and far from the truth,
even purposely offensive... How about this: "A better example would be
a technical document written using"... decimal numbers vs.
hexadecimal.

In other words, both are two very capable numbering systems, but the
first one is obviously easier to read than the second (which becomes
irrelevant when you become very good with hexadecimal numbers, but
that may take a while).
Both languages are very capable and can do similar things and I don't
consider C# to be hugely better than VB. At the same time the difference is
not insignificant and C# is significantly better for full time programmers
imo. This isn't because it's VB, it's because of the stupid decisions that
Microsoft have made. Personally I think they intentionally stuffed up
intellisense.

Michael
Nov 5 '08 #49
"Branco Medeiros" <br*************@gmail.comwrote in message
news:5b6c5eb3-47d2-4757-80e2-
Sorry to disagree, and correct me if I'm wrong, but the restriction on
unsafe code has *everything* to do with pointer errors, and thus,
unstable (even unsecure) apps. Maybe you didn't notice it in all your
years of programming (from inside the safety net provided by VB
classic -- <<sarcastic smile here>>), but most bugs and security
breaches used to come from bad use of pointers in C/C++.
We've had the ability to write pointer free (hence supposedly buffer overrun
safe) code for years in VB6 and other high level languages. I think the idea
with .net was to give the user (or admin) the ability to decide whether safe
or unsafe code is run.

Michael
Nov 6 '08 #50

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

220 posts views Thread by Brandon J. Van Every | last post: by
16 posts views Thread by Jason | last post: by
7 posts views Thread by Aguilar, James | last post: by
121 posts views Thread by typingcat | last post: by
8 posts views Thread by Midnight Java Junkie | last post: by
669 posts views Thread by Xah Lee | last post: by
17 posts views Thread by Grizlyk | last post: by
2 posts views Thread by Carl Johansson | last post: by
reply views Thread by gheharukoh7 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.