VB or C#

J

Jon Skeet [C# MVP]

If you do not need to recompile (which is quite possible) it does not matter
which you use since mono can run the il produced by the vb.net
compiler.

Only as long as all of the VB.NET functions you've used from the
Microsoft.VisualBasic assembly are supported - I believe that these
days most are supported, but I suspect some aren't. That's another
reason it's harder to support VB.NET on other platforms than C# - you
can't really claim full language support without supporting all of the
"extra" functions.
 
C

Cor Ligthert [MVP]

Jon,

Beside things as indexed properties there are not much things that differs.
However, for most VB.Net developers is the background compiling and what is
done with that automaticly very important.

I don't feel the difference if I am busy with VB.Net or C#. I miss in C#
handy things as by instance to stop the debugger in C# conditional which is
in VB.Net very easy (so an indirect question to you) for the rest I do not
even feel the difference. Althouhg VB.Net is still my favorite because of
those things I wrote in my first sentence. (Beside that I hate that I have
to write that not needed "DIM")

Cor
..
 
J

Jon Skeet [C# MVP]

Cor Ligthert said:
Beside things as indexed properties there are not much things that differs.
However, for most VB.Net developers is the background compiling and what is
done with that automaticly very important.

I don't feel the difference if I am busy with VB.Net or C#. I miss in C#
handy things as by instance to stop the debugger in C# conditional which is
in VB.Net very easy (so an indirect question to you) for the rest I do not
even feel the difference. Althouhg VB.Net is still my favorite because of
those things I wrote in my first sentence. (Beside that I hate that I have
to write that not needed "DIM")

None of that is relevant to the effort required to port a language to a
different platform, however, which was the topic of my post. You don't
just need to create a compiler, you need to add a fair amount of
framework support.
 
C

Cor Ligthert [MVP]

Then I have really the idea that Jon knows something he can tell me, than he
gives an answer which what I cannot do anything. So to be implecit, what is
the C# equality for the VB.Net stop command?

Thanks in advance.

Cor
 
B

Brian Gideon

Cor,

C# doesn't have an equivalent to VB.NET's Stop statement.
System.Debugger.Break does the same thing without polluting the
language with unneeded keywords.

Brian
 
C

Cor Ligthert [MVP]

Brian,

Thanks,

Cor

Brian Gideon said:
Cor,

C# doesn't have an equivalent to VB.NET's Stop statement.
System.Debugger.Break does the same thing without polluting the
language with unneeded keywords.

Brian
 
C

clintonG

If you're going to be a web developer learning C# is the better choice
because the syntax is exactly the same as JavaScript and the grammar is
similar. The same is true when comparing C# and the Java language. There's
no such thing as a competent web developer that does not know how to code
using JavaScript and there's nobody who can honestly say JavaScript is not
required to master web development.

You can actually learn three languages for the price of one: JavaScript, C#
and Java. Then you apply the language to the .NET Framework. Its true that
the framework makes using different languages -- mostly equal to one
another -- but the white lie from those that support VB is the fact that
what they say is only partially true on the server because language features
leap frog one another all the time. So at any given point in time VB may
support more features and be optimized at a greater level than C# or C# may
have an edge for some time and VB will lag behind -- BUT -- those concerns
are only relevant for server-side code. Web developers also have to master
cleint-side code and that requires learning JavaScript. In fact the entire
web has for all intents and purposes become all about client-side JavaScript
at this point in time.

The people who support VB or those that babble about the languages being the
same keep forgetting to mention these facts.

Learn JavaScript and C#.

<%= Clinton Gallagher
NET csgallagher AT metromilwaukee.com
URL http://clintongallagher.metromilwaukee.com/
MAP 43°2'17"N 88°2'37"W : 43°2'17"N 88°2'37"W
 
C

Cor Ligthert [MVP]

clinton,

You probably never have created as Webdevelopper an ASP page, which is
always loaded with VBS.

And because that this are Microsoft newsgroups and not Linux newsgroups it
the change that somebody who ask here a question is as webdeveloper more
familiar with ASP.

Beside that do I find it really a pity that you are using C# as JavaScript.
JavaScript is seldom OOP used, this can as well with C#, however with that
you are in my idea misusing the language.

(Almost everything you can do with C#, you can do with VB.Net by the way
especially when it is about webdevelopment, the last weeks are there more
enthusiast messages in the vb newsgroup from people using VB.Net while using
before other languages as C++ about the possibilities and performance
results with that language).

Just as answer on your reply. Beside the in my idea better VB.Net IDE, I
don't have any preference in both languages.

Cor
 
C

clintonG

Cor, Cor, Cor, you ignorant slut (that is a joke from an old TV show)

First of all, I have been writing code since the mid 1980s using BASIC,
Fortran, and C on DOS and Unix machines. I never really did well at it --
very poorly in fact -- and I didn't take coding seriously until I started
getting serious about web development.

After about 10 years of administration experience and the explosion of
growth of the Amiga, Mac, DOS/Windows and Unix OS systems I was supporting I
was no longer able to cope. Since I was working as an architect I decided to
focus on the Windows platform because we used DOS and Windows almost
exclusively because CAD was the fundamental application used by the AEC-CAFM
disciplines. The Mac was used a lot in those days too but most CAD vendors
dumped the Mac because it was a dog compared to the PC. Those were the days
when a 10 MB hard drive cost more than $3,000 US and a box of 3.5" floppies
was more than $80 US. You were probably still wearing diapers :)

So when the web came around I started getting serious about coding. Since I
was a "Microsoft guy" I naturally used ASP/VBScript, JavaScript and of
course CSS which I note has syntax also derived from the legacy syntax of
the C programming language. I wrote all HTML and code by hand because I had
already learned the pitfalls of push-button monkey coding and how it
cripples a would-be web developer. I developed solutions for both intranet
and internet websites.

When the .NET Framework was released I started using VB.NET but then I had
what is called an epiphany (that word is in the dictionary). In case you
don't understand big words it means I pulled my head out of my @ss, took a
breath of fresh air and realized what a lame mistake I had made because half
of web development is done on the server and the other half is done on the
client and the half done on the client requires the use of JavaScript which
has been derived from C.

So I have to tell you Cor I enjoy arguing with you now and then but I have
to ask you to pull your head out of your @ss because you just don't know
what you're talking about when you criticize me. Furthermore, you seem to
have misunderstood what I said. I know you are learning English and words
and phrases may not make sense sometimes so just remember, I still love you
even though you have your head stuck up your @ss but it really is much nicer
out here where there is fresh air. The fresh air helps people think clearly
and understand why it is wiser and more efficient to do web development
using C#. So I'll repeat it again...

Half of web development is done on the server using C# and the other half is
done on the client using JavaScript so why use different languages with
different syntax?

The English word that will help you understand is the word "pragmatism."
Although it has several meanings, when you look it up in a dictionary and
cross reference how the word is used by those speaking and writing the
contemporary form of the English language you will understand why it is
pragmatic to learn three languages for the price of one. After all, isn't
that why you are trying to learn English? So you can speak and write with
others in many other nations?

Just think how small your world would be if you could only speak and write
in Dutch (which I'm assuming is your native language). The same pragmatic
principle works with programming languages. It is pragmatic to learn
languages that derive from the legacy of the C programming language because
doing so allows a developer to speak and write to many platforms.

Have a nice day over there...

<%= Clinton
 
C

Cor Ligthert [MVP]

Clinton,


I am smiling now; I am glad that you think I am so young, so I leave you in
that delusion

You write about "pragmatism" as an English word and state a complete message
on it, maybe should you investigate something first before you write it. The
same is in fact for almost all what you wrote beside the things about
yourself, those I cannot check.

It is not only that I can speak with people in English, I can speak more
languages. That writing a language is much more difficult than speaking or
reading, is something people who are only able to speak the language they
learned at their mothers tit, is something those people don't understand.
They are often glad when they can speak 10 words in another language.

But your message was funny to read and I am glad about your compliment that
my behaviour makes that you have the idea that I am so young.

That your tone from the message is in a way you never will see me done, is
something I forgive you. If that is the only language you learned than you
cannot help that.

:)

Cor
 
K

Kevin Spencer

Hi Cor,

While Clinton's remarks are unkind, he is correct about the usefulness of
learning C# if one is going to be a web application developer. Clinton is a
self-described "curmudgeon," but he is truly often helpful, and I know that
he is motivated by kind intentions.

Your response which I (and probably Clinton, although I can't speak for him)
take issue with is this:

Now, I have some trouble parsing your messages, but I get better at it with
practice! If I understand you correctly, this statement is incorrect.
ASP.Net is a web application technology, used about 95% of the time to
develop ASP.Net web pages, which generate HTML and have a client-side and a
server-side aspect to them. In fact, there is little that one can do on the
client side without JavaScript, and the ASP.Net programming model makes
liberal use of it, particularly for event-handling, but also for other
purposes. In a web application of any size and/or complexity, it is vital
for the developer to be familiar with not only the server-side programming
language used, but all of the client-side technologies as well, including
(but not limited to) HTTP, HTML, CSS, and yes, JavaScript. Only IE supports
client-side VBScript.

Clinton is also correct in pointing out that C# and JavaScript use the same
syntax, almost entirely. And he is correct in that if you learn C, C++, C#,
Java, or JavaScript, you have learned the syntax to all of these. As a side
note, you have also learned the syntax for DirectX High-Level Shader
Language (HLSL). So, that makes 6 languages for the price of one. And that
is a compelling reason, if one is learning this stuff for the first time, to
begin with C#.

Now, you are correct in that most ASP.Net developers currently came from an
ASP background, and are familiar with VBScript already, which makes it
easier for them to transition to VB.Net than C#. For these people, VB.Net is
often useful. But the OP is not a seasoned ASP developer. He is just
starting out. So, I have to agree with Clinton that, under the
circumstances, taking a good look at learning C# would make sense.

--
HTH,

Kevin Spencer
Microsoft MVP
Software Composer
http://unclechutney.blogspot.com

A watched clock never boils.
 
C

Cor Ligthert [MVP]

Kevin,

My first reply to Clinton was only trying to do it in a way as Clinton does
it in my idea often himself. See his reply to me. He did not understand that
I was doing that. :). I certainly did not mean it exactly as I wrote,
therefore I have seen too many messages from Clinton.

In my idea I am very well (already for a very long time) handy with
JavaScript, but with that you don't learn OOP (which you in my idea for sure
will agree seeing our last discussion in this newsgroup) which is much more
important than writing a semicolon or whatever.

(I cannot get the right other word for that discussion in any language
because it was not a discussion, maybe elaborating)

If you use than C# or VB.Net is in my opinion than not so important, for
VB.Net speaks in my idea that it has a much more educational IDE because it
is helping you better and quicker to correct your mistyping's
(backgroundcompiling) and is easier to find the classes with the
intellisence (I use both languages). You see direct what you are doing
wrong. For C# speaks in my idea, that you have not so many keywords and
methods which overlaps each other in fact, as in VB.Net.

Cor
 
C

clintonG

People who have argued their point unsuccessfully always try to change the
subject.

Because a programming language can be used to conform to a specific
programming methodology has nothing to do with the question that was asked.

Nobody asked how to learn OOP Cor so there's no need to talk about it but if
you do want to talk about it and compare VB.NET to C# when learning OOP
everybody I know that also knows VB.NET -- including myself -- consider
VB.NET a sloppy language that makes OOP read more like POOP.

Finally, you don't know what you're talking about again which is typical.
JavaScript does in fact support OOP however not as robust or as elegant as a
language such as C#. In fact JSON is becoming quite popular for this reason.

Hi to Kevin and bye-bye I'm through with this topic...

<%= Clinton
 
M

milimol

Brian said:
Cor,

C# doesn't have an equivalent to VB.NET's Stop statement.
System.Debugger.Break does the same thing without polluting the
language with unneeded keywords.

Brian

Wow - quite a lot of bigotry here!

I've worked in both languages - variants of C (yes, I'm ancient) and VB
since the 16 bit days (a la VB3).

Honestly, the entire discussion of porting to other platforms is
superfluous. 90% of the work done in the US today is targeted at a
specific platform and never migrates. Since VB syntax is more readily
understood than C# (to the untrained eye), it is slowly becoming the
language of choice for most new projects. Yes, you can make more $$$
writing C#, but those days are quickly drawing to a close as well since
VB is catching up in terms of breadth of functionality. Coupled with
the tight integration with T-SQL through the CLR in the latest set of
tools (SQL Sever 2005 and VS 2005) you can capture all three major
tiers with a single language.

If you want to learn a language, take the VB route. It will be less
painful for a non-programmer and more intuitive. There's no
substitute, though, for the "homework" - that is - the grasp of
process, before you jump into any serious programming mode. You can be
a savante in VB or C#, but if you don't understand patterns, OOP and
methodolgies, you won't write functionally efficient code.

Besides, if you go VB, you'll become a M$FT junkie more quickly...
 
J

Jon Skeet [C# MVP]

Honestly, the entire discussion of porting to other platforms is
superfluous. 90% of the work done in the US today is targeted at a
specific platform and never migrates. Since VB syntax is more readily
understood than C# (to the untrained eye), it is slowly becoming the
language of choice for most new projects.

<snip>

Do you have any evidence for saying it's becoming the language of
choice for new projects? (I don't have any contrary evidence, but I'm
wary of asserions like this being made without evidence.)

Do you just mean projects which are being developed by relatively
junior developers? That's the only time when the "untrained eye" is
particularly relevant, after all.
 
C

Cor Ligthert [MVP]

Jon,

Again you put a reply out of its context.

It was an answer on the message where in the main thing was.
the same thing without polluting the language with unneeded keywords.

I think it is not up to a C# biased person, to tell what is wrong in VB.Net;
those who are using VB.Net do it themselves. VB.Net developers give seldom
comments on the C# language. VB.Net developers are mostly professionals
telling what is good or bad about their tool.

In my experience it are mostly beginners who tells shortcomings from other
tools.

I hope that you are able to understand what I want to say with this message.
If you don't understand it, than it is not a language problem, but something
else

Cor
 
K

Kevin Spencer

Since VB syntax is more readily
understood than C# (to the untrained eye), it is slowly becoming the
language of choice for most new projects.

I have to take issue with these 2 comments. First, the fact that a
programming language is more readily understood "to the untrained eye"
(which I do not disagree with) is no recommendation for its use. Instead, it
implies that the language enables "untrained" developers to produce
software. How can this be a good thing? From my experience, I have seen (and
worked on) quite a bit of poor VB and VB.Net code written by people who are
paid to do it. IMHO, one of the benefits of the C family of languages is
that the code looks more like what it is - logic and mathematics. It
requires and encourages a deeper understanding of both disciplines to use.
At any rate, it can hardly be said that this characteristic of the VB
language is beneficial. Note that physicians have not "dumbed down" the
terminology they use in their practice. Would you go to a physician who
couldn't understand Latin?

As for the assertion that "it is slowly becoming the language of choice for
most new projects," show us some statistical evidence to back up that claim.
Otherwise, it is simply rhetoric, and weakens your argument, since this is
not a political forum.

--
HTH,

Kevin Spencer
Microsoft MVP
Software Composer
http://unclechutney.blogspot.com

A watched clock never boils.
 
B

Brian Gideon

milimol said:
Wow - quite a lot of bigotry here!

I don't know, I guess you're referring to my assertion that a stop
statement is unnecessary, but I didn't see that anyone presented
contrary arguements for me to even be intolerant of. Do you think C#
would benefit from a stop statement similar to VB.NET? If so then tell
us why.

Brian
 
J

Jon Skeet [C# MVP]

Cor Ligthert said:
Again you put a reply out of its context.

It was an answer on the message where in the main thing was.


I think it is not up to a C# biased person, to tell what is wrong in VB.Net;

I don't see why not.
those who are using VB.Net do it themselves. VB.Net developers give seldom
comments on the C# language.

I've seen plenty of criticism that way, actually. Sometimes it's valid,
sometimes it's not. The fact that it comes from a VB.NET developer is
irrelevant to me.
VB.Net developers are mostly professionals telling what is good or bad about
their tool.

So why shouldn't C# developers say what they don't like about a
language? I don't believe in stifling discussion - as far as I'm
concerned, a criticism's validity is based on its content, not who's
saying it.
In my experience it are mostly beginners who tells shortcomings from other
tools.

That's as may be, but it certainly doesn't mean that experienced people
shouldn't comment based on principles.
I hope that you are able to understand what I want to say with this message.
If you don't understand it, than it is not a language problem, but something
else

I think I understand you, but I disagree with you completely.
 
C

Cor Ligthert [MVP]

Brian,

I was only curious if it was there, if it was, it could be handy; if it is
not there, it is not something I miss.

I get the idea that you (and mabye Jon because he did not answer) think that
I asked that to show that C# has something not that is VB.Net. That did
completely not come into my mind until now.

Cor
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top