Advertisement

Why Not Visual Basic?

Started by January 15, 2003 03:15 PM
25 comments, last by VbDestroyer 21 years, 10 months ago
quote:
That's only partially true. From what I've read on the microsoft site. Visual basic 6.0 can can compile native code, however there are a number of limitations to the native compiling. First if any .dll files are included it will not build native code, which of course brings me to the fact that MSVBVM60.DLL is included in every visual basic compliation so it seems to void out the entire native code process. Perhaps it was a mis-understanding on my part but that's how I read the docs. Unfortunately I can't seem to track down the page now that microsoft's updated all the online docs to VB.net documentation..


I still think you've got that one wrong. You have the option to compile to P-code if you want, but why would anyone do that. Despite the linkage to additional DLLs, you're still in native code. I'll agree with you that you're stuck with having to include a 1.5 MB DLL (MSVBVM60.DLL) with whatever you develop.

quote:
Yes but you'll notice that the provided directX libraries are still OCX controls. Just because they are provided by microsoft does not make them any less active X than if these active X controls were supplied via 3rd party.


Partially right here. The DirectX libraries are accesed through a TLB which effectively makes them ActiveX DLLs, not OCXs. An OCX would be a visual control that you draw onto a form. You merely acess the class structures through the exposed interfaces of the TLB. Actually, the programming looks almost the same in VB as it does in C++.

quote:
I said it was a design pitfall. The laungage itself encourages the use of the GoTo statement (pre .net) and although you can write code with out it more often than not it's used more often than it should be.


I think this one is a moot point. Every language has design pitfalls, even C++. Just because it has the GoTo option doesn't mean you have to use it. Like I said, I do fine without ever having to use it. There's nothing in the language that would encourage someone to use it or not to use it.

quote:
In game development often times you need to make custom tools. Photoshop offers a SDK for writing plugins for the application used to lets say export a image from Photoshop onto a GBA,PS2, Xbox, or Dreamcast development kit. This is higly useful and often little to no COM support is available in these SDK's provided for 3rd party plugins. This also applies to Maya, 3d Studio Max and many other tools that are commonly used through out the industry.


You may have something there. I've never interfaced with any of these, so I can't speak regarding their ability to work with VB or C++. The argument is very strong if these are tools you are going to use and you need to interface with them through your design code.


quote:
And just so you know these weren't myths or falicies they were all accurate. I've got plenty of experiance using Visual Basic


I don't want to come across as trying to start a flame war as so many others have done. I think you make some very good points, but I also think I make some good points as well. I honestly believe that the average Joe GameDeveloper can work with VB just fine and get some fancy stuff put together. I will also defer to C++ for the truly cutting edge stuff. My point is that VB is not completely invalid and does have some strengths to consider.

-Kirk





[edited by - KirkD on January 17, 2003 6:34:27 PM]
quote: Original post by borisnico
there is one thing that hasn''t been mentioned.
Potability. C/C++ code can be compiled on almost all operating systems used nowadays and VB only runs in MSWindows.

For me that''s the most important reason to choose C/C++ over VB


Not precisely true, when applied to .NET. ALL the (managed) .NET languages compile to an intermediate byte code - similiar to P-Code but different.

When executed, this code is compiled on demand in memory (just - in time compilation) by the Common Language Runtim (CLR) and the compiled code is cached for reuse. By the way the CLR weighs in at about 20 MB - compare that to the 1.5 MB needed for the VB virtual machine. Speaking of comparing, this sounds very similiar to Java - not a coincidence. It gets even more similiar to Java:

The .Net exutable will run on ANY platform that has a CLR installed on it. That couldbe Unix, MAC, Be, etc. (Gee, I wonder where those CLR''s are now?)

So the code is even MORE portable than plain vanilla C/C++, it doesn''t need to be recompiled for different platforms. Just drop the executable on a platform that has a CLR installed, and run it.
Advertisement
Interesting stuff, Peeper. I assume I have the option to select between "managed" code (eventually P-code) or unmanaged code. Is unmanaged code similar to existing machine level compiles?

-Kirk
quote: Original post by kirkd
Interesting stuff, Peeper. I assume I have the option to select between "managed" code (eventually P-code) or unmanaged code. Is unmanaged code similar to existing machine level compiles?

-Kirk


Sorry, I wasn't too clear there. Just about all the .NET code is managed code.

As far as I know (and I could definately be mistaken) there is no option to select unmanaged code EXCEPT for C++. I think this was done to placate people concerned about performance issues between C++.NET and VSC++.

Another big advantage to the CLR based compiles is that when your writing OO code with a CLR compliant langueage, you can inherit classes and use object writtin in any other CLR language.



[edited by - Peeper on January 18, 2003 2:10:44 PM]
Nice. I''ve heard some talk about the ability to do seamless mixed language programming. Nice to consider taking the strengths of each and mixing them into one application. Assuming, of course, the ability to design a supportable architecture.

Thanks for the info!!

-Kirk
"The laungage itself encourages the use of the GoTo statement (pre .net) and although you can write code with out it more often than not it''s used more often than it should be."

Hello,
Hold up there, I think it is going a little far to say it incourages it. Most of my propgrams never use goto statements. I agree that they can make messey code, but for it to be incouraged by the language goes a little far. It is a command but it is used in basic script more than VB (In my opinion).
-VBdestroyer
Advertisement
quote:
quote:
--------------------------------------------------------------------------------
Original post by Ignacio Liverotti
If you´re good at Basic, why don´t you give DarkBasic a try? I´ve never tried it (I don´t know Basic), but the demos in the official website look (and play) really cool.

Edit: the tildes.

[edited by - Ignacio Liverotti on January 16, 2003 11:17:22 AM]
--------------------------------------------------------------------------------



Yes, I have heard of it, and almost baught it, but I decided that I going to have trouble getting a job as a dark basic programmer.


Absolutely, avoid like the plague, I used darkbasic for one summer exactly while writing a game for a darkbasic competition (which I won incidentally), and it''s terrible, unstructured and very very slow.
If any beginners are looking for an overly simple programming language to get started with, try blitzbasic, there is a much greater, more experienced community, and the language has a pretty nice structure.

This topic is closed to new replies.

Advertisement