Making an Argument Against Using Visual-Basic? 690
ethan_clark asks: "I work for a small company (< 10 employees) as a software engineer. The company got its start with a software product written by the owner in VisualBasic. He hired me to assist in rewriting the software – only catch is, he's stuck on having it re-written in VisualBasic. This scares me, but I honestly can't make a good argument against VB because I'm not familiar enough with it.
So my question is twofold: I am looking for some confirmation to my suspicion that VB isn't the greatest language for large projects; and If VB isn't good, arguments against using it. If it is good, what arguments would you use to argue for it (for my sake)?" If you are going to argue against a language, it is best if you do so after you become familiar with it so that you can argue fairly on its merits and deficiencies. VisualBasic, like just about every other language, has its place. For the sake of discussion however, what tasks would VisualBasic not be suited for?
Couldn't agree more! (Score:5, Funny)
And it's called hell.
VisualBasic = the devil (Score:5, Funny)
C# and VB.NET are very similar, and C# has a much more standardized syntax style. It will take little time to teach someone C# that is familiar with Java or even C++, but it could take some time to acclimate that same programmer to VB's retarded syntax style. Any language with constructs like "If Not foo Is Nothing Then
JavaScript, C, C++, C#, Java, and even Perl have the same curly-brace blocks, statements end with a semicolon syntax style.
If your boss gives you the often used "anyone can learn visual basic in a day" line, give him the "anyone can learn Java or C# in a day also, and the talent pool for those languages is much larger" response.
Re:Give us a bone! (Score:5, Funny)
Re:Give us a bone! (Score:4, Funny)
reasons not to use VB (Score:5, Funny)
2. Geeks won't be impressed because it's so VB
3. Microsofties will explain how your language is "deprecated" unless it's VB.NET. Trust me, it's bad to be deprecated on.
4. Enterprise programmers will explain how C# (or Java) is better than VB.NET, has more constructs, etc.
5. (An elaboration of point #2.) To a programmer, "dim employees() as integer" just looks goofy.
6. You and your company will be a one-man profit center for Microsoft (their tools are priced so that they don't come cheap when you need to do real work). Here it's not so much big bad Microsoft that's a problem, but I hate being someone else's one-man profit center.
7. If it's Visual Basic 6, try to get a hold of Ted Pattison's (out of print) book on how to use Visual Basic with DCOM. It's a great book, but my takeaway was that it's easier and wiser just to say no. (I suspect this may have been Pattison's POV too).
Re:VB isn't _that_ bad (Score:2, Funny)
Re:Easy answer (Score:5, Funny)
Re:Couldn't agree more! (Score:4, Funny)
You can tell the difference?
Re:Can .Net Provide a Vehicle for alternatives? (Score:3, Funny)
Technology sustainability (Score:3, Funny)
What I've seen has been mainly Access being used as a RAD to develop portfolio management systems, with VBA constituting the language the logic is developed in. Some observations:
1. Such applications when used over the medium to long run invariably become unmaintainable. The business changes, loan products change, organizational structure changes, new needs arise, servers are upgraded, etc. This we all know; there is no such thing as finished software. A VB application has the advantage of getting up and running fast, but as the code changes accumulate over the years, the code becomes unmaintainable; a change here b0rks fifteen things elsewhere and the developer (often one person) eventually gets to the stage where he just says "no, we can't do this". IF you're lucky, he tells you that it's because he needs to reqrite the app. If you're not, he attributes the limitation to the abstract god of technology.
2. The Access/VB development environment is indeed a VRAD (very RAD). You can go from zero to information system in almost no time with almost no resources (the typical scenario of one developer mentioned previously). TH downside is that when you have this few people working on the system, it can be underdocumented. Which means that when your magical one-man development team jets, it's going to be easier to rewrite the application from scratch (and when that crisis comes, it's often rewritten in Access/VBA again, since a system is needed, FAST). Oh my aching bones...
3. Mentioned elsewhere, but these MS products are EOL'ed periodically. No support. No bug fixes. No security fixes. One often overlooked consequence of this is that MS drives the techie labor market towards its current offerings; what this means is that you are not going to expect a VB-based product to last, since a few years down the road the Microsoft marketing machine has changed the paradigm and driven developers towards other technologies, limiting the availability of engineers to feed your monster.
4. When you're developing a system for business usage, you're going to want to have several things which more proefessional toolchains make more readily expose; things which, more likely than not you can accomplish nominally in VB albeit with a lot of workaounds and in many cases not very reliably and sub-optimally. Audit trails, transaction atomicity, multi-user functionality, etc.
I'll post more if I canthink of them. Good to have a reference of VB drawbacks, especially since I see it so often.
Re:This post was brought to you (Score:3, Funny)
Re:Can .Net Provide a Vehicle for alternatives? (Score:3, Funny)
**** THE PROOF THAT Visual Basic IS EVIL **** (Score:1, Funny)
V I S U A L B A S I C
22 9 19 21 1 12 2 1 19 9 3 - as numbers
4 9 1 3 1 3 2 1 1 9 3 - digits added
\_____/ \_____/ \_____/ \_____/ \_________/
4 4 4 3 4 - digits added
Thus, "Visual Basic" is 44434.
Add 2971 to it - this is the year guillotine was first used, written backwards - you will get 47405.
Add 4091 to it - this is the year Oppenheimer, the man who created the atomic bomb, was born, written backwards - you will get 51496.
Add 8591 to it - this is the year Nabokov's "Lolita" got published, written backwards - you will get 60087.
Turn the number backwards, subtract 1686 - the year Newton published wildly misunderstood "Principia". The number is now 76320.
Turn the number backwards, subtract 1929 - the year Bingo was invented, taking many lives in years to come. The number is now 438.
This, written in octal, is 666, the number of the Beast.
It speaks for itself. QED.
Copyright (C) Michal Zalewski http://lcamtuf.coredump.cx
Re:Which version of VB is it? (Score:5, Funny)
It's not entirely useless; I'm using my three VB6 MS books as a stand for my monitor to get to the right height. The only downside is that I continuously have 'VB 666' staring at me in the face.
Re:My biggest gripe... (Score:3, Funny)