From VB to c#

  • Thread starter Thread starter Peter
  • Start date Start date
P

Peter

I am wondering if I should turn to C# from VB. How long will this turning
cost for an ordinary man?

Thanks for any response,

Peter
 
Depends on how much Framework code you currently used in your projects

a progger with a lot of experience can code in anny language , you just have
a preference ( i can code XXX times faster VB as i can C++ , C# , Java etc
etc )
:-)
 
Peter said:
I am wondering if I should turn to C# from VB. How long will this
turning cost for an ordinary man?

Don't do it. You will get lost in an ancient, case sensitive language.
(That's my personal opinion and you will get 1001 that are different)


Armin
 
I am wondering if I should turn to C# from VB. How long will this turning
cost for an ordinary man?

Thanks for any response,

Peter

A "drastic"answer would be:

Dear Microsoft,

please, include pointers and unsafe code into VB too, make "Dim"
optional,
and flush away c# , c++

:-))

T

PS
no flames plz :-)
 
The more languages you know, the better off your team will be. I would
recommend a knowledge of at least both languages is a must these days.
 
Armin said:
Don't do it. You will get lost in an ancient, case sensitive language.
(That's my personal opinion and you will get 1001 that are different)


Armin

Do it.

You are currently lost in an ancient* language intended for beginners**.

* BASIC was developed in 1964.

** BASIC is an acronym for Beginner's All-purpose Symbolic Instruction Code.

:)
 
Göran Andersson said:
Do it.

You are currently lost in an ancient* language intended for
beginners**.

* BASIC was developed in 1964.

Cars have been developped in the 19th century.
** BASIC is an acronym for Beginner's All-purpose Symbolic
Instruction Code.

:)

So what? Don't judge by it's name.


Armin
 
Peter said:
I am wondering if I should turn to C# from VB. How long will this turning
cost for an ordinary man?

I strongly advice you learn programming in C# also. Regardless of the
language that you choose to use in the end, you will get:

:: A better understanding of the framwork.

:: A better understanding of how VB.NET really works.

:: The ability to understand examples written in both VB.NET and C#.


The C# language has half as many keywords as VB.NET, so expect it to be
easier to learn. The object orientation works the same as in VB.NET, and
all of the framework is the same, so it's pretty much just the syntax
that you have to learn, and perhaps some VB-quirks that you have to
un-learn. :)
 
Armin said:
Cars have been developped in the 19th century.

C# was developed in the 21th century.
So what? Don't judge by it's name.

That's not just the name. That's fundamental idea behind the language.
 
Göran Andersson said:
C# was developed in the 21th century.

So it hasn't been around long enought to be proven anything more than a passing fad.
That's not just the name. That's fundamental idea behind the language.

And C# is just a BASIC version of C++.
 
Göran Andersson said:
C# was developed in the 21th century.

VB.Net was developed in the 21th century.

But you didn't get the point: Cars are not ancient just because they've been
invented a long time ago. Just like VB.Net is not ancient because it's
pre-pre-decessor has been invented in 1964. Maybe you haven't had a a look
at the current VB.Net release, yet.

C# is ancient because case-sensitiveness has no right to live in 2007. Think
philanthropically. Or how do you pronounce the difference between the
"Thing" and the "thing"? Computers should be adapted to humans, not the
other way round. That's why I use BASIC.

That's not just the name. That's fundamental idea behind the
language.

Right for 1964. Wrong for VB.Net.


Armin
 
Depends on how much Framework code you currently used in your projects

Yes, you must read this as "are you programming vb.net with old vb6
function? you'll take months and you won't understand the OOP. Are you
writing vb.net using the new framework power? a couple of days and you'll
read c#".

:)

This is what I think as a old lover of VB6.
 
Don't do it. You will get lost in an ancient, case sensitive language.
(That's my personal opinion and you will get 1001 that are different)

This is a really child-answer.
When I worked (and I loved it) with VB6 I thinked "how can c++ programmers
work with casesensitive languages?".
Today I passed to c# and the casesesitivity of c# was immediatly ignored for
some reasons:
- there are some guidelines that let you ALWAYS know what you have to write.
- the IDE (VS, #D, ...) help you drastically showing you what you have to
write.
- thanks to the previous point you may write a program replacing the SHIFT
key with the SPACE/ENTER/( keys in the intellisense.

Now I write in all VB.Net an C# and prefere C# because is really clear to
read... a

public int X
{
}

is a little more simple that

Public Propety X As Integer
End Property
 
Armin said:
VB.Net was developed in the 21th century.

But the language VB is much older.

Unlike C#, that was developed for the .NET platform, VB.NET is an
adaption for the .NET platform of an existing language.
But you didn't get the point: Cars are not ancient just because they've
been invented a long time ago. Just like VB.Net is not ancient because
it's pre-pre-decessor has been invented in 1964.
Maybe you haven't had a a look at the current VB.Net release, yet.

Of course I have. Eventhough I don't use it myself, I regularely answer
questions about it.
C# is ancient because case-sensitiveness has no right to live in 2007.
Think philanthropically.

I fail to see how that has anything at all to do with philanthropy.
Perhaps you mean user-centered?
Or how do you pronounce the difference between
the "Thing" and the "thing"? Computers should be adapted to humans, not
the other way round. That's why I use BASIC.

Programming is such a computer-centered task anyway, so making it case
insensetive doesn't really make is more user-centered.
 
This is a really child-answer.
When I worked (and I loved it) with VB6 I thinked "how can c++ programmers
work with casesensitive languages?".
Today I passed to c# and the casesesitivity of c# was immediatly ignored for
some reasons:
- there are some guidelines that let you ALWAYS know what you have to write.
- the IDE (VS, #D, ...) help you drastically showing you what you have to
write.
- thanks to the previous point you may write a program replacing the SHIFT
key with the SPACE/ENTER/( keys in the intellisense.

Now I write in all VB.Net an C# and prefere C# because is really clear to
read... a

public int X
{

}

is a little more simple that

Public Propety X As Integer
End Property

I wouldn't mention that. Pehaps you will be able to say that
the day that "With" arrives to c# too !

In the meantime I would not bring out this argument.

There are only a few limited applications which justify the use of
of that masochistic environment nowadays.
And for those you can write small libraries. No problem.

For the rest the c# IDE is just "crap" as someone (not me)
as already defined it *comparing* it to the vb's.

You do in 10x what can be done in x.

:-)

T
 
Armin,

Don't pay attention to Goran, he is a lover of C# (you won't believe it) in
my eyes even more than Jon Skeet. He comes often over here and tells than C#
rules in this newsgroup, while Jon avoid that already for years.

Goran certainly knows a lot of Net and C#, however is not able to think that
VB.Net has many things better than C#, because those are never in his focus.

Basic was the first program language of Microsoft, in my idea is the
grandchild VB.Net still the best program language of Microsoft.

Business wise I write a lot of C# however am forever glad when I can use
VB.Net, all was it only that I don't have to build to see all my typing
errors.

Good answer by the way..

Cor
 
Göran Andersson said:
But the language VB is much older.

The language C is much older, too. :)
Unlike C#, that was developed for the .NET platform, VB.NET is an
adaption for the .NET platform of an existing language.

Same for C#. If C# was completely new, there was no need to put
case-sensitivity in again. What for? There's no need to have it. It's not
even CLS compliant (IIRC). So it's only there for C historic reasons. No
practical usefulness.

What do you say to VB6 programmers that complain that, in VB.Net, everything
has changed and nothing is like before? Maybe because VB.Net has been built
from the ground up? (even though I know that some things are considered
"legacy" features).

I fail to see how that has anything at all to do with philanthropy.
Perhaps you mean user-centered?

Isn't it also part of a development that also includes ergonomic design and
adapting machines to human beings, which is considered a philantrophic
approach?
Programming is such a computer-centered task anyway,

Programming is done by humans. Therefore it is a human-/user-centered task.
Identifiers have been invented for humans, not for computers.
so making it
case insensetive doesn't really make is more user-centered.

IMO, it does, because the user/programmer doesn't have to care about it
anymore.


Finally, I don't think that programming is human friendly in any case. :-)
Not as long as having a machine do a simple thing requires so many words.


Armin
 
Do you mean that you can do with C# half as much as in VB.Net?

Cor

I think he is referring to the verbosity of Visual Basic compared to
C#.

i.e.

Public Overriderable Property MyProperty() As String
Get
...
End Get
Set (ByVal value As String)
...
End Set
End Property

Can be written in C# as:

public virtual string MyProperty {
get {
...;
}
set {
...;
}
}

Thats 18 words in Visual Basic versus 6 words in C#.

Which is better? Who cares!

I don't pick a language based on verbosity or case-sensitivity or if I
have to terminate each line with a semi-colon. I pick a language based
on the features of the language that are going to benefit me the most
in the project.

For example, if I'm going to do a lot of string to number conversions
I would use VB for the IsNumeric and CInt keywords which aren't
present in C# (yes the functionality is there, but it's not nearly as
easy to use as in VB). Similarly, I would pick C# if I plan on wiring
up a lot of events and/or delegates since I prefer the C# syntax
(myButton.Click += new EventHandler(MyHandler);) to the syntax Visual
Basic uses (AddHandler myButton.Click, AddressOf MyHandler)

Overall it's a personally preference - most people in this group will
argue that VB is better. Just like if this were a topic in the C#
group the opinions would all be that C# is the way to go. This topic
is almost as futile as arguing that a Porsche is better than a BMW -
both cars have a huge following that will never be convinced that the
other is better - no matter what features each car includes.

Thanks,

Seth Rowe
 
Cor Ligthert said:
Armin,

Don't pay attention to Goran, he is a lover of C# (you won't believe
it) in my eyes even more than Jon Skeet. He comes often over here
and tells than C# rules in this newsgroup, while Jon avoid that
already for years.

Goran certainly knows a lot of Net and C#, however is not able to
think that VB.Net has many things better than C#, because those are
never in his focus.

Thanks for the information. Wasn't here for some month, as you know. :)
Basic was the first program language of Microsoft, in my idea is the
grandchild VB.Net still the best program language of Microsoft.

Business wise I write a lot of C# however am forever glad when I can
use VB.Net, all was it only that I don't have to build to see all my
typing errors.


Just to make it clear:
I don't think that C# is the "worse" language. Both languages have it's
benefits and drawbacks. Everyone should choose his favorite, mainly
depending on what language he used before (C++/VB6). It's just the point
that case-sensitivity affects /my/ everyday's programming and typing to such
an extent that it is an exclusion criterion for the whole language (for me).
(just like the ";" at the end of each line...). I did not much C
programming, but whenever I did it, the most time I spent was cOrreCting ThE
CaSe. It s***** too much. Because this is such a very basic feature of the
language, I decline it completely.

Well, there's intellisense and auto-complete in C#, too, but in C# 2003 it
was much less powerful than in VB 2003, therefore I still had many problems.
Maybe this has changed in the C# 2005 IDE, but AFAIR the very few times I
used C# 2005 (Express), it was still not as good as in VB.Net.
Good answer by the way..

Thanks. :)


Armin
 
Back
Top