Hi,
I want to know if you guys think the same way?
I know people say they hate Visual Basic & i don't understand why?
Hi,
I want to know if you guys think the same way?
I know people say they hate Visual Basic & i don't understand why?
Things I hate about VB 6:
+ The IDE is ultra annoying. It doesn't like to let you leave a line syntactically incorrect for even a second without sqwaking at you.
+ There is a limit to the number of line continuations you can have which can sometimes be pretty annoying.
+ The language has very limited support for user defined data structures. You can declare something similar to a struct in C, but it's utility is somewhat limited.
+ I never enjoyed having to differentiate between a Sub and a Function. The calling syntax is even more annoying (when to use parentheses).
+ The way you return a value from a function is syntactically unpleasing to me-- I like RETURN statements a lot better.
+ No BREAK or CONTINUE in loops.
+ You need to add line numbers to your code to find out what line an error occured on.
VB.Net is a big improvement, though I still don't really take much of a shine to the syntax. It still seems too wordy to me in some respects. There are still some things I don't really care for, but I am a relative newcomer, so I may just be using the tool in the wrong way:
+ Still no CONTINUE in VS 2003- I heard this feature was added in VS 2005, though?
+ Still don't like differentiating between a Sub vs. Function.
+ I find creation of composite data types more natural, but I have already observed where overuse of lots of small structs can bite you. A coworker was creating a lot of small structs to pass data in a loop that repeated millions of times. Apparently, the garbage collector was feeling a bit lazy, because the creation of these small structs started eating up all the RAM on my system when I tested his app out. It took me a little while to track down the cause. I found that implementing IDispose on each of the structs and calling it manually dramatically improved the situation. I had thought the whole point of the GC was so I didn't have to worry about explicit memory management.
''The difference apparent perhaps only in the titles is that one involves hating the entire thing, while the other involves a strange mixture of hatred and love, involving the things within it. The first involves shunning, the second would infer things that might and perhaps should be fixed. The first involves hatred based on loving something else more, the second on perhaps wanting to love VbClassic more."
My big problem with VisualBasic is that it does ridiculously unpredictable things based on which pieces of the vast MicrosoftIncompatibleDependencySuite are installed. Probably mostly owing to its massive "we'll do it all" design that the newbies love so much, it is the buggiest... thing I've ever used.
And that's saying something.
Sometimes there is a trade-off between easy-to-learn and easy-to-use. I don't think it is possible to maximize for both.
I'm a C# developer who does look down on the VB.Net syntax and I find it takes a lot of time to properly articulate why that is.
I find Vb.Net produces a lot of 'noise' around areas where it doesn't need to making the code harder to decipher. E.g. End Sub, End Function, Dim person As Person.
I think that VB.Net suffers from the developer who implements it as well. Because the language is easier to read for newbies, they tend to write their first, second and third application in it and we all know what our first applications are coded like - terribly.
At the end of the day, the practical differences between VB.NET and C# are items that fall under the category of personal opinion. There is nothing wrong with that; some developers prefer a more verbose language like VB.NET, while some like one that is a bit more terse. There are pros and cons to each viewpoint. But to act like VB.NET is some pariah language and C# is the bee’s knees… that just does not make sense.
I think an important question is whether you are addressing VB.NET or VB 6.0. They are very different languages. VB 6.0 got a bad rap for being a language you would "write a proof of concept in, then write the actual program in another language that is more robust". VB 6.0 didn't scale too well. VB.NET is probably more stable/scalable, but it comes with the whole .NET overhead that I despise.
Bookmarks