Should I learn...VB or C#?

You'll learn more by doing C# end of story. VB/VB.net are very easy to pick up once you've C#

VB/VB.net aren't better than C# or vice a versa. Simply different tools. Pick the best tool for the job in hand. Sometimes that C# sometimes its VB/VBA/VB.net.
 
|Show| said:
just on a side note (sry) - i've been doing c++ @ uni, and was wondering what the difference is between C# and C++?
M goi.

Don't forget the confusing and not really necessary concept of multiple inheritance that C++ supports. :eek:
 
Im a programmer, at the moment I am coding with VB.NET 2005, From what I have learnt, VB.NET and C# are the same!

Both have all the same features and VB.NET can do anything C# can with very similar code.

If you like the nice curly bracket code layout go for C# but for the BASIC layout, go for VB. Its just a personal preference.

VB6 is a different story but that is getting old and is not supported by microsoft! and people are moving to .NET :)
 
Rich43 said:
Im a programmer, at the moment I am coding with VB.NET 2005, From what I have learnt, VB.NET and C# are the same!

Both have all the same features and VB.NET can do anything C# can with very similar code.

If you like the nice curly bracket code layout go for C# but for the BASIC layout, go for VB. Its just a personal preference.

VB6 is a different story but that is getting old and is not supported by microsoft! and people are moving to .NET :)

With you 100% on this!

Moved to Vb.Net 2005 myself and its a massive difference, even over the standard VB.Net. The IDE is remarkable, the new "Using" command is a godsend, resources and application configuration is a dream to use.
 
Rich43 said:
Im a programmer, at the moment I am coding with VB.NET 2005, From what I have learnt, VB.NET and C# are the same!

Both have all the same features and VB.NET can do anything C# can with very similar code.

If you like the nice curly bracket code layout go for C# but for the BASIC layout, go for VB. Its just a personal preference.

VB6 is a different story but that is getting old and is not supported by microsoft! and people are moving to .NET :)
Agreed as well.
The software I work on has the UI written in VB.NET and the middle tier in C# (the UI was a port from VB6 in case anyone is wondering why we have done this) and as far as I am concerned any developer worth their salt should be able to switch between the two very easily once they have got to grips with the syntax differences, which will take a couple of days at most.

The only real difference between the two languages, in their .NET 2.0 flavours anyway, is in unmanaged code and using that kind of goes against the principles of .NET anyway.
 
robmiller said:

i was only teasing, but to claim a language as the best is a pretty wide statement. best at what?

don't get me wrong, i'm not knocking c#. i rate it highly, but it's horses for courses.

i'm mostly, by experience, an embedded systems engineer. and from my embedded sytems point of view, no language comes close to C for it's power, versatility, raw speed, and small footprint. there's still more lines of C code in the world than any other language (and is likely to be for some time, due to low power embedded systems being ubiquetous).

for any software targeting the windows OS environment, C#/VB/.NET are hard to beat. they've got ease of use, powerfull features, rapid development potential etc.

for cross platform applications, Java and it's Swing subsystem is an awesome tool.

it all depends on fitness for purpose, which in turn implies you have to know what purpose you have in mind.

i'd agree though, for what it is intended for, C# is the dogs danglies ;)
 
Visual Basic is a programming language for idiots. C# and Java are very popular, powerful languages which use the same or very similar syntax to C++.
Netbeans 5 with Java is great, and so is Visual studio with C#. Choose Java for interoperability, Mono is not developed enough to be fully relied on to work on Linux with for instance Windows.forms or mobile functionality.
 
Last edited:
ballistic said:
Visual Basic is a programming language for idiots.

Was gonna reply with a :rolleyes: but I'm more interested in the mentality of the poster! Any chance of explaining why I, and many others, are an idiot?
 
Inquisitor said:
Depends whether the OP meant VB6 or VB.NET; they're entirely different animals.
I'm guessing he meant vb.net.

Inquisitor said:
VB.NET is VB on the surface, but underneath, it's incredibly similar to C#. They both have identical OOP functionality (as a necessity; they both use the same libraries), they both compile to the same language, and they're both used with the same IDE.
Agreed, although I'd still recommend c# if only for the job opportunities.
 
well maybe they were alluding to the idea which has long been around in some circles that VB isn't and never has been a "proper" programming language.
which probably started or was contributed to by the number of untrained, poorly skilled people who have had a go (or started at least) with VB because it's so easy to get going with. the kind of people who would never have just had a go at C or C++ or any of the "hardcore" languages.

it's a programming language for idiots (to my mind) only in so far as if your life depended on teaching an idiot to program, you'd probably pick the easiest language there is to start with, and for a long time that would have been, and maybe still is VB.

though calling it a language for idiots is not the same as saying all VB coders are idiots.

personally i think there is a serious and respectable role for VB as a language, but it does perhaps suffer from the comparitive lack of rigour and discipline at learner level. you wouldn't seriously learn C++/C#/Java without also tackling OO design methodologies, same goes for C with structured design.
you shouldn't pick up VB and start coding without also considering / learning design methods, but some people do.
 
Some of the worse programmers I've ever seen are C++/C#/Java programmers. Its like saying if you use pencils instead of oils your not a proper artist. The tools you use have nothing to do with it.

When I was learning Java one of my college lecturer introduced it by saying VB is not a real language its creating using wizards and doesn't involve programming. Thats a moronic comment and all it demonstrates is that the speaker is very narrow minded and probably has very little real world business experience.

I've seen enterprise level VB apps created in 3-6 months with 2 or 3 developers that C++ and Java programmers couldn't replicate in 1.5-2 yrs using a team of 10-20 developers. You pick the right tool for the job. End of story. You get good and bad developers regardless of language and tools used.
 
~J~ said:
Was gonna reply with a :rolleyes: but I'm more interested in the mentality of the poster! Any chance of explaining why I, and many others, are an idiot?

I'm not calling you an idiot, but it's a language for beginners or people who want a quick application who don't care if it's buggy.

Here is why it sucks as a language:
1) It is still slow - whilst JDK 5 has performance competetive with C++.
2) Syntax is non-intuitive. It will make for a brutal transition to c++.
3) It's made by microsoft - a poor attempt at dominating development platforms, good luck with compatability between VB6 and VB .net.
4) It sucks as a language - your API functions and variables have to be defined unlike in C++ and Java.
5) It's not cross platform (if you care about that).
6) Documentation is useless and costs money.
7) Poor security model (compared with Java 1.5).
 
ballistic said:
I'm not calling you an idiot, but it's a language for beginners or people who want a quick application who don't care if it's buggy.

Here is why it sucks as a language:
1) It is still slow - whilst JDK 5 has performance competetive with C++.
2) Syntax is non-intuitive. It will make for a brutal transition to c++.
3) It's made by microsoft - a poor attempt at dominating development platforms, good luck with compatability between VB6 and VB .net.
4) It sucks as a language - your API functions and variables have to be defined unlike in C++ and Java.
5) It's not cross platform (if you care about that).
6) Documentation is useless and costs money.
7) Poor security model (compared with Java 1.5).
Many of those points only apply to VB6 and older. Tbh I think VB.NET only exists to allow previously VB developers to make the transition to .NET a bit more easily.
 
ballistic said:
1) It is still slow - whilst JDK 5 has performance competetive with C++.

No it isn't :confused: C# is faster than Java but neither are as fast as well-written C++.

ballistic said:
2) Syntax is non-intuitive. It will make for a brutal transition to c++.

Yep, although I'd question whether a "transition to C++" is something everyone will make (or will need to make).

ballistic said:
3) It's made by microsoft - a poor attempt at dominating development platforms, good luck with compatability between VB6 and VB .net.

:rolleyes:

ballistic said:
4) It sucks as a language - your API functions and variables have to be defined unlike in C++ and Java.

...what :confused:

ballistic said:
5) It's not cross platform (if you care about that).

Mono is coming on in leaps and bounds.

ballistic said:
6) Documentation is useless and costs money.

MSDN's docs are absolutely awesome and completely free.

ballistic said:
7) Poor security model (compared with Java 1.5).

What? How? Expand.
 
Back
Top Bottom