ptgThug
Jun 2nd, 2000, 10:35 PM
I don't want to start a fire fight, but I feel this is something that has to be addressed. First I will give my opinion on VB and then answer some questions put forward by V(ery) Basic in another thread.
VB is a simple tool to allow you to create quick and dirty apps for a Wintel system. It is a GUI step up from shell scripting. I do see uses for VB, but just like shell scripting, you must remember your limits. Serious, commercial grade programming should be done in a more robust language; C/C++, Visual C. Web development should be done in Java, Perl, or whatever that ASP stuff is.
Now to reply to V(ery)'s points:
"If you use C++ or stuff like that, you have to learn so much just to write a program that would take 1 minute in VB. All the classes and stuff just make it impossible. Oh, and C++ files are quite big, because they don't need any special DLLs. I just thought I'd mention that."
True, you have to learn more to use C++. VB is, as I said before, quick and dirty. Here your advantage with C/C++ is, portablity and functionality. If you want to write exclusively for Wintel boxes (then you have more serious problems), fine. You may not need C/C++.
"Oh, and by the way, what are these bad habits you pick up in VB? I'd like to know so that I don't pick them up myself"
A few habits that you pick up with VB, having no prior experience:
- Too much reliance on the Variant class
- Dependence on End Loop or Goto. These hurt OO.
- You don't experience certain fun tricks, short circuiting, pointers (anonymous data structures, functions, and arrays of objects pointing to each other), bitwise operations, null filehandles. Some of these I have to believe are possible in VB. But I have yet to see it, or find doco on it. But that is still my biggest gripe about VB. Every book ever published on the language is lame. Even the O'Rielly ones.
- Lack of concern for portablity issues
VB has OO potential. But it is a step behind C/C++. You shouldn't get used to VBs take on the world. It is simplified just enough to make it easier and faster to program with.
I'm sure there are other bad habits you'd develop. I started with C++ when I started serious programming, so I missed all that. I still have some bad habits of my own. I get caught up in banging out the code, that I don't immediately see where I should shuffle code to functions for modularity. I also don't comment any thing. I am very much of the mind set that if you don't know what the code is doing, don't touch it. I need to get out of that and into the mind set of, TIAMTOW (there is always more than one way). In TIAMTOW I put comments because you may expect me to do something different because it is how you would have addressed the issue.
I have a few friends who have no un*x or programming background, and they are happy that VB7 will have "much more functionality." All I have to say is, if you find yourself unable to do something with the language, then it is time to move on. VB is still BASIC, and should be used as a stepping stone.
Regretably, I can't get VB to ftp, and I can't do this in any other language (Perl/TK) because I am trying to finish this project, turn it over, and get the hell out of here. And these people have very limited computer background, they are grappling to learn VB. You think they could learn Perl?
VB is a simple tool to allow you to create quick and dirty apps for a Wintel system. It is a GUI step up from shell scripting. I do see uses for VB, but just like shell scripting, you must remember your limits. Serious, commercial grade programming should be done in a more robust language; C/C++, Visual C. Web development should be done in Java, Perl, or whatever that ASP stuff is.
Now to reply to V(ery)'s points:
"If you use C++ or stuff like that, you have to learn so much just to write a program that would take 1 minute in VB. All the classes and stuff just make it impossible. Oh, and C++ files are quite big, because they don't need any special DLLs. I just thought I'd mention that."
True, you have to learn more to use C++. VB is, as I said before, quick and dirty. Here your advantage with C/C++ is, portablity and functionality. If you want to write exclusively for Wintel boxes (then you have more serious problems), fine. You may not need C/C++.
"Oh, and by the way, what are these bad habits you pick up in VB? I'd like to know so that I don't pick them up myself"
A few habits that you pick up with VB, having no prior experience:
- Too much reliance on the Variant class
- Dependence on End Loop or Goto. These hurt OO.
- You don't experience certain fun tricks, short circuiting, pointers (anonymous data structures, functions, and arrays of objects pointing to each other), bitwise operations, null filehandles. Some of these I have to believe are possible in VB. But I have yet to see it, or find doco on it. But that is still my biggest gripe about VB. Every book ever published on the language is lame. Even the O'Rielly ones.
- Lack of concern for portablity issues
VB has OO potential. But it is a step behind C/C++. You shouldn't get used to VBs take on the world. It is simplified just enough to make it easier and faster to program with.
I'm sure there are other bad habits you'd develop. I started with C++ when I started serious programming, so I missed all that. I still have some bad habits of my own. I get caught up in banging out the code, that I don't immediately see where I should shuffle code to functions for modularity. I also don't comment any thing. I am very much of the mind set that if you don't know what the code is doing, don't touch it. I need to get out of that and into the mind set of, TIAMTOW (there is always more than one way). In TIAMTOW I put comments because you may expect me to do something different because it is how you would have addressed the issue.
I have a few friends who have no un*x or programming background, and they are happy that VB7 will have "much more functionality." All I have to say is, if you find yourself unable to do something with the language, then it is time to move on. VB is still BASIC, and should be used as a stepping stone.
Regretably, I can't get VB to ftp, and I can't do this in any other language (Perl/TK) because I am trying to finish this project, turn it over, and get the hell out of here. And these people have very limited computer background, they are grappling to learn VB. You think they could learn Perl?