|
...just bad programmers.
Use the right tool for the job.
Ant.
|
|
|
|
|
I have seen this argument used in many places but I would like to see a definitive list of times when it is considered suitable to use VB and when it is not.
Honestly I can see a few areas where it is required to use something like C++. Places where code needs to be very tight and fast, but then most of the C++ programmers that I know will still use inline ASM for code like this so I cannot say that argument is 100% either.
I have to use C++ when I am dealing with hardware that does not offer a VB capable API interface or on an application that requires threads.
I also have to use C++ for software that runs on most embedded systems just because there is no room for the VB runtime and it also usually falls into one or both of the other areas listed above.
But for a business type application, I see VB as a very good contender. Even more so now that .NET has arrived and we have a BIT more of a level playing field as far as runtimes and types go.
Paul Watson wrote:
"At the end of the day it is what you produce that counts, not how many doctorates you have on the wall."
George Carlin wrote:
"Don't sweat the petty things, and don't pet the sweaty things."
Jörgen Sigvardsson wrote:
If the physicists find a universal theory describing the laws of universe, I'm sure the a**hole constant will be an integral part of that theory.
|
|
|
|
|
Its definately hard to state "black and white" where you would use one language over any other.
There is also no reason why you wouldn't use a mixture of languages for the various components that make up your solution.
Ant.
|
|
|
|
|
Ray Cassick wrote:
But for a business type application, I see VB as a very good contender. Even more so now that .NET has arrived and we have a BIT more of a level playing field as far as runtimes and types
I agree in the past where you had to develop a data centric type of application, for example a stock control system, VB would be done for the UI and maybe a springling of COM for some of the business logic.
But with the advent of .net I would say that C# is the man for the job, that's my opinion because I just don't like VB has a structured programming language.
I am that is
|
|
|
|
|
I use VB when I want to test an activex control. Quick and easy and if it works in that environment it's probably going to work anywhere
Rob Manderson
http://www.mindprobes.net
Paul Watson wrote:What sense would you most dislike loosing?
Ian Darling replied.
Telepathy
Then I'd no longer be able to find out everyones dirty little secrets The Lounge, December 4 2003
|
|
|
|
|
Ray Cassick wrote:
I have seen this argument used in many places but I would like to see a definitive list of times when it is considered suitable to use VB and when it is not.
It all depends on your background and experience.
I tended to pick C++/MFC for things that may have been quicker and better in VB. Database apps with reasonably simple GUI's were far better suited to VB than C++ (providing you wrote actual code rather than just dropping a data connection object onto a form).
Of course, C# has now made VB obsolete in my eyes. In C# it is as easy to write DB apps as it is to write them in VB. Plus you get the added bonus, of a decent syntax and a great development enviroment. (Two things that VB6 lacked)
Michael
But you know when the truth is told,
That you can get what you want or you can just get old,
Your're going to kick off before you even get halfway through.
When will you realise... Vienna waits for you? - "The Stranger," Billy Joel
|
|
|
|
|
Antony M Kancidrowski wrote:
There are no bad programming languages...
...just bad programmers.
...and those bad programmers seem to favor VB...
Antony M Kancidrowski wrote:
Use the right tool for the job.
Keep in mind, a good portion of this is personal preference - and not just yours! On any sizeable project, using a language which will be understood and easily maintained by others working on it may in fact trump other reasons for choosing a particular tool.
As an aside: i learned to code using fairly simple BASIC interpreters. Once i decided it was time to move on, i put a fair bit of effort into choosing a new language to learn. After some research, i decided on C and Forth as languages that looked to be the most useful. C (followed later by C++, Objective C, Java...) has proved to be quite useful to me... Forth, because of its relative obscurity, has not. And so even when there are situations where it might in fact be the better tool, i have touched Forth only once in the past five years (at which point it was to write a simple implementation of it for use on a project... in VBScript).
But in the end, it's all just database access right? And that stuff is just plain boring.
|
|
|
|
|
Shog9 wrote:
a good portion of this is personal preference
Very very true. I'm in the process of learning C# but still at the low part of the learning curve. So when I want to start a new project it's very hard to overcome the neural paths that want to drive me into the C++ application wizards. Luckily (and unluckily) I'm unemployed right now so I have only myself to argue with over the language of choice.
Shog9 wrote:
As an aside: i learned to code using fairly simple BASIC interpreters
I learned on the Z80 and then spent some years with HP Rocky Mountain Basic writing test instrument systems. One of my creations even became an HP product (HP Z-50601A if I remember rightly). I think we sold all of 3 copies
Like you, I decided it was time to move on and generalise. I found C and then C++. I'd happily stick with C++ but a part of me says that to stick to the one language is to stagnate. I'm way too young to accept stagnation
Rob Manderson
http://www.mindprobes.net
Paul Watson wrote:What sense would you most dislike loosing?
Ian Darling replied.
Telepathy
Then I'd no longer be able to find out everyones dirty little secrets The Lounge, December 4 2003
|
|
|
|
|
there ARE bad programming languages: ever heard from Turbo Pascal?!
|
|
|
|
|
and personally i like C - style languages like C++ or C# more than VB.net because they have a shorter syntax than VB
|
|
|
|
|
Anonymous wrote:
there ARE bad programming languages: ever heard from Turbo Pascal?!
Hey. My first proper programming was done in Turbo Pascal. Turbo Pascal was a great language and environment for it's time.
Of course, I still think Borland blew it when they turned it into Delphi but that has more to do with the libraries and the environment than the language itself.
Michael
But you know when the truth is told,
That you can get what you want or you can just get old,
Your're going to kick off before you even get halfway through.
When will you realise... Vienna waits for you? - "The Stranger," Billy Joel
|
|
|
|
|
You just happened to pick my first procedural language and IMHO was the best programming language under DOS for its time!
Ant.
|
|
|
|
|
Try DataPoint's "Databus" language for a real piece of work. I especially liked version 1.0 which took 1 full hour or more to compile.
|
|
|
|
|
Brainfuck rules the world
scio me nihil scire
My OpenSource(zlib/libpng License) Engine:
http://sourceforge.net/projects/rendertech
Its incurable, its a Pentium division failure.
|
|
|
|
|
Dude, that is not cool. Stop ripping on VB programmers!
But in the end, it's all just database access right? And that stuff is just plain boring.
|
|
|
|
|
As much as this was meant as a joke, I believe it is nonetheless very true. The reason is that there is a class of programmers (bad programmers) that usually haven't spent the time to learn something more structured. They tend to only learn enough to get their job done -- not enough to learn how to do it well. Historically, what language has been the easiest to learn and the easiest to program without much structure? BASIC (and then Visual Basic). Thus bad programmers tend to gravitate toward VB. And this is what I usually end up seeing (and I am sure many programmers see as well).
Before you start screaming at me, let me reassure people that I am NOT saying that VB programmers are necessarily bad programmers -- I have seen many very gifted VB programmers. It's just that VB tends to attract the lazy programmers (i.e. bad programmers).
- Kevin Hall
(A person who still believes that VB is useful for the right jobs)
|
|
|
|
|
I think VB.Net is the first real VB programming language...;)
|
|
|
|
|
Hey, that's a cheap shot. The Microsoft BASIC in ROM on the original IBM PC, limited though it was, still had it's uses. I've no doubt each version of VB had their uses also. It might be useful to teach more VB programmers what those uses are, and what they are not!
This goes for VB.NET also...
But in the end, it's all just database access right? And that stuff is just plain boring.
|
|
|
|
|
It's the first version of VB to have an okay development environment and the first version to be a good OOP language. But why use it when you have C#?
Michael
But you know when the truth is told,
That you can get what you want or you can just get old,
Your're going to kick off before you even get halfway through.
When will you realise... Vienna waits for you? - "The Stranger," Billy Joel
|
|
|
|
|
right. and why using VB.net when C# has a better (and shorter) syntax?!
|
|
|
|
|
VB does not make bad software, bad programmers make bad software! Generally a lot of bad VB code goes out because of it's reputation for RAD. You never get to finish anything, because the GUI goes together so fast, clients think thats it! They want to use it straight away and don't want to wait for proper testing.
With C++ you can't make mistakes because it's gonna fold. With VB it's easy to let something slide because it doesn't fall over as easily. So it ALLOWS bad programming, but it doesn't encourage it.
I was doing things in VB5 and VB6 that people thought you shouldn't be able to do including writing GUI controls and hooking into windows message queues and doing my own interception.
With VB.Net it truely doesn't matter any more. I download C# projects off codeproject and convert them to VB quite easily. I think it's time people stopped being childish about languages and just accepted that we all have the experience and skills we have.
There seems to be a tendancy for programmers to be constantly playing one-upmanship. I'm better than you etc. The same principles apply across most languages and if you think you're better than someone else then offer advice, don't take the p$&% and regress to the playground.
|
|
|
|
|
FruitBatInShades wrote:
The same principles apply across most languages and if you think you're better than someone else then offer advice, don't take the p$&% and regress to the playground.
The problem here is, some people don't take advice such as "go back to school and learn to program" at all well...
But in the end, it's all just database access right? And that stuff is just plain boring.
|
|
|
|
|
Shog9 wrote:
"go back to school and learn to program"
Hence proving my point
|
|
|
|
|
All that has been said in this thread is true. However, after spending a year in information security, I can tell you that even in the hands of an expert VB programmer, Visual Basic in any form is not built for secure transaction programming; it's too easily cracked. Most good VB programmers use VB's strengths, which is generally in interacting with SQL Server data and easily building server generated GUI's, but write client-to-server and server-to-client code in more secure languages like Java, JSP, C#, or C++ and use VB on the server. I think much of the issue here is that VB is easy to learn, and as a result, bad programmers can pass themselves off as experts with bad VB code. In my experience as a coder, if I can keep VB code working on the server and not interacting with the client, I get the benefits of VB without the security issues in a Microsoft SQL Server environment. However, recently, I have been using more C# since I get the same benefits in one language. It all depends on the business needs and requirements and the architecture of a business system. Those generally determine which language or languages I will use to get the best and most secure performance.
Big Orange
|
|
|
|
|
VB is not a bad language. It does eveything every other language can do. The things that make it bad as an environment for building useful applications are:
0. the VB6 environment crashes, loosing code at times (for no reason) (it is repeatable too)
1. it seems to make those who no nothing about programming think they do (I am not saying all who program in VB do not know what they are doing; I am only refering to those who know nothing, you know who you are
2. the lure of 3rd party controls, and their lisensing can make diestribution a nightmare
3. ever try to debug a large VB application? well, let's just say you don't want to go there, the environment is horrible
4. the VB environment can't make up its mind on CLSID's, so, everybody on your dev team better have exactly the same configuration, or when your project goes production, your code is going up in flames
5. code limitiation as to how much you can put in a file (we have hit this many times; and no, we are not putting to much code in a single method or class; remember, your comments and whitespace count too)
And, I could go on, and on, and on, and on.... However that is not the point. The point is that in a production environment, I want something that makes my job easier from start to finish, not just at the start.
As far as VB.Net goes, I see that it fixes the short comings mentioned above. In almost every aspect, it is the same as C#, or other languages. So, why not use C#. Why promote 50 diferent languages? Why not unite to a single unified method? For all purpposes I have seen, there are only subtle differences in keywords and syntax.
|
|
|
|