C# developers going back to vb.net

A

apm

But I can't help wondering if ex vb6 developers now working in C# would
be more productive going back to vb.net for this exact same reason. I
know I am.

What about bugs. Isn't VB.NET different from VB? I know when I went from
Visual C/C++ to C# I had problems because I expected code that looked the
same would behave the same in the two languages.

Similarly, I had few problems with memory leaks with Visual C/C++ but
terrible problems with C++.NET, that is, until I learned how to use it.
 
K

Kevin

APM,

Yes, moving from one enviroment to another is always a problem no
matter what language is chosen on the framework. VB.Net is vastly
different from VB or VB 6, just getting used to some of the keywords in
the beginning can be a problem ie: NotInheritable (don't know how they
came up with this one, they probably thought that vb guys wouldn't be
able to pronounce the keyword sealed), and what about moving from Java
to C#, Final becomes Sealed. In the end you would end up with bugs if
you do not understand the enviroment as well as the syntactical issues.

This is actually what I was getting at in my original post.
Why the move from vb 6 to c# in the first place? This just adds more
complexity, not only a new enviroment but a new language syntax as
well, can you imagine the buggy code in this situation. I think this is
why ex vb developers are moving back to vb.net from c# for this exact
same reason. Looks like you made the right decision moving from Visual
C/C++ to C++.Net or C#, at least you are familiar and enjoy the c style
syntax and all that needs to be done is to learn the enviroment and
framework. Imagine if you had to go to VB.Net because you got paid more
or your manager was under the impression that VB.Net is the native
language on the .Net framework.

Kevin
 
G

Guest

I think people that were developing with VB should not be developers at all.
:)
There is some truth in that - cause they are rooted so much in bad
methodologies and crap code - that they are very useless in understanding
proper OO programming. So if they use vb.net - then nothing changes - they do
the same crap procedural code - just they think that they are programming OO
cause vb.net supposed to be OO language.
So in my opinion every VB developer should go to C# - so they would forget
everything they knew about VB - it does not work that way as it used to.
And who says that this:

if VB Is Nothing then
csharp = "great"
end if

is easier on eyes than this:

if (VB == null) {
csharp = "great";
}


Any adult and kid understands that reading symbol (bracket) is much easier
to spot than reading a word . So you do not even have to read C# sytax - it
is obviuos from a glance - and you HAVE TO read VB.Net syntax and it takes
longer to understand.
So VB developers - it is time to grow up for you.
 
C

Cor Ligthert [MVP]

Alysa,

There is in my opinion enough told in this thread that has a higher value
than your probably try to create a trolling thread (just asking others not
to react on this).

Just read what is written and you have replies enough with a higer value no
matter if I agree with what is written or not.

Whatever that you write as reply on this, you get no reply on that from me

Cor
 
G

Guest

I am expressing my oppinion and not looking for values.
Are you sure you do not want to grow up?
 
G

Guest

While I do think there is room in this world for VB Developers, I have to
agree with alYsa that many of them like to think that using an OO language is
the same as applying OO principles. I can't tell you the number of VB.Net
developers we interviewed at my company that had the phrase "Object Oriented"
all over their resume, but when they were asked to give a basic example of OO
in action, they couldn't do it. I think C# lends itself more to good
programming disciplines than VB does. That's not to say that all (or even
most) VB developers are undisciplined, just that it takes a more conscious
effort to be disciplined when using VB than it does with C#.
 
G

Guest

Kevin said:
This is actually what I was getting at in my original post.
Why the move from vb 6 to c# in the first place? This just adds more
complexity, not only a new enviroment but a new language syntax as
well, can you imagine the buggy code in this situation. I think this is
why ex vb developers are moving back to vb.net from c# for this exact
same reason. Looks like you made the right decision moving from Visual
C/C++ to C++.Net or C#, at least you are familiar and enjoy the c style
syntax and all that needs to be done is to learn the enviroment and
framework. Imagine if you had to go to VB.Net because you got paid more
or your manager was under the impression that VB.Net is the native
language on the .Net framework.

There are a plethora of reasons to move from VB 6 or VB.NET to C#. For
myself, they include the following:

1.) Broadening my skillset. I *like* to learn knew technologies. I like
knowing several different languages, and being able to choose the one that's
most suitable for the job at hand.

2.) Operator overloading. Visual Basic doesn't support it. (Yet.) C# does.

3.) I already knew C++ and Java; the migration from Java to C# wasn't all
that steep.

4.) C# is far more typesafe than Visual Basic. Visual Basic allows you to be
less strict by omitting Option Strict. In a team environment, that can be a
huge source of difficult to track bugs. C# code is always strict.

5.) Coding in C# helps me to break many of the bad habits I developed over
the years as a sloppy Visual Basic developer, and which still cling to me.
Things like the use of the ubiquitous Left(), Right(), Mid(), Upper() and
Lower() functions. Also, Visual Basic .NET still has support for modules,
which promote the use of global variables. Global Variables == DOOOOOOOOOOM.
C# has no direct support for modules (that I'm aware of--someone please
correct me if I'm wrong so that I can avoid it like the plague). C# makes me
write better code, and design better software by avoiding constructs and
VB-specific features.

As far as the whole "herd mentality" thing goes, I think you could flip that
argument around with equal effectiveness. For years, companies pushed Visual
Basic as the one and only tool for development of software. VAST amounts of
software was written in Visual Basic and most of it, in my experience, was
*crap* developed by developers who had no formal training (myself included)
and which wasn't designed for growth, stability, testability, extensibility,
or any of the other core attributes that make for high quality software.
Maintaining that software has been the bane of my existence since 1991.

At any rate, a lot of VB followers joined the VB herd because it was the
popular thing to do. The "herd mentality" also is responsible for letting
ridiculous hold-overs from VB6 creep into .NET. (1-based collections? ReDim
takes the upper index as its argument?! Come on!!!)

Now, having said all that, it's worth pointing out that I am a huge fan of
VB.NET, and still use it every day. I am moving towards C# because I think it
will make me a better programmer by enforcing better coding standards. Does
that make VB.NET a crap tool? Of course not. Does moving to C# make me less
than a man? Allow me to clear that up for you.

Not only no, but HELL no.
 
L

Larry Lard

alYsa wrote:
[snip]
And who says that this:

if VB Is Nothing then
csharp = "great"
end if

is easier on eyes than this:

if (VB == null) {
csharp = "great";
}


Any adult and kid understands that reading symbol (bracket) is much easier
to spot than reading a word .

I suspect that most psychologists and linguists would probably disagree
with you - ease of comprehension is certainly not a simple function of
symbol length. If that were so then a language whose syntax elements
were all single characters would be easiest of all to comprehend - and
I daresay that 'any adult and kid' would understand that that would not
be so. When someone who can read English well reads English which
contains only words they know, they tend to parse at a *word* level
rather than at a letter level. Which might suggest that VB's more
English-like syntax makes for *easier* comprehension, not harder...
 
G

Guest

VB.net and C#.net who cares, usually you will find a way in either language.
I just love the fact that I have an option. I feel more confortable with C#,
can I do VB? yes, but, it is how I feel and how much less code I want to
write.

Jorge
 
G

Guest

alYsa said:
I think people that were developing with VB should not be developers at all.
:)
There is some truth in that - cause they are rooted so much in bad
methodologies and crap code - that they are very useless in understanding
proper OO programming. So if they use vb.net - then nothing changes - they do
the same crap procedural code - just they think that they are programming OO
cause vb.net supposed to be OO language.
So in my opinion every VB developer should go to C# - so they would forget
everything they knew about VB - it does not work that way as it used to.

Alysa, you are so correct! I think I am in love!!!

VBSUX was the worst peiece of crap over unleashed. The syntax led to
worthless code. the VB.Not syntax perpetuates the sin!

look at the syntax for declaring variables to see the problem. . .

I think 'Give me an interger called foo set to bar:

C#:
int foo = bar

I dont think "dimension some memory called foo that will hold an integer and
store bar in it":

VB.Not:
dim foo as integer = bar

Now look at the IDE's -

C#: I can drop a control on a form in c# and go directly to the property
window| events tab and double click and create an event.

VB.NOT: drop a control, switch to code, select the control from the combo at
the right top. . . soll through the events for the control in the combo on
the right. what a pain in the frickin a$$

Can we talk about VBSUX developers (and I use the word loosly) for a second?
9 out of 10 of them were totally confused by databinding and are going to
hate .net. Most of these morons were opening recordsets and itereating though
the recordsets and loading the values directly into their controls. What
idiots!!!!

Also, there were things you simply couldn't do in VBSUX. I won't elaborate,
just trust me. . . you couldn't do it. Ok you forced me - Form inheritance,
multithreading sophisticated COM+ development. 'But how often do we really
need that?' you might counter. . .

My response, 'If you dont know, you wouldn't understand. . . Can I talk to
your clients??? And while I steal your business, take a look at delphi.'

hmmm. . . didn't Microsoft pay the guy who developed the far superior delphi
a shitload of money to leave borland and come on board to develop .net???

Microsoft, take your VB development team out back and shoot them. . . and
then shoot their mothers for bearing them! Protect the gene pool and shoot
their sisters, too!!!
 
K

Kevin

Joe, I think you should pop a tranquilizer son, you are far too
emotional.
Shooting the VB Team, their Mothers and Sisters is a little uncalled
for.
Maybe we should ask Microsoft to drop Edit and Continue in C# as it's a
VB
feature, would this make you feel better?

Believe me just because you think the language you work in has nicer
looking keywords doesn't make you a better developer.

Kevin
 
G

Guest

I'm sorry Joe, but you are wrong. How can you stand there and abuse the VB
developers. You might be able to code in C#, but you know what? I sure as
hell will not want you in my development team. Just because someone is not as
competence as you are does not give you the right to insult them. Plus, I
don’t think everyone here will appreciate, even if you are right or not, the
insult. This is a discussion not a debate. You like C#, others like VB.net,
both can be productive, and both of them have a market.


Jorge
 
G

Guest

First of all I am making two points. VBSUX sucked and the VB.NOT language is
inferior.

Re. VBSUX - In the real world, everything that is supposedly so great about
it becomes a glaring defect. Lack of OO makes it virtually impossible to
implement some of the most basic design patterns without creating an
unwieldly chunk of code.
Simply put, its 'simple' language often leads to bad design. The VBSUX way
of doing things is the wrong way of doing things.
Yes it reads like english. . . a run-on sentence!

I have been spending the last 2 years maintaining a 100+ form VBSUX
application and it is a complete nightmare.

My first instinct is to blame the original developers, but that wouldn't be
fair. Yes, they weren't that skilled but they did the best they could with
what they had ->

no visual databinding without incorporating the adodc (and even that is a
bassackwards paradigm) and the databinding library.
Adding a library to the application requires a new installation which is
unacceptable in most of our deployments. "DLL Hell??? What the **** is
that???" asked the delphi developer."
You cant do stream IO /threads/com+ events/service applications/native dll's.
No delegation therefore you can't dynamically wire/unwire event handlers.
No structured exception handling. No, On Error Resume is not structured. it
is the cause of most of the crappy code I see!
And worst of all, a shoddy help file.
Oh, did I mention, you have to run an add-in to get mouse wheel response in
the code editor???

I could go on and on.

have you got a commercial VBSUX application on the market??? give me 5
minutes, I will break it.

I could go on and on about VBSUX. it is a piece of crap and is not viable
for commercial applications.

VBSUX -- created by bad developers for bad developers.
Shoot the team so the don't do any more damage!!!

That being said. . . let me go through the keyword list for VB.NOT. No
further discourse will be needed to definitively prove the inferiority of the
language. . .

AddHandler. . .AddressOf: what the **** is that???? why doesnt VB.NOT use
an assignment operator?????
As: In every other OOP language As is the cast operator but this ****ed up
language hi-jacks it for ass-backwards variable declaration syntax.
DirectCast: Oh yeah we need this because this ****ed up langauge already
hi-jacked 'As'
Function: what the **** do we need this word for??? there is no such thing
as a function only methods. just some don't return values.
Implements [interface.method]: why in the world should this statement be
necessary when a simple override key word without the interface spec should
be adequate in most scenarios.
Is: this ****ed up language hi-jacks the type comparer for reference
comparison.
MustInherit/MustOverride: what the ****???? why two different words??? and
why isnt the word 'abstract'?????
Nothing: huh??? whats wrong with null???
NotInheritable/NotOverridable: again - what the ****??? two different words
when one would suffice - 'sealed'!!!
Overridable: huh??? the word is 'virtual'
ReadOnly: what??? the complier isnt snmart enough to figure out that if it
doesnt have a setter it is read only????
RemoveHandler: see addhandler above.
Shared: huh? the rest of the world uses 'static'
Sub: again there is no such thing as functions and subs, only methods
WriteOnly: see ReadOnly above.

Finally, the a new line is part of the lexicon!!! what the **** is that???

In summary, the VB language makes programming harder than it has to be.
 
G

Guest

Oh yeah. . .

If VBSUX was so great, why did Microsoft pay the guy who created delphi to
come on board and create C#???

Why? Because delphi blows VBSUX away!

Shoot the VBSUX team. They are the cause of most of the worlds problems!!!
 
J

Jon Skeet [C# MVP]

joe mamma said:
Oh yeah. . .

If VBSUX was so great, why did Microsoft pay the guy who created delphi to
come on board and create C#???

Why? Because delphi blows VBSUX away!

Shoot the VBSUX team. They are the cause of most of the worlds problems!!!

Joe, please stop this. There really is *no* need to abuse either VB
programmers or the VB development team. I don't know what your purpose
in making these statements is, but I can see no positive effect they
could possibly have.
 
G

Guest

In my case its reverse. Is there any problem for c# developers in future
because previously I developed in vb and now in c#.
 
K

Kevin Spencer

My response, 'If you dont know, you wouldn't understand. . . Can I talk to
your clients??? And while I steal your business, take a look at delphi.'

With that "logic," and the emotional religious zeal you possess, you aren't
likely to be stealing anyone's business any time soon.
Microsoft, take your VB development team out back and shoot them. . . and
then shoot their mothers for bearing them! Protect the gene pool and shoot
their sisters, too!!!

Considering that Microsoft is the most powerful software company in the
world, it might be logical to assume that they know a bit more than you do.
When one does not understand something, presuming that it is a stupid idea
is a stupid mistake.

I have often mulled over the VB issue, and am not at all convinced that
Microsoft has made mistakes in that area. The biggest problem it has caused
is the proliferation of "less-than-professional" software developers in the
world, due to its ease of use. However, as I have thought the issue over,
there are levels of development in the software development world. Some
people need to write operating systems, and need to know everything down to
the machine level, and these people are rare. They make developers like me,
and developers like you, look like morons by comparison. At the other end,
you have users, who need to tweak their software to perform specific tasks,
and who may be able to "program" at the Macro level. Between these 2
extremes, you have a vast gradient of development needs and skill levels.
And there is a fairly vast gadient of pay grades as well to go along with
it.

Simple because someone knows less than you do about one thing or another
doesn't make you "superior" to someone else, any more than being taller than
another person makes you "superior" to another person. And why should an
employer who needs, for example, a relatively simple web interface to
display reports, pay 100K+ to an OS-level developer to perform the task?

The problem that was caused by VB is not really a problem at all. If there
is confusion in the market place, the confusion is not caused by VB; it is
caused by the ignorance of the employers. It distressed me when VB
developers began to move to C#, thus, in a sense, "muddying the waters," and
for a time, there was some inconsistency in pay levels for developers having
different skill levels, due to a mistaken impression on the part of
employers that the programming language used was an indicator of skill
level. But again, that was the mistake of the employers.

I am now in a position where I participlate in the evaluation and hiring of
developers from time to time. I know what questions to ask, and what to look
for. What programming language is used is not a criteria where I am
concerned. There are hacks that use every programming language in existence.
But I do look at their code. Regardless of the language used, good code is
good code. Good logic is good logic. And I find, for example, a good number
of holes in yours. I know I wouldn't hire you. I would tell you to come back
after a few more years.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
Ambiguity has a certain quality to it.
 
K

Kevin

Joe,

I have read your post and have realised that under the covers you are
an exceptional developer. Maybe you should try and get yourself a .Net
developer position instead of maintaining VB6 code. I'm actually
getting sick and tired of idiots like yourself who have no clue about
..Net and then come here and disrespect developers and the languages
they work in. Go away, buy a couple of .Net books, go on a couple of
..Net courses, and when you have finally gained a bit of experience on
the subject you are welcome to come back here and debate issues in a
constructive manner.

Kevin
 
B

Benny Raymond

I think it's really just a matter of opinion. I really like c# - I'm
not forced to code in it. My brother in law however really likes vb.net
and he's not forced to code in that.

I'm an ex vb developer... I can't say that I'll never go back, however
right now C# is great for me, it just feels better.
 
K

Kevin

Benny,

Brilliant, I can't believe it. You are one of the few people who have
honestly answered the original post. As you can see the only way some
people answer this question is by comparing the 2 main languages on the
..Net framework. This was not my intention, my intention was to see how
many developers out there are forced to program in a language because
of Money, or because they will be dubbed true developers by a community
or because their companies have standarized on a language because of
marketing hype for example. You and your brother in law are truly
lucky, in a way, because you guys are working in a language that you
both enjoy!! Well Done.

Kevin
 

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