VB or Delphi

Started by
11 comments, last by y2rr 22 years, 6 months ago
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.
Advertisement
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.
My advice: go for delphi Download delphi 6 personal for free from www.borland.com
Has most of the functions the pay versions have, and it''s free!!!
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.

Here are advantages of VB
- Loads of help, many websites and books about VB
- 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.
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.....
Anyway, just see for yourself. Delphi personal can be downloaded for free at www.borland.com
About vb, I think you should be able to locate it at www.microsoft.com
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
On my cloud where I belong...Goober
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.
Trying is the first step towards failure.
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.
-------------Ban KalvinB !
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
total headache. This said the delphi headers for OpenGL arent totally
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



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

OH BTW Delphi6 is free from http://www.borland.com/downloads




Amresh
ramresh@dsqsoft.com
dArkteMplaR of Delphi
Thanks for all your help.
I have decided to go with Delphi 6 like most of you suggested.

This topic is closed to new replies.

Advertisement