TechRepublic : A ZDNet Tech Community

Programming and Development

Host: Justin James
Contact

According to Justin James, .NET and Visual C++ developers should check out Embarcadero’s Delphi 2010 — as long as they don’t mind learning a new system, a new language, and a new way of doing things.

———————————————————————————–

Embarcadero Technologies recently released Delphi 2010. Embarcadero provided me with a review copy of Delphi 2010 and, after a bit of experimentation on my own, I spent some time with Embarcadero’s Mike Rozlog, who took me on a whirlwind tour of the feature set. Overall, I like what I saw.

Feature set

I loved Delphi version 1 when I first used it nearly 15 years ago — perhaps it was because Pascal was the first language I used that I really liked. Sitting down with Delphi 2010, the old memory banks fired up, and after about 15 minutes, I remembered enough Pascal to hobble along. What really struck me about the Delphi system is that as an IDE it is extraordinarily productive. Its feature set felt very much like Visual Studio 2008 with ReSharper added on top, which is a great experience.

IDE Insight
Even better, the good folks at Embarcadero came up with a brilliant idea called IDE Insight. It is like IntelliSense (or the Windows Start Menu search system) is applied to the entire IDE. Just press [F6] and start typing what you want to do, and a list of choices comes up and gets narrower as you type. For example, if you’re editing a form, press [F6] and start typing TButton, and you will see the TButton class appear in the list. If you hit [Enter], then bang! a new button gets dropped onto your form. Want to add a new form to your project? Press [F6] again and type TForm as the text (Figure A). In a code editor, you can do all sorts of cool things with IDE Insight. For example, [F6] + for will drop a for loop right in (Figure B). I know this sounds like such a minor item, but it really does speed things up. Developers who prefer to not take their hands off of the keyboard will really appreciate the keyboard-driven productivity of IDE Insight.

Figure A

Using IDE Insight to create a form

Figure B

Using IDE Insight to start a for loop

DataSnap
Another item that I really like is DataSnap, which is similar to WCF in concept, but in execution, it feels much smoother. WCF (as of this time) still requires an awful lot of manual plumbing; DataSnap is a more mature technology with the tools in place to rapidly create a service or a consumer. DataSnap feels much more polished than WCF and produces JSON output, which means that non-Delphi sources can consume it as well. (Figure C)

Figure C

Creating a new DataSnap Server

Support
Delphi 2010 supports all sorts of new goodies, including multi-touch and gestures. By beating Visual Studio 2010 to market by nearly six months (assuming Microsoft hits its March 22, 2010 RTM for Visual Studio 2010), Delphi developers get the chance to be first to market with apps that use the “latest and greatest.” This is great news for developers targeting kiosks, tablet PCs, and other scenarios that use touch interfaces. The touch system is designed to degrade gracefully on operating systems that do not support it, too.

Debugging
Delphi 2010 has good tools for debugging multithreaded applications, which is an increasingly important item; it shows each running thread and provides the ability to freeze and thaw each thread, as well as view the source for a thread and switch to a thread in debug mode. (Figure D)

Figure D

Importing a WSDL with Delphi 2010

Web development

I found Web development in Delphi 2010 to be a touch frustrating on my Windows 7 machine. Windows 7 applies a strict permissions model to IIS, and the IIS 7.X management tool makes you work a bit too hard to do what needs to be done to make a Delphi Web app run (Embarcadero uses the CGI model). Once I jumped through the hurdles, it made sense. I feel confident that these difficulties will be resolved soon; Mike took copious notes while I walked him through how I solved the problem.

Comparisons
I’m sure that a lot of readers are probably looking for a comparison to other IDEs. Comparisons are tempting, but there is also a huge danger when comparing, say, Visual Studio 2008 to Delphi 2010, which is confusing the languages, the libraries, and the IDEs. So, I’ll be as precise and specific as I can.

When I was evaluating Delphi 2010, there was never a point when I wondered why such-and-such feature was omitted. And as already mentioned, the IDE Insight system blew my mind. Even other Delphi developers are going to take some time getting used to it; watching Mike do his demo, he kept forgetting about it. But as I followed along, I found myself constantly waiting for him to catch up because I was using it and he was not. For someone in a heads-down mode, IDE Insight rocks.

When I was comparing Delphi 2010 to Visual Studio 2008, I found a massive difference of opinion regarding development. Delphi is a tool for writing native applications, and as a result, you are expected to work with native APIs. .NET development encapsulates most of the functionality of the Windows API (and other native APIs like GDI+) into the massive .NET Framework, providing easy access and consistency.

If you really like low-level access to the system and a “nothing but what I specify” approach to what ends up being compiled into your code, you will love Delphi’s attitude; but if you do not feel comfortable with the native APIs, you will probably be frustrated by Delphi.

I admit that I have become very, very spoiled by the .NET Framework, and it was a tough transition for me to work on even a simple application in Delphi because so much of what I expect to be in the standard library wasn’t there. But if I were a C++ or a VB6 developer, I would feel right at home. This is not a criticism of Delphi in the slightest; some people love working like this, and it is merely a matter of personal opinion.

Pascal
The other thing that struck me is that the Pascal language that I loved years ago felt very strange to me. When I first learned Pascal, I was coming from COBOL and BASIC, and Pascal felt very fluid and smooth. But now, Pascal feels a bit odd to me, like having to declare function prototypes before actually implementing the function. Again, this is 100% a matter of opinion, and there is nothing to criticize or applaud here. But be aware, you probably are not going to be able to just pick up a demo copy of Delphi 2010 coming from a VB.NET, C#, or Java background, play around with it for a few hours, and feel comfortable or be terribly effective. That said, you can’t exactly go from Java and Eclipse to C# and Visual Studio and be effective either, despite the surface similarities between language syntaxes and frameworks.

Summary

If you want to do Windows development, and you want to work with native code in a native style, I think that Delphi 2010 is a very productive tool. It combines a lot that really saves time (such as DataSnap and IDE Insight) with the power and flexibility of native code. If you need support for certain functionality (especially touch-related items), it is the only shipping product on the market that does these things.

Every time I work with the Embarcadero team, I feel like they are writing the tools that they would love to use; they really are “developers’ developers,” and they understand the development process very well and implement it as tools quite nicely.

If you don’t mind learning a new system, a new language, and a new way of doing things, Delphi 2010 is worth a long look for .NET and Visual C++ developers.

J.Ja

Disclosure of Justin’s industry affiliations: Justin James has a contract with Spiceworks to write product buying guides. He is also under contract to OpenAmplify, which is owned by Hapax, to write a series of blogs, tutorials, and other articles.

—————————————————————————————

Get weekly development tips in your inbox
Keep your developer skills sharp by signing up for TechRepublic’s free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

Justin JamesJustin James is an employee of Levit & James, Inc. in a multidisciplinary role that combines programming, network management, and systems administration. He has been blogging at TechRepublic since 2005. Read his full bio and profile.

Print/View all Posts Comments on this blog

Would you give Delphi 2010 a try? Justin James | 11/17/09
Nostalgia, nostalgia ... sirl@... | 11/17/09
RE: Do I Miss Pascal? salinaspaul@... | 11/17/09
Loved Delphi! tkofford | 11/17/09
No it's Dee ee ay dee dead Tony Hopkinson | 11/17/09
No it's not Dee ee ay dee dead aideeaidee | 11/18/09
Well very few are asking for it as a skill in the UK Tony Hopkinson | 11/18/09
Delphi for .Net is alive and well BruceMcGee | 11/18/09
Even with MS's help Tony Hopkinson | 11/18/09
Uh? aideeaidee | 11/19/09
1400 quid, didn't work, they refused to fix it Tony Hopkinson | 11/19/09
Delphi and Delphi for .Net are alive and well BruceMcGee | 11/20/09
Those who refuse to learn from history are Tony Hopkinson | 11/22/09
Well very few are asking for it as a skill in the UK aideeaidee | 11/18/09
Which was the last version of Delphi which you saw? WoWSupport | 11/18/09
Still on D2005 with it's flakey IDE Tony Hopkinson | 11/18/09
Hmmmm... WoWSupport | 11/18/09
Too late. Move to net decision Tony Hopkinson | 11/18/09
API wrapping aikimark@... | 11/17/09
So JJ...guess what I have on my desk? jck | 11/18/09
Nice! Justin James | 11/18/09
Will do my best. jck | 11/18/09
You won't be disappointed masonwheeler | 11/18/09
Already in disappointment land... jck | 11/19/09
That's odd Justin James | 11/19/09
Discovered why... jck | 11/20/09
Probably when doing Win32 programming benjnunez@... | 11/18/09
Using Delphi 2005 surfbored | 11/17/09
From Delphi 2005 ? Tony Hopkinson | 11/17/09
Delphi 2010 reviews WoWSupport | 11/18/09
Have you used D2005 ? Tony Hopkinson | 11/18/09
RE: A developer's hands-on review of Delphi 2010 Chas4 | 11/17/09
RE: A developer's hands-on review of Delphi 2010 jolyon.smith@... | 11/17/09
How much of the API gets wrapped by VCL? Justin James | 11/17/09
One mans "Not Much" is another's "More than enough" jolyon.smith@... | 11/18/09
Good point, but... Justin James | 11/18/09
One mans "Not Much" is another's "More than enough" jolyon.smith@... | 11/18/09
That's always been the problem Tony Hopkinson | 11/18/09
Embarcadero uses CGI aideeaidee | 11/18/09
RE: A developer's hands-on review of Delphi 2010 programmeroo | 11/17/09
RE: A developer's hands-on review of Delphi 2010 aideeaidee | 11/18/09
Because it makes writing good code easier masonwheeler | 11/18/09
This is not your father's Pascal BruceMcGee | 11/18/09
Pascal has a number of advantages Justin James | 11/18/09
hm jck | 11/18/09
Pointer wise I can't think of anything Tony Hopkinson | 11/18/09

What do you think?

White Papers, Webcasts, and Downloads

Recent Entries

TR on Twitter

Archives

TechRepublic Blogs



Quick Reference: Linux Commands
Reduce stress and speed up resolutions with the easiest command references right at your fingertips. You'll receive a PDF file covering Linux, packed with the most common commands you'll need and use daily.
Buy Now
500 Things Every Technology Professional Needs to Know
Did you know Microsoft's RegClean does not work with XP but you can use shareware to clean your registry? Did you know most wireless access points don't have encryption enabled by default? Did you know there are 500 tidbits of information contained in TechRepublic's 500 Things Every Technology Professional Needs to Know that will help you become a successful IT professional.
Buy Now

SmartPlanet

Click Here