Solved

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

Posted on 2010-11-13
14
1,273 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 32

Assisted Solution

by:Ephraim Wangoya
Ephraim Wangoya 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
 
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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
FMX and jaudiotracker playing memory stream 29 98
Delphi Yen format 3 61
Tvertscrollbox like a whatsapp layout delete messages 1 38
delphi popmenu non latine charcters 3 33
Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

749 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