SlideShare a Scribd company logo
1 of 11
Download to read offline
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 1 of 11




TechRepublic : A ZDNet Tech Community


A developer's hands-on review of Delphi
2010
Date: November 17th, 2009
Author: Justin James
Category: .net, Programming, Web Development
Tags: Developer, IDE, Borland Delphi, Pascal, DataSnap, Touch System, .NET Development,
Programming Languages, Development Tools, Software Development




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                   11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 2 of 11



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




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                   11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 3 of 11




Using IDE Insight to create a form

Figure B




Using IDE Insight to start a for loop




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                   11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 4 of 11



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




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                   11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 5 of 11




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.




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                   11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 6 of 11



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.

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




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                    11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 7 of 11



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 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.

People who read this, also read...
Poll: Have you written a parser or a compiler?
Poll: What is your primary concern when trying a new development technology?
10 signs that you aren't cut out to be a developer
Programming news: Google's Go language, Facebook's API 3.0
How to understand the tenth dimension




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                   11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 8 of 11




Print/View all Posts
Comments on this blog




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                   11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 9 of 11



  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 NEW aideeaidee | 11/18/09

           Well very few are asking for it as a skill in the UK NEW Tony Hopkinson | 11/18/09

              Delphi for .Net is alive and well NEW BruceMcGee | 11/18/09

              Well very few are asking for it as a skill in the UK NEW aideeaidee | 11/18/09

              Which was the last version of Delphi which you saw? NEW
              WoWSupport | 11/18/09
        Hmmmm... NEW WoWSupport | 11/18/09

     API wrapping NEW aikimark@... | 11/17/09

     So JJ...guess what I have on my desk? NEW jck | 11/18/09

        Nice! NEW Justin James | 11/18/09

           Will do my best. NEW jck | 11/18/09

              You won't be disappointed NEW masonwheeler | 11/18/09

  Using Delphi 2005 surfbored | 11/17/09

     From Delphi 2005 ? Tony Hopkinson | 11/17/09

        Delphi 2010 reviews NEW WoWSupport | 11/18/09

  RE: A developer's hands-on review of Delphi 2010 Chas4 | 11/17/09




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                   11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | Tech... Page 10 of 11



   RE: A developer's hands-on review of Delphi 2010 jolyon.smith@... | 11/17/09

      How much of the API gets wrapped by VCL? NEW Justin James | 11/17/09

         One mans "Not Much" is another's "More than enough" NEW
         jolyon.smith@... | 11/18/09
         One mans "Not Much" is another's "More than enough" NEW
         jolyon.smith@... | 11/18/09
      Embarcadero uses CGI NEW aideeaidee | 11/18/09

   RE: A developer's hands-on review of Delphi 2010 NEW programmeroo | 11/17/09

      RE: A developer's hands-on review of Delphi 2010 NEW aideeaidee | 11/18/09

      Because it makes writing good code easier NEW masonwheeler | 11/18/09

      This is not your father's Pascal NEW BruceMcGee | 11/18/09

      Pascal has a number of advantages NEW Justin James | 11/18/09

         hm NEW jck | 11/18/09


My Updates
My Contacts

Would you like your own dynamic Workspace on TechRepublic?


Take two minutes and set up a TechRepublic member profile.




Would you like your own dynamic Workspace on TechRepublic?


Take two minutes and set up a TechRepublic member profile.



Popular on CBS sites: SEC Football | NFL | Video Game Cheats | iPhone | Video Game Reviews
| Notebooks | Antivirus Software




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                  11/18/2009
A developer's hands-on review of Delphi 2010 | Programming and Development | Tech... Page 11 of 11



About CBS Interactive | Jobs | Advertise | Mobile | Site Map

© 2009 CBS Interactive Inc. All rights reserved. | Privacy Policy | Terms of Use




http://blogs.techrepublic.com.com/programming-and-development/?p=1924                  11/18/2009

More Related Content

More from Embarcadero Technologies

Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Embarcadero Technologies
 
Linux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for LinuxLinux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for LinuxEmbarcadero Technologies
 
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Embarcadero Technologies
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...Embarcadero Technologies
 
FMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxFMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxEmbarcadero Technologies
 
Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionEmbarcadero Technologies
 
RAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationRAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationEmbarcadero Technologies
 
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbarcadero Technologies
 
Rad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentRad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentEmbarcadero Technologies
 
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarMove Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarEmbarcadero Technologies
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsEmbarcadero Technologies
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Embarcadero Technologies
 
Agile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessAgile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessEmbarcadero Technologies
 
What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016Embarcadero Technologies
 
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...Embarcadero Technologies
 
RAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixRAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixEmbarcadero Technologies
 
7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data ModelingEmbarcadero Technologies
 

More from Embarcadero Technologies (20)

Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
Android on Windows 11 - A Developer's Perspective (Windows Subsystem For Andr...
 
Linux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for LinuxLinux GUI Applications on Windows Subsystem for Linux
Linux GUI Applications on Windows Subsystem for Linux
 
Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework Python on Android with Delphi FMX - The Cross Platform GUI Framework
Python on Android with Delphi FMX - The Cross Platform GUI Framework
 
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
Introduction to Python GUI development with Delphi for Python - Part 1:   Del...Introduction to Python GUI development with Delphi for Python - Part 1:   Del...
Introduction to Python GUI development with Delphi for Python - Part 1: Del...
 
FMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for LinuxFMXLinux Introduction - Delphi's FireMonkey for Linux
FMXLinux Introduction - Delphi's FireMonkey for Linux
 
Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 2Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 2
 
Python for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 IntroductionPython for Delphi Developers - Part 1 Introduction
Python for Delphi Developers - Part 1 Introduction
 
RAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationRAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and Instrumentation
 
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
 
Rad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentRad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup Document
 
TMS Google Mapping Components
TMS Google Mapping ComponentsTMS Google Mapping Components
TMS Google Mapping Components
 
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarMove Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data Assets
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016
 
Great Scott! Dealing with New Datatypes
Great Scott! Dealing with New DatatypesGreat Scott! Dealing with New Datatypes
Great Scott! Dealing with New Datatypes
 
Agile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessAgile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for Success
 
What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016
 
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
 
RAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixRAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature Matrix
 
7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling
 

Recently uploaded

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

A developer's hands-on review of Delphi 2010

  • 1. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 1 of 11 TechRepublic : A ZDNet Tech Community A developer's hands-on review of Delphi 2010 Date: November 17th, 2009 Author: Justin James Category: .net, Programming, Web Development Tags: Developer, IDE, Borland Delphi, Pascal, DataSnap, Touch System, .NET Development, Programming Languages, Development Tools, Software Development http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 2. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 2 of 11 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 http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 3. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 3 of 11 Using IDE Insight to create a form Figure B Using IDE Insight to start a for loop http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 4. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 4 of 11 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 http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 5. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 5 of 11 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. http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 6. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 6 of 11 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. ————————————————————————————— http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 7. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 7 of 11 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 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. People who read this, also read... Poll: Have you written a parser or a compiler? Poll: What is your primary concern when trying a new development technology? 10 signs that you aren't cut out to be a developer Programming news: Google's Go language, Facebook's API 3.0 How to understand the tenth dimension http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 8. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 8 of 11 Print/View all Posts Comments on this blog http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 9. A developer's hands-on review of Delphi 2010 | Programming and Development | TechRe... Page 9 of 11 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 NEW aideeaidee | 11/18/09 Well very few are asking for it as a skill in the UK NEW Tony Hopkinson | 11/18/09 Delphi for .Net is alive and well NEW BruceMcGee | 11/18/09 Well very few are asking for it as a skill in the UK NEW aideeaidee | 11/18/09 Which was the last version of Delphi which you saw? NEW WoWSupport | 11/18/09 Hmmmm... NEW WoWSupport | 11/18/09 API wrapping NEW aikimark@... | 11/17/09 So JJ...guess what I have on my desk? NEW jck | 11/18/09 Nice! NEW Justin James | 11/18/09 Will do my best. NEW jck | 11/18/09 You won't be disappointed NEW masonwheeler | 11/18/09 Using Delphi 2005 surfbored | 11/17/09 From Delphi 2005 ? Tony Hopkinson | 11/17/09 Delphi 2010 reviews NEW WoWSupport | 11/18/09 RE: A developer's hands-on review of Delphi 2010 Chas4 | 11/17/09 http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 10. A developer's hands-on review of Delphi 2010 | Programming and Development | Tech... Page 10 of 11 RE: A developer's hands-on review of Delphi 2010 jolyon.smith@... | 11/17/09 How much of the API gets wrapped by VCL? NEW Justin James | 11/17/09 One mans "Not Much" is another's "More than enough" NEW jolyon.smith@... | 11/18/09 One mans "Not Much" is another's "More than enough" NEW jolyon.smith@... | 11/18/09 Embarcadero uses CGI NEW aideeaidee | 11/18/09 RE: A developer's hands-on review of Delphi 2010 NEW programmeroo | 11/17/09 RE: A developer's hands-on review of Delphi 2010 NEW aideeaidee | 11/18/09 Because it makes writing good code easier NEW masonwheeler | 11/18/09 This is not your father's Pascal NEW BruceMcGee | 11/18/09 Pascal has a number of advantages NEW Justin James | 11/18/09 hm NEW jck | 11/18/09 My Updates My Contacts Would you like your own dynamic Workspace on TechRepublic? Take two minutes and set up a TechRepublic member profile. Would you like your own dynamic Workspace on TechRepublic? Take two minutes and set up a TechRepublic member profile. Popular on CBS sites: SEC Football | NFL | Video Game Cheats | iPhone | Video Game Reviews | Notebooks | Antivirus Software http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009
  • 11. A developer's hands-on review of Delphi 2010 | Programming and Development | Tech... Page 11 of 11 About CBS Interactive | Jobs | Advertise | Mobile | Site Map © 2009 CBS Interactive Inc. All rights reserved. | Privacy Policy | Terms of Use http://blogs.techrepublic.com.com/programming-and-development/?p=1924 11/18/2009