Stuck in a VB.NET Ghetto

My company has its entire system written in vb6. Iam relatively new in the company, and men… I F**in hate vb6!!! Its just sooooo painful.

Global variables everywere, stupid functions that dont return values, freakin dimAs, absolutely no abstraction… Maybe is just because the system is so big(CRM, finnancing, and production). I dunno… But its hard to read and it sucks, and the worst thing of all is that iam obligued to do bad programming practices…
Ahh, I almost forgot, the aplications run soooo slow, but then it may be because the DB is in MS access…

Yeah called me closed-minded, but there’s no comparison to c++ and java(even c#). OO rules.

To VB.crap:

I used VB6 at my job because it’s what we were told to use. My programs are not littered with globals, they use abstraction, interfaces and are object oriented when OO models the solution to the problem. It sounds to me like your programmers suck.

To DavidB:

You don’t know squat. I’ve met plenty of CS degree holding programmers who could not write a binary sort. I’ve also met some programmers who’ve no degree and could code concentric circles around most CS degree holders – yourself included I’m sure.

Oh, and it’s spelled “coming.”

C++ is NOT the end all of “OO” programming. Neither is Java. I’m not convinced that “OO” is even the end all paradigm of modeling software. A good programmer knows when to use procedural, functional, and object oriented constructs; when they should be used together; and how to use them together properly.

Patrick; you, my friend, are my hero. :slight_smile:

Patrick

You nailed it - Its not the language - its the resources that choose certain langauages historically that have sided with bad software design approaches. Good software design - patterns, OO design and such - seems to be luxory anymore. It has been my experience that many from the VB6 have given VB developers a bad name in the choice of software design. I run multiple C# projects and often find bad design choices that we have had too clean up also.

Its my belief that starting a project without a software architect is like building a house without a plan. You can (and probably should) design software without even looking at a line of code.

Thanks, Tim.

Although I do agree that a plan is necessary before you start coding, I’m not of the mind that one should go about drawing all sorts of UML diagrams, flowcharts and hierarchy charts before he gets there. I prefer to define the outputs and define the inputs. If it’s a large enough project, then I might even lay out some sort of organizational chart. Then I’ll design the database layout, if one is involved. Then I’ll start coding. Once the software is done it will look nothing like any of those UML diagrams. In my opinion they only stifle ones ability to adjust to new specifications and unforeseen circumstances. Plus they’re a real bitch to keep synchronized to your application. Eventually the code dictates the UML, instead of the UML dictating the code.

"Eventually the code dictates the UML"
WOW, I am glad I don’t work with VB programmers.
Please stick to VB… leave c# to the educated professionals.

You can leave the completed projects with us too.

Thanks.

Interesting discussion. I code vb.net, and that was a personal choice. I’ve been in the game a long time, long enough for ALL the knowledge I have (that is still relevant) to be self taught. I haven’t recently had much call for the Lisp and Fortran we used back when I got my Diploma in computer science. I’ve used all sorts since, Pl/1, COBOL, Basic, Assembly, DL/1 and probably dozens of others I can barely remember.

At the end of the day what matters is not the syntax of any particular language, not even how “explicit” its compiler forces a coder to be. A good coder can use ANY tool, and will recognise, understand and work with it’s limitations … and just plain get on with the job.

The environment I much prefer to work in actually has no concept of data type, let alone an “option explicit”, with a database and coding language that allows variables to be declaried implicitly, and doesn’t care if you use a variable as a string in one statement, a numeric in the next and a boolean in another. Complete anarchy! Yet it can produce systems - that work - at a speed that would make your eyes water.

Oh, and Sam, one mans educated professional is another mans wet behind the ears graduate. :wink:

Phil nailed it rather well 2 months ago.

If there’s one thing that shows ignorance faster than anything else, it’s dualistic thinking…Apple vs. PC, Con vs. Lib, non-straight vs. straight, Dem vs. Repub, Hillary vs Obama, VB.NET vs C#.NET… ALL of these dualisms are rooted in ignorance.

(Although hands down the dumbest post here was the guy that equated C#ers as consummate professionals, and VBers as unmitigated self-taught neanderthals! If I were that poster’s boss and saw that post, I’d likely remove that person from my staff pronto, on the basis that he was just too dumb to be allowed anywhere near a keyboard.)

Coding is coding. The various flavors of languages out there are exactly that…FLAVORS. Some go better with one meal over another. Some appeal to some tasters’ palates more than another…but beyond that, considering one wholly superior to another is pure folly. As Phil so aplty puts it, a true ‘gourmand’ appreciates ALL the nuances available at the coding smorgasbord, and uses them to best suit HIS particular purpose at the moment.

Any perspective less broad than that only labels the owner of that perspective as a person of diminished capacity, hypocritically pointing at the shortcomings of others.

BTW, it was those self-taught VBers that DROVE the creation of the curriculum that now allows the C#ers to TAKE those courses…because when those intrepid ‘cutting edge’ VB do-it-yourselfers were coming through school, THEY knew more than their teachers…THEY were the ones forging the way so that today’s candy-ass coders could COAST through secondary school and beyond and GET educated in the 'flavor-of-the-moment languages. How many of TODAY’s young C#ers would have had the pure intellectual capacity to teach THEMSELVES anything that wasn’t served up on a silver platter to them?

One should never disparage those who’ve gone before you, blazing the trail. Instead, one should revere them…and pay it forward.

It’s remarkable how these debates reveal character.

You can see:

  1. Balanced versus Bigotted
  2. Fact Free vs Fact Based
  3. I’m more educated, a better human being… than you are
  4. Inflexible vs…

I think it would be really powerful if I could try out some matrix based code (APL/J style), some stack based coding (Forth/HP 41 C style), so set thinking (T-SQL style but better), Functional… in the same code base. No starting a new solution, just use the right tool. F# might be getting there but it’s not all the way.

Computer Languages are for humans, it’s great to see some flexible balanced humans in here. (Remember some of the commenters are just trolling, there might actually be more rounded people behind the post.)

Wouldn’t it be great to have a way of uniquely identifying each poster (like a GUID) then permanently marking those who waste your time so that can filter them out, here, in blog comments, in newsgroups and in forums. (The danger is that some of them might become people who you do want to pay attention to.)

Some people identify a problem, and then seek the best course of action, and eventually, solution. During this process they are likely to enjoy both discovering how things work and making them work.

Other people, instead of looking for the solution to the real-world problem, are seeking to apply the methods that will give them the satisfaction, while results come only next - not disregarded though.

Which satisfaction? The one that -supposedly- verifies their fairy tale: “How much of a programmer am I???!”.

Fighting over which language is the best, is abstraction!! It cannot be used “as is” in a real conversation. Lets try saying “C# is best when…” or “VB is best when…” (like some people have already tried). THEN everything we say will count as an argument.

If I can achieve good memory/CPU/thread/you-name-it management with VB AND do the job nicely AND on time then choice is just a matter of what I am getting my kicks off.

But if I HAVE to, just HAVE to, use C# because “educated professionals” like me don’t understand “End If”, unless it is spelt “}”, then my friends, I do have a personal problem. I NEED to believe that I am a scientist more than I need to do my job/hobby (or whatever reason one is programming for).

That said, I have the utmost respect for both languages, acknowledging their pros and cons. Due to the fact that I am self-taught, VB6 originating programmer, but not an “educated professional” (even though I get money AND merit for my work, people are probably crazy around here), I 've opted for VB.NET, while not writing-out the possibility of shifting in the future.

Lol!!

I love some of the analogies here, especially the one about the construction trucks.

If the truck (i.e. the language) is the tool to get the job done, and the programmer is the driver, whether your boss gives you an actual truck or a “electric-powered 3rd-world import golf-cart” to get the job done, your still expected to do it.

This is where the whole “better language battle” is irrelevant. A driver who is highly trained and familiar with a “electric-powered 3rd-world import golf-cart” (and it is really… really hard to make a comparison between any modern programming language and a golf-cart) will still do a better job than a person who has very little experience driving a truck.

On a personal note, if your boss tells you to program in a given language because that’s what your company uses, your better learn the syntax of that language pretty well, or start updating your resume. Otherwise, a programmers ability to create a solid program is directly proportional to his experience in a language and his mastery of concepts in a given paradigm(functional vs. procedural vs. OO)

VB.NET sucks because .NET sucks.
Use JAVA.

VB.NET sucks because .NET sucks.
Use JAVA.

MssUck on November 27, 2008 07:55 PM

Interesting (for an obvious Troll). Did you bother to read it? Did you bother to see the date on the article? Did you bother to see what has changed since then?

Obviously, NO, NO and NO have to be your answers. Many of the articles complains were legitimate at the time. Most, if not all have been addressed by MS in the released versions of Studio since then. The most important being a common compiler that removes any advantages between the languages. Each language will compile into identical code now provided you consume the same objects.

Off the top of my head, Anonymous delegates are the only things which I can think of that are actually missing from VB .NET.

Aside from that, I think its important to realise that both languages have their advantages and disadvantages. I’m sure Microsoft wouldn’t invest their time in both if there was a clear winner.

Some people prefer code readability in vb .net (e.g. nested constructs so you see end if, end for, end loop, instead of }}})

I think a little bit more effort goes into c# from Microsoft, and that shows, which is why I use c#, but I certainly don’t have a hatred of vb .net.

Good Day. Worries go down better with soup than without.
I am from Bolivia and learning to write in English, give true I wrote the following sentence: Find the most inexpensive and cheap flights and airline tickets at flight network, offering the best last.

Thank :smiley: Albert.

All coding is not coding.
If all you have is Java experience I cannot hire you to fill our embedded automotive programming position.
If all you’ve done is assembly C coding I can’t hire you for our .Net developer position.

And all tools are not just flavors of each other.
We have work to do, if you want to draw a construction analogy, the debate ought to be which is the best truck to use and you’re claiming an electric-powered 3rd-world import golf-cart is just as good as… an actual truck.

There is no “trail-blazer” VB programmer.
Dijkstra, Bressingham, Carmack were about the last trail blazers.

The recent movement to padded-walls languages in CS college curriculum’s just makes that degree worth less.

PS It is by definition not possible to do OO programming in VB6 because VB6 did not support inheritance.