|
My school requires us all to learn VB.NET before we take any other computer science courses, and they aren't really offering any other choices. Which sucks for me since I already do work coding in C/C++ and C#
Maybe I'm just not used to it enough... some things like the type name coming after in variable declarations and having no distinction between single quotes for chars and double quotes for strings.
Some things are cool though; the VS2005 editor for VB is a lot more tidier (especially Intellisense), compiling is a tad faster and string casting to numeric types is sorta handy. Being able to invoke methods without running the app is awesome. WithEvents/Handles is great too... something IronPython could really make use of.
|
|
|
|
|
Did any of you ever made some data structure and got it programmed both languages to test?
I did.
this is not gonna be a long enough post to discuss this, by the way
i testes tructures like search trees, graphs, dictionaries.
Those were basic iplementations and the port was made almost line per line.
each structure did perform very almost the same, some even did a touch better in vb than c#.
This, until i came to the compact directed acyclic graph or some reason
i felt myself very ad makin this one vb style.
differently from the tests, this one have a different implementation on c# than the one i tested with vb, so what's the point? the point is this test is valid because there was no way at all tha i could program the same behaviour in vb.net since it made use in C# of the unsafe keyword to directly manipulate pointers, one thing vb.net will not do ANYWAY.
C# with unsafe did perform better specially on the memory usage size.
so my final opinion is c# or vb.net esteticlly, grammar, it's obviously a programmer choice, since i do program faster with the vb.net because of the autocompletion and case sensitivity, i will find c# a logic choice for me only if using c# I will use it in ways that give me REAL advantages, wich is by the truth not so common.
my previous post on the un safe was ruined...
<- true inside to understand outside ->
|
|
|
|
|
Hi, I currently don't use VB at all. Like many others I started programming in BASIC, but I later moved to C++ and C# was my choice for the .NET platform (because I prefered "curly brackets" syntax). I think that currently it doesn't matter whether you use C# or VB. I'd say that C# is more elegant and clear language, but this is just my opinion.
However I'm looking forward to the new version (C# 3 and VB 9), because in the future both languages will develop in different direction (so there will finally be real reasons for prefering C#/VB in some projects).
I'll still prefer C# as my language, but I will probably write some apps in VB 9 to learn it .
|
|
|
|
|
..because the purpose of a computer language is not to make things easy for the computer but rather to make things easy for the programmer, and VB is the language that is the closest match to human languages (especially English) so it is easier for the human brain to deal with.
|
|
|
|
|
maybe you might want to tell Mr Osmosian Order (ohh, no, i named it... ) you gonna use his "plain english compiler"...
|
|
|
|
|
Oh my... that compiler is one of the most macabre things I've ever seen... Some things are just plain wrong, and then there's this one.
I could have had a nice life without knowing that thing existed. Now I have something to hate even more than VB.
(WTDF is a "the" doing inside source code?).
Enhance the trance
|
|
|
|
|
VB reminds me of a quote by Einstein:
"Mache die Dinge so einfach wie möglich - aber nicht einfacher!" (Make things as simple as possible - but not simpler!)
Judging by the quality of most VB code I've seen, VB is making it too simple.
It's just too easy for wannabe-programmers to copy and paste bits of code they find somewhere without understanding what they're really doing or what a certain piece of code does.
Once you started programming in this way it's really hard to learn to structure your code well and to implement OO concepts...
Just my 2 cents.
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
Judging a language by the least of its users is nonsensical - it would be like condeming th eEnglish language based on the speeches of GW Bush
|
|
|
|
|
Same quote came to mind
|
|
|
|
|
is that Intellisense works a lot better (you don't have to get the case right). Ok, I admit I am lazy.
|
|
|
|
|
Xiangyang Liu wrote: Intellisense works a lot better (you don't have to get the case right).
If I have a method called MyPascalCasedMethod in C# and I try to call it and I type mypascalcasedmethod then intellisense will correct that to MyPascalCasedMethod so long as there isn't already a method that is actually called mypascalcasedmethod
|
|
|
|
|
You are right, maybe I got the wrong impression from using .NET 1.0.
But there is still a minor difference in .NET 1.1: Suppose you want to type
<br />
System.Console.Out("Hello, world")<br />
You can type "system." in VB.NET to get the list of items to pick from, but you have to type "System." in C#.
I haven't tried .NET 2.0 yet.
-- modified at 12:51 Friday 1st September, 2006
|
|
|
|
|
With Visual Studio 2005 intellisense starts working with the first character typed. So if I just type 's' a list appears and System is in it. If i just type "system" as soon as I hit the period it changes to "System.". Unless I made a class named "system", which would be confusing.
|
|
|
|
|
Intellisense! YUCK!
I did some C# work recently and the intellisense was overbearing.
I work in C++/CLI -- which has been left behind a bit by the
MS development teams. Hence, intellisense is somewhat helpful; but
not overbearing. (I hope it stays that way!)
WedgeSoft
|
|
|
|
|
Gammill wrote: Intellisense! YUCK!
Why?
Doesn't it save you a lot of time and save you from a lot of compiling errors due to misstpellling?
|
|
|
|
|
Actually I'd have to agree.
C# Intellisense in VS2005 just throws absolutely everything at you. It's a mess.
Anyone know how to fix that by any chance?
|
|
|
|
|
Use namespaces. That is, start by typing Namespace. , then Intellisense will only show you the contents of that namespaces.
If your namespace names are short (like 'std ', 'ATL ', 'boost ') and you type fast, Intellisense won't show until you're done.
Hope this helps,
Pablo_A
|
|
|
|
|
Well I mean, in Visual 2003 it was context sensitive. It wouldn't show you stuff that you couldn't use in the particular scope. Now it spews everything out at you.
VB.NET doesn't do this, which is nice.
|
|
|
|
|
This is not true.
For me i do program VB.NEt and c# eactly the same, means i can port one to another with no problem at all.
by the way i first learned with vb.net so when i need to do something fast
this is what i choose.
when i need to program some peculiar data structure i choose c#
BUT there are some things that you cannot do al all in vb.net
for me the most serious defect is the absence of the unsafe keyword or equivalent.
so in vb.net you cannot anyway write unsafe code, wich is sad and makes c# THE choice for classes that needs to behave exaclty as one planned... like advanced data structures as fast search engines...
<- true inside to understand outside ->
|
|
|
|
|
uno freeware wrote: VB.NEt and c# eactly the same
Either you need a new pair of specs. or somebody at work is fooling you.
We made the buttons on the screen look so good you'll want to lick them. Steve Jobs
|
|
|
|
|
aw com'on what is that?
think u smart?
my post is so short, you could go on and read that i already know those are not the same, and i also mention unsafe code as one of the limits i do think as bad.
r u jokin'? just moron?
<- true inside to understand outside ->
|
|
|
|
|
I really got the proof u somekinda magik fly crazy???
didn't u read the VERY FIRST LINE OF MY POST??????
This is not true.
go home baby
<- true inside to understand outside ->
|
|
|
|
|
|
Since I wrote the article I did quite a bit of thinking. I think the single biggest failing of VB is putting the type after the object. In good languages, we're trained to think of the class first, the type second:
Employee bob = new Employee();
In VB, the type is an afterthought:
Dim bob
Whoops!, I meant
Dim bob as Employee
See, because the type is an afterthought, VB developers think of things as instances first, and think of their classification second, if at all.
Now, in my personal opinion, the single most important thing in application development is object classification. This is why we created layered applications in beautiful hierarchies, with each layer having its own responsiblity, and only objects of certain classifications going in there.
In my experience working with developers that move from VB to C#, this is the biggest "light" that goes on... the realization that everything has a classification, and that development is all about the classification of things.
Nigel
|
|
|
|
|
Really? It kinda reminds me of the French Language.
Oops, I just compared VB to French. I'm so gonna get some hate mail for that.
cheers,
Chris Maunder
CodeProject.com : C++ MVP
|
|
|
|