Articles   |   Downloads   |   .NET   |   About   |   Contact


Back To


Delphi/.NET Comparison

I used Delphi a lot between 1997 and 2003.  Most developers, who have not used Delphi, are not familiar with the many similarities between Delphi and C#/.NET.  So, I've written this page to highlight some of those similarities.  
Note that this page refers to the Windows versions of Delphi. (There is a .NET version available now too.)
I have also included columns for Java and for (pre-.NET) Visual Basic.  
Feature
Delphi
C#/.NET
Java
Visual Basic (pre .NET)
Company
Borland
Microsoft
Sun
Microsoft
Syntax
Pascal-like
C-like
BASIC-like
Memory Management
Manual
Garbage collection
Automatic,  mostly (always?) by reference counting
Chief Designer
James Gosling
From an idea by Alan Cooper
Language Style
Object Oriented
Single inheritance with interfaces
All objects ultimately derived from one "object" class
"Object Based" but not truly object oriented
Support for Component-Based Development
Direct support for component development since properties and events are supported directly by the language
Properties and events supported indirectly by conventions such as getter and setter naming rules
Pioneered the use of components with "properties, methods and events", however those components were typically developed in other languages.
Strong Type Checking
Yes
Optional
Standard Classes and Components
-Aligned to/influenced by, the Windows API
-Developers may inherit new objects from the standard ones
-"Platform neutral"
-Developers may inherit new objects from the standard ones
-Aligned to the Windows API
-Written in C++
-Developers cannot inherit new objects from the standard ones
Exceptions
Exceptions are objects
"Unchecked" exceptions (i.e. no "throws" clauses)

Exceptions are objects,
No exceptions.  Uses "On Error" instead, which is less powerful and robust.
Direct support for type-safe enums
Yes
No (at least, not yet)
?
Yes
No
N/A
"ref" parameters
Yes
No
Yes
Supports XML and WebServices
Yes
?
Multi-tier "dataset" support
Yes

? (Tends to favour EJB instead)
Via RDO
GUI-layout technique
Via "anchors" and nested panels
Via layout managers
Subset of Delphi/.NET features

For more information on Delphi, see this page.


Page History: Created Nov 04, moved to its current URL 13 Oct 04

                                                                                                                                                                                                                                                                                                           
Copyright (c) 2003-2006, John Rusk.