Solved

Why delphi users/developers/programmers switch to delphi 2010/XE?

Posted on 2010-11-13
14
1,216 Views
Last Modified: 2012-05-10
I am using delphi 7.
Whats the big deal if I switch to delphi 2010?
Does it will make my app load fast? run fast?
I always encounter forums that users asking the code from delphi 7 to delphi 2010/Xe.
Why they want to convert it? Is there a difference in speed? As I know delphi 7 is the fastest to load and run the functions.
I've heard about ansiString to unicode, why convert to that? does it make fast?
Whats the big issue here?

Please comment on your experience and correct analization.

I raise up 500 points for multiple comments to be accepted, the best comment shall have the best solution points.


Thanks

0
Comment
Question by:systan
  • 5
  • 2
  • 2
  • +5
14 Comments
 
LVL 7

Accepted Solution

by:
armchang earned 200 total points
ID: 34127864
Hi,

[Whats the big deal if I switch to Delphi 2010?]
There are many things that raise users to switch to Delphi 2010/XE or to a newer version. For some, they like to get new features like new controls, upgraded controls, new look and feel and new technology/functionality. For me, I kinda like to upgrade because of the new technology/functionality and new controls. I've been using Delphi 7 since 2005 and I just upgraded because I want to learn new things.

[Does it will make my app load fast? Run fast?]
Not necessarily, it will still be based on how native and simple your code is. Of course, whenever there's a new control sometimes it may make the application a bit slower but this depends.

[I always encounter forums that users asking the code from Delphi 7 to Delphi 2010/Xe.
Why they want to convert it? Is there a difference in speed? As I know Delphi 7 is the fastest to load and run the functions.]
Many programmer may have difficulty converting their old code from Delphi 7 to Delphi 2010/Xe because this may be due to different class/object names used from Delphi 7 and Delphi 2010/Xe. There's no specific issue directing to difference in speed for their code but I know that Delphi 7 can be more faster to load and run functions as some code use native objects/functions than the newer version if they also choose to use but this is always not 100% the case.

[I've heard about AnsiString to Unicode, why convert to that? does it make fast?]
The reason for conversion is that some need to use the complete set of codes/character particularly in encryption and decryption functions. It wouldn't make it faster because AnsiString is 8 bytes while Unicode is 16 bytes.

Please do give me a reply.
0
 
LVL 14

Author Comment

by:systan
ID: 34128051
I'm glad reading it.
0
 
LVL 24

Assisted Solution

by:jimyX
jimyX earned 100 total points
ID: 34128207

Migrating to Delphi 2010 will give you a grasp on the new features that was introduced in 2010.
There is a big difference in graphics and controls but performance wise, I use Delphi 7 as it serves my needs very well.

Although Delphi 7 still can compete, but Delphi 2010 is full of enhancements and functionality.

Small example that users might ask for conversion from D 7 to D 10, some datatypes require changes such as PChar. In 2010 PChar is equal to PansiChar so no more Pchar. And when you use StrAlloc, which returns PChar, in 2010 you have to cast it to PansiChar to be Pansichar(StrAlloc()).

There is another thing some components are not yet supported by 2010 BUT there are new stuff, below are some info from About.com

Delphi 2010, has more than 120 new and enhanced features that help you finish projects faster and reach more users.

This article lists new features in Delphi 2010 for Win32 development.

http://delphi.about.com/gi/o.htm?zi=1/XJ&zTi=1&sdn=delphi&cdn=compute&tm=35&f=22&su=p284.9.336.ip_p504.1.336.ip_&tt=2&bt=1&bts=0&zu=http%3A//www.embarcadero.com/products/rad-studio

refer to "RAD Studio Key Features for Windows Development" at the right side.
0
 
LVL 32

Assisted Solution

by:ewangoya
ewangoya earned 80 total points
ID: 34129347
These are my thoughts

Whats the big deal if I switch to delphi 2010?
There is really no big deal. If you want to take advantage of new language features (which are nice by the way)
then upgrade otherwise there is really no point of an upgrade if your basic code remains the same

Does it will make my app load fast? run fast?
Nope, well written code will perform well under any version

I've heard about ansiString to unicode, why convert to that? does it make fast?
Whats the big issue here?
Again ask yourself, does your current program need unicode?, for what purpose?, does it add value to your business?

At the end of the day, the biggest question is
What is the cost of conversion?  (May not be so easy to calculate)

The initial cost may be high (if you are unlucky) but in the long run, it's always better to have the current technology
0
 
LVL 13

Assisted Solution

by:ThievingSix
ThievingSix earned 50 total points
ID: 34129361
Unicode (The ability to use non standard language characters)
More integration and support for Windows Vista and Windows 7
Code does run faster. The compiler has been optimized. One personal experience is a compression program I had when I used Delphi 7 ran much faster when compiled with Delphi 2009
Generics and Collections allow much faster coding in situations
Delphi XE will eventually be the start of multi platform and x64 compiling (or so they say)
0
 
LVL 14

Author Comment

by:systan
ID: 34129502
Ahah,

>>Code does run faster. The compiler has been optimized. One personal experience is a compression program I had when I used Delphi 7 ran much faster when compiled with Delphi 2009

But Why it runs faster?

Now that conflicts to the other comments.
0
 
LVL 13

Expert Comment

by:ThievingSix
ID: 34129512
It runs faster because the compiler that generates the bytecode has changed. Now, not all code will benefit, but some definitely will.
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 7

Expert Comment

by:armchang
ID: 34129643
Systan,

Not all code run faster only some. I believe this one is due to code using the x64 platform features thus making it more faster than the x32 platform which is used by the Delphi 7. Of course a PC using the x64 technology does outperform a PC running only at x32.

Do you now have ideas? If yes, then please select the experts that contribute to your solution.
0
 
LVL 37

Assisted Solution

by:Geert Gruwez
Geert Gruwez earned 30 total points
ID: 34129734
if you were using D4 or D5
why did you switch to delphi 7 ?
same reason ... :)
0
 
LVL 14

Author Comment

by:systan
ID: 34130418
>>I believe this one is due to code using the x64 platform features thus making it more faster than the x32 platform which is used by the Delphi 7. Of course a PC using the x64 technology does outperform a PC running only at x32.

I believe because of the memory, how 64bit handles it.


Expert [Epasquiers] comment about 64bit;
About 64 bit : there is a lot of talks about Delphi not supporting 64 bits. I'm really wondering if more than 5% of the talkers knows how small an issue that is. There is absolutely NO problems with 32 bits applications running in 64bits system. Quite the opposite in fact. I'm running Delphi 5,7 & 2007 on Vista 64, and all my applications compile &  works fine.

A 64 bit compiled application will NOT work on 32bit system. So every application that needs to work everywhere will HAVE TO be able to compile & work also in 32bits version. Which means that the design of the application MUST restrain to 32bits limitations, and only implement some 64bits optimizations (key functions that have to be implemented in both versions and switch at compile time)

The key benefits of 64bits are for applications that need :
- heavy calculations on 64bits int (ex: maths problems solving). How many of Delphi developers where ever limited by the 4G values possible in 32 bits int ? most of the variables never hold values more than a few hundreds, maybe thousands
- huge memory requirements (more than 2GB). Again, how many developers create applications that can hold in memory a significant part of their hard drive ? and to be a significant leap forward you would have to run on a system with 6, 8 or maybe 10 GB of memory, otherwise your application would be swapping madly. And if you have such a 64bit system with that much memory, you could design your application to spawn different 32 bits PROCESSes (not threads), each limited to ~2GB, all working together, communication between them with TCP/IP in the local loop for example. You would then have the benefit of being able to extend easily this system of applications to run those processes on multiple MACHINES, therefore doing LOAD BALANCING, which is a much better design that a single process addressing 64bits memory space all by itself.

Which means, all combined, that there is only one out of millions of applications that really could use 64bits compilation, and none that absolutely need it.

>>Do you now have ideas? If yes, then please select the experts that contribute to your solution.
Yes, but I would like to keep this open until others comment about what ThievingSix comments.

Good point Geert;

But I thought using unicode would make the system app slow, because unicode uses international language on characters and strings,  that makes the system always find the language char,  while using only ansi focuses only on one language.

Can you submit a simple code delphi project that compares using unicode(using delphi2009) and ansi(using d5-d7) with the same output.


Thanks
0
 
LVL 19

Assisted Solution

by:Thommy
Thommy earned 20 total points
ID: 34130461
My main reasons for changing to XE were:

- Unicode support
- Better support for Windows 7
- New controls which make applications up to date
0
 
LVL 8

Assisted Solution

by:lomo74
lomo74 earned 20 total points
ID: 34131270
I switched to D2010 because:
- better integration with Windows Vista / 7, including aero;
- unicode support: yes, I need it. No, I don't write international software for japanese people :-) but I use many different languages and components, and I love to integrate those that speak unicode into my delphi programs. There's a little improvement in performance too, remember that Windows kernel speaks unicode, and ansi version of the API is actually a wrapper around unicode version, which convert "on the fly" input and output parameters and calls the unicode version; so, using ansi version of the API adds the overhead of converting parameters plus an extra call (but who cares, really?);
- be careful: this unicode thing may break your code, expecially if you have lot of pointers and always assumed a char being one byte long; be ready to review all your source code, even if Delphi engineers did a great job in preserving as much as possible source compatibility with old ansi strings IMHO;
- IDE is much better. I love autocompletion, refactoring, reference finder, sync edit mode, ...
- I never did benchmarks between the two. I think you'll hardly notice great performance gains, even if compiler optimization has been enhanced and new syntax added and blah blah blah.

In a few words: if I were in your shoes, I'd upgrade only if I'm forced to.
I was forced mainly for compatibility with Vista / 7 - be careful: I'm *not* saying delphi 7 code won't run on Vista / 7. The problem is with the IDE itself, that won't install at all on 7.
Vista / 7 are much different from previous OS, while eg. XP is not that far from 2000, so you could develop on 2000 and run on XP or vice-versa BUT it is a bad idea to develop for Vista / 7 on XP IMHO.
0
 
LVL 14

Author Comment

by:systan
ID: 34132423
Oh, you will never notice that if you have a fast computer processor and memory, as for me, I have compared them, I have a slow processor(celeron), slow memory(500mbfree).

Ok;

Thank you for the comments, I guess later to close the post.
0
 
LVL 14

Author Closing Comment

by:systan
ID: 34138240
.
0

Featured Post

What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

Join & Write a Comment

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now