473,802 Members | 1,937 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

C# developers going back to vb.net

I don't know if I should even start this topic but here goes.
I'm an ex vb6 developer, now developing in C#.
The reason why I started developing in C# is because the company that I
worked for at the time standarised on C#.

Many of my friends working in previous companies that I worked for are
starting to move back to VB.Net. When I asked them why, it seems that
the next release of VB.Net seems very promising and they kinda see
themselves in the same position I'm in. It seems that at the time when
..Net was first released many companies basically forced developers to
work in C# because as in my case the company they worked for
standarised on C#, why these companies did this is beyond me because
most of their developers were vb developers, I think it's because it
was marketed that C# was the main language to use on the .Net
Framework.

Now many companies as well as management in these companies are
starting to realise that vb.net is not that different from c# and are
starting to give their developers a choice and thus obviously the move
back to vb.

The reason why I'm posting this topic here is because I'm wondering how
many developers using c# are ex vb developers and would actually like
to develop in vb.net. I have actually convinced my superiors to use
vb.net as another language choice and they have agreed.

We have just started a new project in vb.net about 3 mths ago and I
must say that it's still a damn fun language to work in, I'm actually
enjoying my work again. Productivity couldn't be higher as other c# (ex
vb6) developers in my department have also wanted to go back.

Wondering how many of you out there would like to move back to the
lighter side of life?

Nov 17 '05
132 5808
Hi Kevin,

Thank you for this nice reply and thank you for defending me.

Have a nice weekend

"Kevin Spencer" wrote:
Hi Adm,

Peronally, I understood your remark about "the mother of all languages." It
was beside the point to point out the minor technical issue. In fact, C was
written to look more or less like Pascal, so one might argue, with
Lillipution intent, that Pascal was the "mother of all languages." Still, it
would indeed be pointless to do so.

I appreciated your enthusiasm, and, regardless of the occasional
technicality, I found your arguments for the most part quite understandable.
In fact, as it was an expression of opinion, and not a factual answer to a
question, I considered it less important that it should be "absolutely
factually correct" (if that is possible, considering the vagaries of
language).

It irritates me to see people publicly correct others without some
valid/helpful reason for doing so. If, for example a person asks a question,
and a person responding speaks without knowledge, and therefore leads the OP
down the wrong path to a solution, I feel it necessary to correct the person
responding, and provide the correct information. This helps the OP to find
the solution they seek. On the other hand, when a person is asked for an
opinion and gives it, and is incorrect on some minor technical point, who is
harmed by it? Why should the person venturing the opinion be publicly
corrected for their perceived and minor error? Who is helped by it? The only
conclusion I can draw from such behavior is that ther person doing the
correcting is attempting to elevate public perception of their knowledge at
another person's expense. And that is both unnecessary and uncalled-for.

It took 4 years for Microsoft to develop the first version of the .Net
platform. I will be the first person to admit that I don't know everything
about it. I do, however, know how to research, and am quite good at that.
When I first began to program, I relied heavily on help from others who were
farther along the path than I. Now I feel a sense of responsibility to do
the same. That is my motivation. I help when I can, and keep silent when I
can not.

I did feel a certain need to step in to your defense. I don't like to see
people bullied. And I can hold my own in a scuffle. I don't mind a knock or
two here and there. I can give as good as I get. I am confident in my
professional life, and not afraid of the opinions of others. They cannot
harm me professionally, and I have a thick skin. So, from time to time I
will step in to defend someone else. Call me a glutton for punishment.

But don't feel bad that you may have somehow embarassed yourself with your
contribution. I found it quite refreshing! :)

--
HTH,

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

"Adam Tibi" <Ad******@discu ssions.microsof t.com> wrote in message
news:DD******** *************** ***********@mic rosoft.com...
Thanks for explaining pal, maybe I needed to ask more before I reply back
and
maybe your first reply should have included the "mother of all languages"
thing so I would have understood what is going on.
What I meant by saying that C++ is the mother of all languages is that C#,
PHP, Java, JavaScript and others that I don't know tried to follow the
syntax
of C/C++! Well, how far they went varies between one language and another
and
undoubtly C# was the pioneer.
My comments comparing C# versus VB.NET is emotional, I agree on that, and
such topic requires emotional rather than logical answers.
Sorry for being unpolite, this is a lesson for me to listen more than I
speak and believe me I am working on it :)

"Cor Ligthert [MVP]" wrote:
Adam,

> Actually, I think that it would unprofessional to comment on my style
> of
> writing or language versus the actual content.

Can you tell me where I wrote that in my reply to Kevin? I will be
probably
the last one who not completely agrees about that with you. In fact it
was
Kevin who did that.

My reply had nothing to do with your style of writing it had to do with
the
fact that Kevin gave me the idea that he had not even read your message
and
therefore was only trolling my reply to you.

In my opinion are there some things in the content of your original
answer
that makes that probably not much people will read it after they have
seen
this starting sentence.

>>C# syntex is derived from the mother of all languages C++

AFAIK is C# the only language derived from C++.

I had read your message completely and had the idea that I understood
everything you wrote. I had the idea that most maybe came from your hart
but
is not based on much investigation

Therefore I gave you the link to Wikepedi, I assume that you would not be
glad when I was only copying the content of that in a message.

Cor


Nov 17 '05 #91
>> Peronally, I understood your remark about "the mother of all languages."
It
was beside the point to point out the minor technical issue. In fact, C
was
written to look more or less like Pascal, so one might argue, with
Lillipution intent, that Pascal was the "mother of all languages." Still,
it
would indeed be pointless to do so.


And ALGOL 60 is the mother of Pascal. Does that mean ALGOL is C#'s
great-grandmother?

Or that Delphi is C#'s great-aunt? :)
Nov 17 '05 #92
Here's how it will look in boo, just for comparison:
http://boo.codehaus.org/

i = 42
given i:
when 1,5,7,19,39:
print "first form"
when 11,9,10,24,28:
print "second form"
otherwise:
print "not on a form"

or your other example:

i = 42
given i:
when 0 <= i <= 10
print "10s"
when 11 <= i <= 42
print "rest"

http://jira.codehaus.org/browse/BOO-136

I'm not saying it's better or worse or anything.

To the guy who's deciding about what language to use for new hires, I'd
probably recommend C# if they are already familiar with java or C++
(which is likely if they are CS grads).

Nov 17 '05 #93
Michael,

And ALGOL 60 is the mother of Pascal. Does that mean ALGOL is C#'s
great-grandmother?

Or that Delphi is C#'s great-aunt? :)

I think that you are right, however in my opinion is Algol not completely
the mother of all languages.

I think that it can be called that for all by mainly Beta's used languages.
The sister Cobol can in my opinion be seen as a mother of all languages for
the "Alpha's".

Strange enough are that much less while they have AFAIK a very broad public
that uses them.

Cor
Nov 17 '05 #94

Cor Ligthert [MVP] wrote:
Michael,

And ALGOL 60 is the mother of Pascal. Does that mean ALGOL is C#'s
great-grandmother?

Or that Delphi is C#'s great-aunt? :)

I think that you are right, however in my opinion is Algol not completely
the mother of all languages.

I think that it can be called that for all by mainly Beta's used languages.
The sister Cobol can in my opinion be seen as a mother of all languages for
the "Alpha's".

Strange enough are that much less while they have AFAIK a very broad public
that uses them.

Cor


http://www.levenez.com/lang/history.html#01

Nov 17 '05 #95
Hi,

Thanks,

http://www.levenez.com/lang/history.html#01


Very interesting.

Cor
Nov 17 '05 #96
Sigh. Some months back I was waging a battle on this front... I guess
it didn't have much effect. :-)

Yes, in a few situations, structs offer performance benefits. You can
see typical uses in this regard in System.Drawing. Point and
System.Drawing. Rectangle, among others. They're things that by rights
ought to have reference semantics that were made into structs for
performance reasons, I think. At least, I can't think of any other
reason to create _mutable_ value types and suffer the resulting
confusion among programmers using your class library.

That said, value types are incredibly... um, valuable... when it comes
to modeling things that are _values_. I'm going to try very, very hard
not to believe that you're honestly suggesting that ints should have
been reference types. Do you really believe that this code:

int a = 5;
int b = a;
a = 16;
Console.Writeli ne("{0}", b);

should write 16? Can you imagine how difficult it would be wrap your
mind around programming in a language with only reference semantics?
Just imagining the mayhem makes my head hurt. :) If memory serves,
even venerable LISP, the everything-is-a-reference-type language, took
pains to avoid this.

Complex numbers, money (quantity plus currency), measures (quantity
plus unit of measure) and other such things are natural value types.
For the complex numbers example,

int a = new Complex(5, 1);
int b = a;
a *= a;

should leave b containing [5, 1] as before, not [-25, 0], which is what
a would contain (pardon if I made an error there... I haven't worked
with complex numbers in 20 years). In other words, the thing should act
like a value, not like an object with reference semantics. As Steve
Walker pointed out, when I add $5.00 and $0.25 and put the result back
in the original variable, I really don't want every $5.00 quantity in
my system to change to $5.25. That would be nasty.

Sorry for the rant, but it drives me nuts when people start building
Customer structs, saying that it's "more efficient", and then wonder
why their code does all these weird things. It drives me even crazier
to know that Microsoft has a (VB) example of how to use structs in
their knowledge base that shows a Customer struct with a half-dozen
fields. Aaaargh!

Nov 17 '05 #97
"Bruce Wood" wrote...
That said, value types are incredibly... um, valuable... when it comes
to modeling things that are _values_. I'm going to try very, very hard
not to believe that you're honestly suggesting that ints should have
been reference types. Do you really believe that this code:

int a = 5;
int b = a;
a = 16;
Console.Writeli ne("{0}", b);

should write 16? Can you imagine how difficult it would be wrap your
mind around programming in a language with only reference semantics?
Just imagining the mayhem makes my head hurt. :)


I don't see this as a good example on what you mean. Why should it write 16?
When you're assigning a literal to a variable, you could say you're
assigning another object, not changing the objects contents.

int a = 5;
int b = a; // Is now referencing 5
a = 16; // Is now referencing 16
Console.Writeli ne("{0}", b);

b is still referencing 5

Try this for comparison:

string a = "Hello";
string b = a; // Is now referencing "Hello"
a = "World"; // Is now referencing "World"
Console.Writeli ne("{0}", b);

b is still referencing "Hello".
This is really no different than:

Customer a = new Customer("Bill" );
Customer b = a; // Is now referencing Bill
a = new Customer("Bob") ; // Is now referencing Bob
Console.WriteLi ne("{0}", b);

b is still referencing "Bill"

So the traditional logic when using primitives or value types shouldn't
necessarily need to change just because they became reference types instead.
At least no changes that I can see at the moment. I think much lies in how
to define the behaviour of the operators.

But there still might be other issues with using only reference types rather
than having both value and reference types... ;-)

// Bjorn A


Nov 17 '05 #98
Point taken. My examples weren't very good, as you pointed out. In
order to get into trouble with integers-as-reference-types, there would
have to be some quality of the integer itself that was mutable, so that
you could get into trouble by changing that mutable quality in one
place and having it change everywhere.

Anyway, the point was that I like value types. They're powerful when
used in the correct contexts, but a terrible pain when used in the
wrong contexts. Most complaints I've seen in this discussion group
about what a bad idea value types are arise from people using them for
the wrong reasons.

Nov 17 '05 #99
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.

Nov 17 '05 #100

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

24
3048
by: dotnetforfood | last post by:
Joel Spolsky's new article "How Microsoft Lost the API War" at http://www.joelonsoftware.com/articles/APIWar.html describes how .NET has failed, how classic VB6 and ASP continue to be preferred by developers, and how Microsoft has lost control of the preferred API. You really should read the article. Here are some excerpts: <Joel Spolsky> "And yet, people aren't really using .NET much.
32
2274
by: Fresh Air Rider | last post by:
Hi I understand that ASP.net 2.0 (Whidbey) is going to reduce coding by 70%. Surely this is going to de-skill or dumb down the developer's task and open up the task of web development to less qualified and trained staff. Tell me if I'm wrong.
0
9699
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9562
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10305
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
7598
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5494
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5622
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4270
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3792
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2966
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.