Board index » delphi » Delphi 2 vs Delphi 1: What to choose?

Delphi 2 vs Delphi 1: What to choose?

Hello,

I'm using Windows 95, and several time ago I heard on this newsgroup
that Delphi 2.0 has some major problems (I didn't test it, yet!?).

I saw already Delphi 1.0, and it's pretty good, indeed!

Now, besides the target plataform (W95, W3.x), what I need to know is:

- If I need to program for W95 what should I use? Delphi 1.0 or Delphi
2.0 ?

- Is apps made by Delphi 2.0 really faster than apps made by Delphi 1?

- And, about Documentation? Delphi 2.0 docs are at least as good as
Delphi 1 docs?

Thanks in advance,
Best Regards,
Luis Gonzaga

 

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
In article <4pif33...@vivaldi.telepac.pt> sl.gonz...@mail.telepac.pt (Luis Gonzaga) writes:
>Hello,
>I'm using Windows 95, and several time ago I heard on this newsgroup
>that Delphi 2.0 has some major problems (I didn't test it, yet!?).

The news of its demise was greatly exaggerated, to bastardize from Mark Twain.

Quote
>I saw already Delphi 1.0, and it's pretty good, indeed!
>Now, besides the target plataform (W95, W3.x), what I need to know is:
>- If I need to program for W95 what should I use? Delphi 1.0 or Delphi
>2.0 ?

You must use Delphi 2.0 for W95, and 1.0 for 3.1.

* Note * that the latest version of Delphi 1.0 is =included= in Delphi 2, and
I highly recommend that you buy the Developer edition.  So I think that if you
do that, the choice is made.

Quote
>- Is apps made by Delphi 2.0 really faster than apps made by Delphi 1?

"Faster" is an entirely relative term, and the problem is exacerbated by the
W95 environment.  The compiler is slower but it does more optimization and
produces standard OBJs.  The W95 environment is resource-hungry so that it may
perform less well on smaller machines that ran 3.1 just fine.

Quote
>- And, about Documentation? Delphi 2.0 docs are at least as good as
>Delphi 1 docs?

Ummmmm............   :-)  

/mr/

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
> Hello,

Oi.=20

Quote
> - If I need to program for W95 what should I use? Delphi 1.0 or Delphi
> 2.0 ?

Delphi Developer 2.0, definitely. (certamente!)

Quote
>=20
> - Is apps made by Delphi 2.0 really faster than apps made by Delphi 1?
>=20

Depends on what you're doing. Even Windows 95 is a mix of 32/16 bit =
code.
16 bit code is used whenever speed/size of executable(or DLL) is most
important. Anyway, generally 32 bit code is faster.

Besides speed, another thing you should take into consideration is
flexibility. Delphi 2.0 is much more flexible than its predecessor, =
which
was also greatly flexible.

Quote
> - And, about Documentation? Delphi 2.0 docs are at least as good as
> Delphi 1 docs?

The help files are, here and there, awful. The newest ones available =
from
Borland's site are much better. Written documentation is quite good!

Luiz, sabias que tu tens um nome igual ao de um ja falecido grande
cantor nordestino aqui do Brasil?  Que coincidencia!

Boa sorte,
Daniel.

--=20
-------------------------------------------------------------------------=
-
Daniel Polistchuck      Systems Analyst
dan...@pobox.com       Technology Group
                        Simples Information Technology
                        dan...@simples.com.br
-------------------------------------------------------------------------=
-

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
Luis Gonzaga wrote:

> Hello,

> I'm using Windows 95, and several time ago I heard on this newsgroup
> that Delphi 2.0 has some major problems (I didn't test it, yet!?).

> I saw already Delphi 1.0, and it's pretty good, indeed!

> Now, besides the target plataform (W95, W3.x), what I need to know is:

> - If I need to program for W95 what should I use? Delphi 1.0 or Delphi
> 2.0 ?

> - Is apps made by Delphi 2.0 really faster than apps made by Delphi 1?

> - And, about Documentation? Delphi 2.0 docs are at least as good as
> Delphi 1 docs?

> Thanks in advance,
> Best Regards,
> Luis Gonzaga

If this is a "which do I buy?" question, which I assume it is given the nature
of the questions in your message, the answer is easy:  buy Delphi 2 - you get Delphi 1
on the same CD.

If it really is "I have both, which should I use?", I would suggest that the
following are borne in mind:

  * If you need portability (without code changes/recompiles) use Delphi 1

  * If you are not going to use any of the Windows 95 features (long filenames etc)
    and portability would be a bonus, use Delphi 1

  * If you want access to Win 95 specific features, e.g. threads, long filenames etc,
    Delphi 2 is your only real option

  * As far as improved speed is concerned, I have not noticed any difference between
    the two (which isn't to say that there is a *measurable* difference), except for DB
    access which appears to vary between being quicker and slower in 2 depending on what
    you are doing (I don't have details, this is anecdotal(sp?) - I am happy with DB
    access in both 1 & 2).

As far as I am aware, both Delphi 1 & 2 are 'current' versions for their respective
platforms (i.e. 16 and 32 bit) so it really boils down to your applications requirements.

Hope this helps.

--
Jolyon Smith                         |  The views represented above are my own
Application Development Consultant   |  and do not necessarily represent the
PLATINUM Solutions (UK)              |  views of my employer.

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
In article <jgardnerDsv1Fp....@netcom.com> jgard...@netcom.com (Jerry Gardner) writes:
>Sundial Services (sund...@primenet.com) wrote:
>: You must use Delphi 2.0 for W95, and 1.0 for 3.1.
>Nonesense! I use Delphi 1.0 on Win96 without any problems.

Allow me to correct myself -- you are right.  Delphi 1.0 produces 16-bit
applications and yes, Win95 can run those.  It runs them in a 16-bit mode in
which the advanced features, like multitasking, are not obtainable.

Delphi 2.0 produces only 32-bit executables, which also run in Win95 but which
do not run in Win3.1.  These programs can use all Win95 features.

Thanks for the correction.

/mr/

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
Sundial Services (sund...@primenet.com) wrote:

: You must use Delphi 2.0 for W95, and 1.0 for 3.1.

Nonesense! I use Delphi 1.0 on Win96 without any problems.

--
Jerry Gardner          | Maintainer of the Large Format Digest
jgard...@netcom.com    | Send subscription requests to jgard...@netcom.com

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
sl.gonz...@mail.telepac.pt (Luis Gonzaga) wrote:
>- Is apps made by Delphi 2.0 really faster than apps made by Delphi 1?

I suspect most Delphi apps spend almost all of their CPU time inside
the Windows API, and this will not speed up noticeably. However, I
have a highly CPU-intensive program (PostScript interpreter) and the
results of an early Delphi 2.0 prototype suggest that it is around
three times faster than Delphi 1.0. This is about what I was hoping
for, knowing that 32-bit code is faster, but it's pretty pleasing
nonetheless.

There are several reasons for this:
1. Delphi 2.0 produces more optimized code. I haven't compared to see
how much of a factor this is.
2. In 32-bit code, you can use 1 instruction instead of 2 or 3 to do
simple things like adding 2 longints (actually Delphi 1 could perhaps
have used 32-bit code for this sort of thing, but it didn't)
3. Everything in a program is stored in a single segment of up to 2
gigabytes, rather than many segments of up to 64K. This is not just
more convenient. The 386+ architecture protects segments, so you can
only read/write the ones which belong to you. This means that any
medium sized program is constantly having a security overhead on its
accesses. (In procedure terms, there are no 'far' procedures except in
DLLs) On a 486, a 16-bit far call uses 20 clock cycles, while a 32-bit
near call uses 3 clock cycles. Every refererence to global data in
Delphi 1 will use an extra 'LES' instruction (12 clock cycles on a
486), even though an add might take only 1-3 clock cycles. You can't
get performance ratios just by comparing clock cycles, but this is one
of the reasons - almost never explained - why true 32 bit programs
have the potential of greatly improved speed.
----------------------------------------
Aandi Inston  qu...@dial.pipex.com
Visit http://ds.dial.pipex.com/quite for info on PostScript,
PSAlter, psalters, tea, and small {*word*141} animals. And stuff.  

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
Sundial Services wrote:

> In article <jgardnerDsv1Fp....@netcom.com> jgard...@netcom.com (Jerry Gardner) writes:

> >Sundial Services (sund...@primenet.com) wrote:

> >: You must use Delphi 2.0 for W95, and 1.0 for 3.1.

> >Nonesense! I use Delphi 1.0 on Win96 without any problems.

> Allow me to correct myself -- you are right.  Delphi 1.0 produces 16-bit
> applications and yes, Win95 can run those.  It runs them in a 16-bit mode in
> which the advanced features, like multitasking, are not obtainable.

> Delphi 2.0 produces only 32-bit executables, which also run in Win95 but which
> do not run in Win3.1.  These programs can use all Win95 features.

> Thanks for the correction.

> /mr/

Can 2.0 executables run under 3.11 if I have the 32S library installed?

Gary

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
Gary Hawton wrote:

> Sundial Services wrote:

> > In article <jgardnerDsv1Fp....@netcom.com> jgard...@netcom.com (Jerry Gardner) writes:

> > >Sundial Services (sund...@primenet.com) wrote:

> > >: You must use Delphi 2.0 for W95, and 1.0 for 3.1.

> > >Nonesense! I use Delphi 1.0 on Win96 without any problems.

> > Allow me to correct myself -- you are right.  Delphi 1.0 produces 16-bit
> > applications and yes, Win95 can run those.  It runs them in a 16-bit mode in
> > which the advanced features, like multitasking, are not obtainable.

> > Delphi 2.0 produces only 32-bit executables, which also run in Win95 but which
> > do not run in Win3.1.  These programs can use all Win95 features.

> > Thanks for the correction.

> > /mr/

> Can 2.0 executables run under 3.11 if I have the 32S library installed?

> Gary

Sure.

But beware that there are a few API which are not handled in Win32s (most deal with the
Win95 shell).  More problematics are the API which aren't *emulated* in Win32s, which are
more numerous (if you wonder which ones, you can click in the "Overview" tag in the Win32
help; this will show you the status of the API in Win32s support).

A this point, someone can point out that "if I didn't use directly Win32 API, then I won't
have any problem..."  Unfortunately, this is wrong, because all the code you use make (at
a lower layer) of Win32 API.  And, more unfortunately, I've read in Borland documentation
that there are, in parts of the VCL, calls to API not emulated in Win32s; but I don't know
which ones (more information requested here).

One more point: don't dream to use D2 Console mode in Win32s.  This area is clearly out of
scope.

Hope this will help.

Re:Delphi 2 vs Delphi 1: What to choose?


It is NOT necessarily true that 32-bit code is inherently faster than
16-bit code.  If an app doesn't require multi-threading/multi-tasking, and
you don't need to store values that exceed the capacity of a 16-bit
register, converting an app to 32-bit makes it bloat and slow down.  For
any one who's interested there's an article in InfoWorld May 13, 1996
concerning this.

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
Chris Borgnaes wrote:

> It is NOT necessarily true that 32-bit code is inherently faster than
> 16-bit code.  If an app doesn't require multi-threading/multi-tasking, and
> you don't need to store values that exceed the capacity of a 16-bit
> register, converting an app to 32-bit makes it bloat and slow down.  For
> any one who's interested there's an article in InfoWorld May 13, 1996
> concerning this.

 What you are saying is true in general; however (and forgive me if this
point has been made earlier in this thread) Delphi 2.0 in particular is
quite a bit faster than 1.0 regardless of what size values you are
manipulating.  I have a prime number generation benchmark that uses
values only up to 30,000; Delphi 1.0 ran it in 3.5 seconds, while 2.0
runs it in less than .75 seconds.  On the down side, compile times seem
to be longer (though I haven't clocked any).

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
Chris Borgnaes wrote:

> It is NOT necessarily true that 32-bit code is inherently faster than
> 16-bit code.  If an app doesn't require multi-threading/multi-tasking, and
> you don't need to store values that exceed the capacity of a 16-bit
> register, converting an app to 32-bit makes it bloat and slow down.  For
> any one who's interested there's an article in InfoWorld May 13, 1996
> concerning this.

Don't believe all of this. For instance,

in a 16 bit program, just adding a longint (in Pascal) to another
longint takes much longer in 16 bit than 32 bit Delphi. Because the
computation can be done in one machine instruction.

As for most 16 bit apps, a simple call to a FAR function (and all
inter-unit calls and jumps are FAR if Delphi linked them to a different
segment) will take MUCH longer in protected mode (and ALL Delphi apps
are protected mode apps) because the segment registers have to be
changed. In a 32 bit app, the segment registers don't change because all
jumps and calls in the same app are NEAR.

Look up how many clocks it takes to make a NEAR jump or call compared to
the number of clocks it takes to make a FAR jump or call. You will  find
out why 32 bit apps really are inherintly faster.

Mark B

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
borgn...@freenet.columbus.oh.us (Chris Borgnaes) wrote:
>It is NOT necessarily true that 32-bit code is inherently faster than
>16-bit code.  If an app doesn't require multi-threading/multi-tasking, and
>you don't need to store values that exceed the capacity of a 16-bit
>register, converting an app to 32-bit makes it bloat and slow down.  For
>any one who's interested there's an article in InfoWorld May 13, 1996
>concerning this.

Using my own empirical observations, I'd have to  agree with the above
paragragh. Just because it can pump DWORDs instead of a WORD
through the registers (via the OS) doesn't always mean that the
software's faster under all circumstances.  I think the 486 crowd with
8 megs and non-VLB and/or PCI bus, will back me up on this one. As for
the pentium 16 meg crowd, it'll be faster every time, but not everyone
owns one as of yet.

JE McTaggart
t...@iguana.ruralnet.net
La Junta, Colorado

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
In article <4qjnjn$...@clark.zippo.com>, t...@iguana.ruralnet.net wrote:
>borgn...@freenet.columbus.oh.us (Chris Borgnaes) wrote:
>>It is NOT necessarily true that 32-bit code is inherently faster than
>>16-bit code.  If an app doesn't require multi-threading/multi-tasking, and
>>you don't need to store values that exceed the capacity of a 16-bit
>>register, converting an app to 32-bit makes it bloat and slow down.  For
>>any one who's interested there's an article in InfoWorld May 13, 1996
>>concerning this.

>Using my own empirical observations, I'd have to  agree with the above
>paragragh. Just because it can pump DWORDs instead of a WORD
>through the registers (via the OS) doesn't always mean that the
>software's faster under all circumstances.  I think the 486 crowd with
>8 megs and non-VLB and/or PCI bus, will back me up on this one. As for
>the pentium 16 meg crowd, it'll be faster every time, but not everyone
>owns one as of yet.

But exactly what is it that you're comparing? The OS or the software?
I have no doubts that Win 3.1 could run an app faster than Win95, because
Win 3.1x doesn't have to
 - support both 16 and 32 bit software
 - provide real pre-emptive multitasking

If the user(s) are running NT, surely the best thing would be a pure
32 bit app that can execute without all API calls being thunked to
corresponding Win32 API functions?

Instead of running one app blazingly fast, NT lets the user run more
than one app at an acceptable speed. I haven't measured it yet, but
I expect 16 bit apps to run slower under NT with a possible higher CPU
utilization than it's 32 bit counterpart.

--
=\
 *=- R.Moberg, CD-Player Pro info @ http://www.sn.no/~mobergru/
=/

Re:Delphi 2 vs Delphi 1: What to choose?


Quote
t...@iguana.ruralnet.net wrote:
>>borgn...@freenet.columbus.oh.us (Chris Borgnaes) wrote:

>>>It is NOT necessarily true that 32-bit code is inherently faster than
>>>16-bit code.  If an app doesn't require multi-threading/multi-tasking, and
>>>you don't need to store values that exceed the capacity of a 16-bit
>>>register, converting an app to 32-bit makes it bloat and slow down.  For
>>>any one who's interested there's an article in InfoWorld May 13, 1996
>>>concerning this.

>>Using my own empirical observations, I'd have to  agree with the above
>>paragragh. Just because it can pump DWORDs instead of a WORD
>>through the registers (via the OS) doesn't always mean that the
>>software's faster under all circumstances.  I think the 486 crowd with
>>8 megs and non-VLB and/or PCI bus, will back me up on this one. As for
>>the pentium 16 meg crowd, it'll be faster every time, but not everyone
>>owns one as of yet.

I too agree with this statement.  BUT my viewpoint comes from the
"other" side (VB - Don't have the $$$ to spend on Delphi yet).

I can create apps that smoke in VB 3 and are slugs in VB 4.0 32.

For what I need to accomplish, I can create a 16-bit main application
and thunk to 32-bit when I need access to the API.
--
Brad Clarke - bcla...@{*word*104}us.ca, aw...@freenet.carleton.ca
--
File Navigator For Windows 1.2 now available for download.
HTTP://www.{*word*104}us.ca/~bclarke/filenavw.html for more info.
---------------------------------------------------------------------------------

Other Threads