• ### Announcements

#### Archived

This topic is now archived and is closed to further replies.

# VB or Delphi

## Recommended Posts

I can''t decide which one to pick. I want to be able to make windows applications quickly and eaisly. I heard Delphi is faster than VB but VB is more popular so I could gat more help with it. Please help me decide.

##### Share on other sites
As a delphi fanatic, my opinion won''t exactly be ''neutral'', but lemme try. VB is for the people ''passing by''. Doesn''t cost too much, language is not too hard, easy to create applications fast. However, in the end, delphi can do MUCH more. If you''re looking for an easy way to create GUI''s quickly, delphi would be the best choice. You can create a texteditor or mp3 player with it in a metter of minutes. Also, Delphi has a VERY good debugger, and good support, in the form of a giant help-database.
Has most of the functions the pay versions have, and it''s free!!!

##### Share on other sites
I''m a VB fan so I''ll give you my side of the story I''ll actually be quite fair about it.

I have Delphi 4 and VB 6, so maybe it''s just because I have an old version of Delphi that I don''t like it. I think in terms of functionality the languages both have their pros and cons and are equal. I just don''t like the Delphi language, maybe it''s a matter of personal taste. If you can, have a little go of both of them.

- Very easy to learn
- Has more uses than just the compiler, such as VBA in Access, Word, Excel, Frontpage etc. and also VBscript
- Support for VB in the DirectX SDK

Here are advantages of Delphi (I''m no expert, I haven''t used it much)
- Compiles to supposedly faster programs (I haven''t tested for myself though)
- Some OOP features that VB lacks (I think it has constructors like C++ etc. - or am I wrong?)
- A cool feature I was impressed with is that you can write ASM code straight in the middle of Delphi code, and mix it how you like. I only know the basics of assembler, but if you are doing advanced programming for games or graphics which need this kind of optimisation, I think it could be useful.

##### Share on other sites
True, with vb, you can get much more help. And it''s also integrated much better. But uhm, perhaps that''s because it''s a microsoft product.....? heheh
All microsoft products are easy and handy to use. However, if you want something more original, you should go for another company. Just look at microsoft frontpage! Quite a good program, but all professional designers use dreamweaver....
Delphi compiled programs are faster and smaller in size.
Also, delphi has all the components vb has, but vb hasn''t got al the components delphi has.....
About vb, I think you should be able to locate it at www.microsoft.com

##### Share on other sites
I must agree with TheSisko. Delphi and VB are both... usable... but not only does Delphi have better resulting programs, if you know where to look it has an indescribably large amount of resources attached to it.
Earlier versions of VB don''t make stand-alone .exe files, but require a .dll to run .
This may be biased slightly, but Basic(in all of its many forms) is no easier to learn and use than Pascal, and has some obscurities and restrictions that Delphi doesn''t.
Also, if you want to use assembly langauge in your programs(you probably will, even if you don''t think you will) I dont think VB has an inline assembler. Feel free to correct me on this point.

"Of all the things I''ve lost, I miss my mind the most."
Goober

##### Share on other sites
Yes, you can do inline assembly in VB, but it isn''t implemented as "part of the language" so it isn''t just a matter of surrounding the ASM with some braces. And, most people don''t know how to do it, and I''ve never seen a tutorial on it, so it isn''t a very well known fact.

One of the big problems with VB is that it is very easy to write lame code. A lot of the examples given will use the variant data type and some functions will return variants instead of useful data types. Even the default datatype is the variant so if you don''t know what you are doing, you will have all these variants in your code - and if you make a typo, the default is to assume that the typo is a new variable , eg:

Function DoStuff(Number1 As Single, Number2 As Single) Dim Rseult Result = Int(Number1) * 100 + Number2 DoStuff = ResultEnd Function

In this case, the variable Rseult would be created (a variant). The variable Result would be created (a variant). The Int functino would return a variant. And the DoStuff function would also return a variant.

This can be easily fixed, by just putting "Option Explicit" at the top (forces variable declaration) and always specifying a type for variables, but the fact that when you first start programming is that this isn''t the kind of stuff you really care about.

Trying is the first step towards failure.

##### Share on other sites
I have never tried VB but I like Delphi (or C++ Builder) very much. It''s just so easy to create GUI programs.

I can''t for one second believe that VB (a Microsoft program) would be even half as easy to use. Even if it''s called visual.
But I could be wrong.

You wan''t resources ? Buy a book.

##### Share on other sites
Hi there,

having used both VB versions (3,5 and 6) and delphi
versions (2,4,5 and 6) i would go for Delphi for the
following reasons

* Object inheritance and polymorphism - visual
basic does not support this in its so called classes
(which are actually com objects), if you want a com
object you can also create these in delphi.

This one feature helps so much in developing all
aspects of a game from the editor, graphics etc and
makes code so much easier to maintain.

example

suppose you have a class of TVisual and you want to
have a TCube and TCone which would also be visuals,
all you need to do is inherit these from TVisual and
if a seperate rendering routine is required for both
then just declare this as a virtual procedure

ie

TVisual = class
public
..procedure Render; virtual;
end;

TCube = class(TVisual)
public
..procedure Render; override;
end;

TCone = class(TVisual)
public
..procedure Render; override;
end;

... (and so on) then when you need to render them all
you need to do is create the object and call its render
method

ie

procedure RenderScene;
var
..Cube,Cone: TVisual;
begin
..Cube := TCube.Create;
..Cone := TCone.Create;

..Cube.Render; //calls TCube.Render
..Cone.Render; //calls TCone.Render
end;

(in VB you would need a totally seperate "class" for each
and it is a right pain (i cant remember the code to do it))

* Executables compiled in delphi are far faster than VB, although
you could probably get a spinning cube running at the same frame rates
on VB as delphi you will due to the fact that this is being draw by
the API opengl or D3D say, the same is not true of AI routines etc
which are all done on the CPU by your application.

* As others have said Delphi does support inline assembly,
however this is only usefull if you have a good knowlege of
assembly and incorrect use can actually slow a program down (or
worse)

* VB doesnt come with all the windows API functions defined
(although you can get utilities that copy and paste the declarations
into your code), this makes even doing a simple BitBlt operation a
up to date so they need a bit of tweaking, and it doesnt come with
some of the NT header files for security settings, or in some instances
DirectX (althought i got this on the companion tools cd with D6 Pro)

* VD requires a huge setup routine ( even for a simple application
that puts "Hello World" on a button press.

* VB is very resource intensive ( delphi hogs a lot less but is still
not as efficient as raw C or C++ code ).

* Pascal is just as easy to learn and use as basic but it is
just a lot less forgiving of crap code ( if your programming abilities
are not very good use vb else use a proper language! ).

* Delphi6 pro & ent generate code which is almost totally compliant
with Kylix (Delphi for Linux) so you get a cross platform solution
wheras VB is strictly windows only.

Hope its of some help

Mark

##### Share on other sites
Use Delphi or C++. VB suxx! Damn difficult to program in it. It allows to program bad and then finding a mistake takes hours. BTW if you code in VB you will find it difficult to program in other langs coz they are much stricter.
Ease of use - Delphi rulez. VB, I will only touch if I loose my job and offers come on VB
OpenGL pas files - They are updated all the time. You can get them at http://www.delphi-jedi.org
OpenAL (Audio Library) pas file - I am working on the translations at the moment. I have submitted it to delphi-jedi, but it is still not graded. You can get the almost-latest files from http://amresh09.tripod.com. The site is not well designed, but ok to use (never liked HTML). Still under construction. I still haven''t finished the Linux, BeOS or other OS ports.
DirectX - can get the latest from http://www.delphi-jedi.org

Amresh
ramresh@dsqsoft.com

##### Share on other sites
I have decided to go with Delphi 6 like most of you suggested.

##### Share on other sites
VB isn''t as bad as you all make it out to be. I mean really, you don''t think VB could be easy to use because it is made by Micro\$oft (granat)? Hard to program in (amreshr)? Delphi is more original (TheSisko)? These are extremely lame reasons, folks. I''m not saying VB is the best language out there, or even how it compares to Delph; but come on, at least post reasonably valid responses and not this garbage. (This isn''t for all of you, you know who you are.)
It _IS_ possible to program well in VB, although a lot of people don''t because it doesn''t _make_ you. You just have to pay attention yourself rather than expect the IDE to hold your hand.
I personally don''t like Pascal (so I never bothered with Delphi); I use C/C++ for big things that need performance, and VB for when I want to make a window with pretty buttons.

##### Share on other sites
As I already said, VB is BETTER for quickly designing something, it''s more appropiate for the ''home user''. Delphi can be used by people who really wanna earn money, cuz in the end, it has more ''things'' and better support. But for the common programmer, vb is better. I''m only usign delphi because my dad could get it for free at his work. Perhaps I would''ve gone with vb if this wouldn''t have happened.

##### Share on other sites
quote:
Original post by granat
I have never tried VB but I like Delphi (or C++ Builder) very much. It''s just so easy to create GUI programs.

I can''t for one second believe that VB (a Microsoft program) would be even half as easy to use. Even if it''s called visual.
But I could be wrong.

I''ve never used VB either, and I probably never will. Ergo, I refrain from commenting on it. Your post is no help at all.

"A society without religion is like a crazed psychopath without a loaded .45"

• ### Forum Statistics

• Total Topics
628294
• Total Posts
2981876

• 11
• 10
• 10
• 11
• 17